Return-Path: Delivered-To: apmail-felix-commits-archive@www.apache.org Received: (qmail 64103 invoked from network); 9 Jan 2011 03:25:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 9 Jan 2011 03:25:42 -0000 Received: (qmail 99770 invoked by uid 500); 9 Jan 2011 03:25:42 -0000 Delivered-To: apmail-felix-commits-archive@felix.apache.org Received: (qmail 99676 invoked by uid 500); 9 Jan 2011 03:25:42 -0000 Mailing-List: contact commits-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list commits@felix.apache.org Received: (qmail 99667 invoked by uid 99); 9 Jan 2011 03:25:41 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 09 Jan 2011 03:25:41 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 09 Jan 2011 03:25:39 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 0FF3B23889DD; Sun, 9 Jan 2011 03:25:18 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1056878 - /felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/ServletHandler.java Date: Sun, 09 Jan 2011 03:25:17 -0000 To: commits@felix.apache.org From: fmeschbe@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110109032518.0FF3B23889DD@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: fmeschbe Date: Sun Jan 9 03:25:17 2011 New Revision: 1056878 URL: http://svn.apache.org/viewvc?rev=1056878&view=rev Log: FELIX-2768 Preset 403/FORBIDDEN response before calling HttpContext.handleSecurity instead of sendError after handleSecurity. This presets a sensible status if handleSecurity does not do it but does not overwrite the handleSecurity response if handleSecurity does not flush the buffer Modified: felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/ServletHandler.java Modified: felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/ServletHandler.java URL: http://svn.apache.org/viewvc/felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/ServletHandler.java?rev=1056878&r1=1056877&r2=1056878&view=diff ============================================================================== --- felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/ServletHandler.java (original) +++ felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/ServletHandler.java Sun Jan 9 03:25:17 2011 @@ -85,11 +85,14 @@ public final class ServletHandler private void doHandle(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { - if (!getContext().handleSecurity(req, res)) { - if (!res.isCommitted()) { - res.sendError(HttpServletResponse.SC_FORBIDDEN); - } - } else { + // set a sensible status code in case handleSecurity returns false + // but fails to send a response + res.setStatus(HttpServletResponse.SC_FORBIDDEN); + if (getContext().handleSecurity(req, res)) + { + // reset status to OK for further processing + res.setStatus(HttpServletResponse.SC_OK); + this.servlet.service(new ServletHandlerRequest(req, this.alias), res); } }