Author: cziegeler
Date: Mon Oct  2 14:21:01 2017
New Revision: 1810359

URL: http://svn.apache.org/viewvc?rev=1810359&view=rev
Log:
Fix permission checking

Modified:
    
felix/trunk/osgi-r7/http/base/src/main/java/org/apache/felix/http/base/internal/handler/WhiteboardServletHandler.java
    
felix/trunk/osgi-r7/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/ServletContextHelperInfo.java
    
felix/trunk/osgi-r7/http/base/src/main/java/org/apache/felix/http/base/internal/whiteboard/WhiteboardManager.java

Modified: 
felix/trunk/osgi-r7/http/base/src/main/java/org/apache/felix/http/base/internal/handler/WhiteboardServletHandler.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/osgi-r7/http/base/src/main/java/org/apache/felix/http/base/internal/handler/WhiteboardServletHandler.java?rev=1810359&r1=1810358&r2=1810359&view=diff
==============================================================================
--- 
felix/trunk/osgi-r7/http/base/src/main/java/org/apache/felix/http/base/internal/handler/WhiteboardServletHandler.java
 (original)
+++ 
felix/trunk/osgi-r7/http/base/src/main/java/org/apache/felix/http/base/internal/handler/WhiteboardServletHandler.java
 Mon Oct  2 14:21:01 2017
@@ -42,11 +42,12 @@ public final class WhiteboardServletHand
     public WhiteboardServletHandler(final long contextServiceId,
             final ExtServletContext context,
             final ServletInfo servletInfo,
-            final BundleContext bundleContext,
+            final BundleContext contextBundleContext,
+            final Bundle registeringBundle,
             final Bundle httpWhiteboardBundle)
     {
         super(contextServiceId, context, servletInfo);
-        this.bundleContext = bundleContext;
+        this.bundleContext = contextBundleContext;
         int errorCode = -1;
         if ( this.getMultipartConfig() != null && System.getSecurityManager() 
!= null )
         {
@@ -62,7 +63,7 @@ public final class WhiteboardServletHand
                 else
                 {
                     final FilePermission readPerm = new 
FilePermission(this.getMultipartConfig().multipartLocation, "read");
-                    if ( !bundleContext.getBundle().hasPermission(readPerm) )
+                    if ( !registeringBundle.hasPermission(readPerm) )
                     {
                         errorCode = 
DTOConstants.FAILURE_REASON_SERVLET_READ_FROM_DEFAULT_DENIED;
                     }
@@ -70,9 +71,9 @@ public final class WhiteboardServletHand
             }
             else
             {
-                multipartSecurityContext = bundleContext.getBundle();
+                multipartSecurityContext = registeringBundle;
                 // provided location
-                if ( !bundleContext.getBundle().hasPermission(writePerm) )
+                if ( !registeringBundle.hasPermission(writePerm) )
                 {
                     errorCode = 
DTOConstants.FAILURE_REASON_SERVLET_WRITE_TO_LOCATION_DENIED;
                 }

Modified: 
felix/trunk/osgi-r7/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/ServletContextHelperInfo.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/osgi-r7/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/ServletContextHelperInfo.java?rev=1810359&r1=1810358&r2=1810359&view=diff
==============================================================================
--- 
felix/trunk/osgi-r7/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/ServletContextHelperInfo.java
 (original)
+++ 
felix/trunk/osgi-r7/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/ServletContextHelperInfo.java
 Mon Oct  2 14:21:01 2017
@@ -33,11 +33,6 @@ import org.osgi.service.http.whiteboard.
 public final class ServletContextHelperInfo extends 
AbstractInfo<ServletContextHelper>
 {
 
-    /**
-     * Properties starting with this prefix are passed as context init 
parameters.
-     */
-    private static final String CONTEXT_INIT_PREFIX = "context.init.";
-
     private final String name;
 
     private final String path;
@@ -52,7 +47,7 @@ public final class ServletContextHelperI
         super(ref);
         this.name = this.getStringProperty(ref, 
HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME);
         this.path = this.getStringProperty(ref, 
HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH);
-        this.initParams = getInitParams(ref, CONTEXT_INIT_PREFIX);
+        this.initParams = getInitParams(ref, 
HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_INIT_PARAM_PREFIX);
     }
 
     public ServletContextHelperInfo(final int serviceRanking,

Modified: 
felix/trunk/osgi-r7/http/base/src/main/java/org/apache/felix/http/base/internal/whiteboard/WhiteboardManager.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/osgi-r7/http/base/src/main/java/org/apache/felix/http/base/internal/whiteboard/WhiteboardManager.java?rev=1810359&r1=1810358&r2=1810359&view=diff
==============================================================================
--- 
felix/trunk/osgi-r7/http/base/src/main/java/org/apache/felix/http/base/internal/whiteboard/WhiteboardManager.java
 (original)
+++ 
felix/trunk/osgi-r7/http/base/src/main/java/org/apache/felix/http/base/internal/whiteboard/WhiteboardManager.java
 Mon Oct  2 14:21:01 2017
@@ -782,6 +782,7 @@ public final class WhiteboardManager
                         servletContext,
                         (ServletInfo)info,
                         handler.getBundleContext(),
+                        info.getServiceReference().getBundle(),
                         this.httpBundleContext.getBundle());
                     handler.getRegistry().registerServlet(servletHandler);
                 }


Reply via email to