juergen     01/07/12 05:13:49

  Modified:    src/webdav/server/org/apache/slide/webdav/method
                        GetMethod.java OptionsMethod.java
                        PropFindMethod.java
               src/webdav/server/org/apache/slide/webdav WebdavServlet.java
  Log:
  if security is switched off in slide.properties then no acl specific data is created 
at e.g. propFind. This will solve the ugly directory dupplication at WebDrive. They 
are working to get a version working with ACL.
  
  Revision  Changes    Path
  1.11      +7 -5      
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/GetMethod.java
  
  Index: GetMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/GetMethod.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- GetMethod.java    2001/06/13 04:34:09     1.10
  +++ GetMethod.java    2001/07/12 12:13:21     1.11
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/GetMethod.java,v
 1.10 2001/06/13 04:34:09 remm Exp $
  - * $Revision: 1.10 $
  - * $Date: 2001/06/13 04:34:09 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/GetMethod.java,v
 1.11 2001/07/12 12:13:21 juergen Exp $
  + * $Revision: 1.11 $
  + * $Date: 2001/07/12 12:13:21 $
    *
    * ====================================================================
    *
  @@ -418,7 +418,8 @@
           }
           
           // Displaying ACL info
  -        displayPermissions(permissionsList, writer, false);
  +        if( org.apache.slide.util.Configuration.useIntegratedSecurity() )
  +            displayPermissions(permissionsList, writer, false);
           
           // Displaying lock info
           displayLocks(locksList, writer, false);
  @@ -531,7 +532,8 @@
               writer.print("</tr>\r\n");
               
               // Displaying ACL info
  -            displayPermissions(permissionsList, writer, shade);
  +            if( org.apache.slide.util.Configuration.useIntegratedSecurity() )
  +                displayPermissions(permissionsList, writer, shade);
               
               // Displaying lock info
               displayLocks(locksList, writer, shade);
  
  
  
  1.6       +29 -25    
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/OptionsMethod.java
  
  Index: OptionsMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/OptionsMethod.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- OptionsMethod.java        2001/03/23 05:08:30     1.5
  +++ OptionsMethod.java        2001/07/12 12:13:24     1.6
  @@ -1,13 +1,13 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/OptionsMethod.java,v
 1.5 2001/03/23 05:08:30 remm Exp $
  - * $Revision: 1.5 $
  - * $Date: 2001/03/23 05:08:30 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/OptionsMethod.java,v
 1.6 2001/07/12 12:13:24 juergen Exp $
  + * $Revision: 1.6 $
  + * $Date: 2001/07/12 12:13:24 $
    *
    * ====================================================================
    *
    * The Apache Software License, Version 1.1
    *
  - * Copyright (c) 1999 The Apache Software Foundation.  All rights 
  + * Copyright (c) 1999 The Apache Software Foundation.  All rights
    * reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -15,7 +15,7 @@
    * are met:
    *
    * 1. Redistributions of source code must retain the above copyright
  - *    notice, this list of conditions and the following disclaimer. 
  + *    notice, this list of conditions and the following disclaimer.
    *
    * 2. Redistributions in binary form must reproduce the above copyright
    *    notice, this list of conditions and the following disclaimer in
  @@ -23,15 +23,15 @@
    *    distribution.
    *
    * 3. The end-user documentation included with the redistribution, if
  - *    any, must include the following acknowlegement:  
  - *       "This product includes software developed by the 
  + *    any, must include the following acknowlegement:
  + *       "This product includes software developed by the
    *        Apache Software Foundation (http://www.apache.org/)."
    *    Alternately, this acknowlegement may appear in the software itself,
    *    if and wherever such third-party acknowlegements normally appear.
    *
    * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
    *    Foundation" must not be used to endorse or promote products derived
  - *    from this software without prior written permission. For written 
  + *    from this software without prior written permission. For written
    *    permission, please contact [EMAIL PROTECTED]
    *
    * 5. Products derived from this software may not be called "Apache"
  @@ -59,7 +59,7 @@
    *
    * [Additional notices, if required by prior licensing conditions]
    *
  - */ 
  + */
   
   package org.apache.slide.webdav.method;
   
  @@ -79,7 +79,7 @@
   
   /**
    * OPTIONS Method.
  - * 
  + *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Remy Maucherat</a>
    */
   public class OptionsMethod extends WebdavMethod {
  @@ -88,40 +88,44 @@
       // ----------------------------------------------------------- Constructors
       
       
  -    public OptionsMethod(GenericServlet servlet, NamespaceAccessToken token, 
  +    public OptionsMethod(GenericServlet servlet, NamespaceAccessToken token,
                            HttpServletRequest req, HttpServletResponse resp) {
  -     super(servlet, token, req, resp);
  +    super(servlet, token, req, resp);
       }
       
  -    protected void parseRequest() 
  -     throws WebdavException {
  +    protected void parseRequest()
  +    throws WebdavException {
       }
       
  -    protected void executeRequest() 
  -     throws WebdavException {
  -     resp.addHeader("DAV", "1, 2, slide, access-control");
  +    protected void executeRequest()
  +    throws WebdavException {
           
  -     String resourceUri = requestUri;
  -     if (resourceUri == null) {
  -         resourceUri = "/";
  -     }
  +    if( org.apache.slide.util.Configuration.useIntegratedSecurity() )
  +        resp.addHeader("DAV", "1, 2, slide, access-control");
  +    else
  +        resp.addHeader("DAV", "1, 2, slide");
  +        
  +    String resourceUri = requestUri;
  +    if (resourceUri == null) {
  +        resourceUri = "/";
  +    }
           
           String methodsAllowed = null;
           
           try {
  -            NodeRevisionDescriptors revisionDescriptors = 
  +            NodeRevisionDescriptors revisionDescriptors =
                   content.retrieve(slideToken, resourceUri);
  -            NodeRevisionDescriptor revisionDescriptor = 
  +            NodeRevisionDescriptor revisionDescriptor =
                   content.retrieve(slideToken, revisionDescriptors);
               boolean isCollection = isCollection(revisionDescriptor);
  -            methodsAllowed = "OPTIONS, GET, HEAD, POST, DELETE, TRACE, " 
  +            methodsAllowed = "OPTIONS, GET, HEAD, POST, DELETE, TRACE, "
                   + "PROPFIND, PROPPATCH, COPY, MOVE, LOCK, UNLOCK";
               if (!isCollection) {
                   methodsAllowed = methodsAllowed + ", PUT";
               }
           } catch (SlideException e) {
               if (resourceUri.equals("/")) {
  -                methodsAllowed = "OPTIONS, GET, HEAD, POST, DELETE, TRACE, " 
  +                methodsAllowed = "OPTIONS, GET, HEAD, POST, DELETE, TRACE, "
                       + "PROPFIND, PROPPATCH, COPY, MOVE, LOCK, UNLOCK";
               } else {
                   methodsAllowed = "OPTIONS, MKCOL, PUT, LOCK";
  
  
  
  1.27      +63 -55    
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java
  
  Index: PropFindMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- PropFindMethod.java       2001/07/11 21:07:52     1.26
  +++ PropFindMethod.java       2001/07/12 12:13:27     1.27
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java,v
 1.26 2001/07/11 21:07:52 dirkv Exp $
  - * $Revision: 1.26 $
  - * $Date: 2001/07/11 21:07:52 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java,v
 1.27 2001/07/12 12:13:27 juergen Exp $
  + * $Revision: 1.27 $
  + * $Date: 2001/07/12 12:13:27 $
    *
    * ====================================================================
    *
  @@ -663,11 +663,13 @@
                                         XMLPrinter.CLOSING);
               
               // WebDAV ACL
  -            showSupportedPrivilegeSet(generatedXML);
  -            showCurrentUserPrivilegeSet(object, generatedXML);
  -            showAcl(object, generatedXML);
  -            showAclSemantics(generatedXML);
  -            showPrincipalCollectionSet(generatedXML);
  +            if( org.apache.slide.util.Configuration.useIntegratedSecurity() ) {
  +                showSupportedPrivilegeSet(generatedXML);
  +                showCurrentUserPrivilegeSet(object, generatedXML);
  +                showAcl(object, generatedXML);
  +                showAclSemantics(generatedXML);
  +                showPrincipalCollectionSet(generatedXML);
  +            }
               
               // Other properties
               Enumeration propertyList =
  @@ -727,18 +729,19 @@
                                         XMLPrinter.NO_CONTENT);
               
               // WebDAV ACL
  -            
  -            generatedXML.writeElement(null, "owner", XMLPrinter.NO_CONTENT);
  -            generatedXML.writeElement(null, "supported-privilege-set",
  -                                      XMLPrinter.NO_CONTENT);
  -            generatedXML.writeElement(null, "current-user-privilege-set",
  -                                      XMLPrinter.NO_CONTENT);
  -            generatedXML.writeElement(null, "acl",
  -                                      XMLPrinter.NO_CONTENT);
  -            generatedXML.writeElement(null, ACL_SEMANTICS,
  -                                      XMLPrinter.NO_CONTENT);
  -            generatedXML.writeElement(null, PRINCIPAL_COLLECTION_SET,
  -                                      XMLPrinter.NO_CONTENT);
  +            if( org.apache.slide.util.Configuration.useIntegratedSecurity() ) {
  +                generatedXML.writeElement(null, "owner", XMLPrinter.NO_CONTENT);
  +                generatedXML.writeElement(null, "supported-privilege-set",
  +                                          XMLPrinter.NO_CONTENT);
  +                generatedXML.writeElement(null, "current-user-privilege-set",
  +                                          XMLPrinter.NO_CONTENT);
  +                generatedXML.writeElement(null, "acl",
  +                                          XMLPrinter.NO_CONTENT);
  +                generatedXML.writeElement(null, ACL_SEMANTICS,
  +                                          XMLPrinter.NO_CONTENT);
  +                generatedXML.writeElement(null, PRINCIPAL_COLLECTION_SET,
  +                                          XMLPrinter.NO_CONTENT);
  +            }
               
               // Then, add this resource's custom properties
               propertyList = revisionDescriptor.enumerateProperties();
  @@ -805,23 +808,28 @@
                              (propertyNamespace.equals
                               (NodeProperty.DEFAULT_NAMESPACE))) {
                       // WebDAV ACL
  -                    showSupportedPrivilegeSet(generatedXML);
  +                    if( org.apache.slide.util.Configuration.useIntegratedSecurity() 
)
  +                        showSupportedPrivilegeSet(generatedXML);
                   } else if ((propertyName.equals(CURRENT_USER_PRIVILEGE_SET)) &&
                              (propertyNamespace.equals
                               (NodeProperty.DEFAULT_NAMESPACE))) {
  -                    showCurrentUserPrivilegeSet(object, generatedXML);
  +                    if( org.apache.slide.util.Configuration.useIntegratedSecurity() 
)
  +                        showCurrentUserPrivilegeSet(object, generatedXML);
                   } else if ((propertyName.equals("acl")) &&
                              (propertyNamespace.equals
                               (NodeProperty.DEFAULT_NAMESPACE))) {
  -                    showAcl(object, generatedXML);
  +                    if( org.apache.slide.util.Configuration.useIntegratedSecurity() 
)
  +                        showAcl(object, generatedXML);
                   } else if ((propertyName.equals(ACL_SEMANTICS)) &&
                              (propertyNamespace.equals
                               (NodeProperty.DEFAULT_NAMESPACE))) {
  -                    showAclSemantics(generatedXML);
  +                    if( org.apache.slide.util.Configuration.useIntegratedSecurity() 
)
  +                        showAclSemantics(generatedXML);
                   } else if ((propertyName.equals(PRINCIPAL_COLLECTION_SET)) &&
                              (propertyNamespace.equals
                               (NodeProperty.DEFAULT_NAMESPACE))) {
  -                    showPrincipalCollectionSet(generatedXML);
  +                    if( org.apache.slide.util.Configuration.useIntegratedSecurity() 
)
  +                        showPrincipalCollectionSet(generatedXML);
                   } else {
                       
                       // Search in the custom properties
  @@ -1259,17 +1267,17 @@
           String removeObjectUri = config.getRemoveObjectAction().getUri();
           String lockObjectUri = config.getLockObjectAction().getUri();
           String readLocksUri = config.getReadLocksAction().getUri();
  -        String createRevisionMetadataUri = 
  +        String createRevisionMetadataUri =
               config.getCreateRevisionMetadataAction().getUri();
  -        String modifyRevisionMetadataUri = 
  +        String modifyRevisionMetadataUri =
               config.getModifyRevisionMetadataAction().getUri();
  -        String removeRevisionMetadataUri = 
  +        String removeRevisionMetadataUri =
               config.getRemoveRevisionMetadataAction().getUri();
  -        String createRevisionContentUri = 
  +        String createRevisionContentUri =
               config.getCreateRevisionContentAction().getUri();
  -        String modifyRevisionContentUri = 
  +        String modifyRevisionContentUri =
               config.getModifyRevisionContentAction().getUri();
  -        String removeRevisionContentUri = 
  +        String removeRevisionContentUri =
               config.getRemoveRevisionContentAction().getUri();
           
           // read-acl
  @@ -1277,7 +1285,7 @@
           
           // write-acl
           String grantPermissionUri = config.getGrantPermissionAction().getUri();
  -        String revokePermissionUri = 
  +        String revokePermissionUri =
               config.getRevokePermissionAction().getUri();
           
           ObjectNode current = object;
  @@ -1308,18 +1316,18 @@
                       
                       // read
                       boolean isReadObject = readObjectUri.startsWith(action);
  -                    boolean isReadRevisionMetadata = 
  +                    boolean isReadRevisionMetadata =
                           readRevisionMetadataUri.startsWith(action);
  -                    boolean isReadRevisionContent = 
  +                    boolean isReadRevisionContent =
                           readRevisionContentUri.startsWith(action);
                       
                       boolean isRead = isReadObject && isReadRevisionMetadata
                           && isReadRevisionContent;
                       
                       // write
  -                    boolean isCreateObject = 
  +                    boolean isCreateObject =
                           createObjectUri.startsWith(action);
  -                    boolean isRemoveObject = 
  +                    boolean isRemoveObject =
                           removeObjectUri.startsWith(action);
                       boolean isLockObject = lockObjectUri.startsWith(action);
                       boolean isReadLocks = readLocksUri.startsWith(action);
  @@ -1344,18 +1352,18 @@
                           && isRemoveRevisionContent;
                       
                       //read-acl
  -                    boolean isReadPermissions = 
  +                    boolean isReadPermissions =
                           readPermissionsUri.startsWith(action);
                       
                       boolean isReadAcl = isReadPermissions;
                       
                       // write-acl
  -                    boolean isGrantPermission = 
  +                    boolean isGrantPermission =
                           grantPermissionUri.startsWith(action);
                       boolean isRevokePermission =
                           revokePermissionUri.startsWith(action);
                       
  -                    boolean isWriteAcl = 
  +                    boolean isWriteAcl =
                           isGrantPermission && isRevokePermission;
                       
                       boolean isAll = isRead && isWrite && isReadAcl 
  @@ -1366,10 +1374,10 @@
                       writePrincipal(generatedXML, principal);
                       
                       if (permission.isNegative()) {
  -                        generatedXML.writeElement(null, DENY, 
  +                        generatedXML.writeElement(null, DENY,
                                                     XMLPrinter.OPENING);
                       } else {
  -                        generatedXML.writeElement(null, GRANT, 
  +                        generatedXML.writeElement(null, GRANT,
                                                     XMLPrinter.OPENING);
                       }
                       
  @@ -1400,10 +1408,10 @@
                                   writePrivilege(generatedXML, 
                                                  "remove-object", false);
                               if (isLockObject)
  -                                writePrivilege(generatedXML, 
  +                                writePrivilege(generatedXML,
                                                  "lock-object", false);
                               if (isReadLocks)
  -                                writePrivilege(generatedXML, 
  +                                writePrivilege(generatedXML,
                                                  "read-locks", false);
                               if (isCreateRevisionMetadata)
                                   writePrivilege(generatedXML, 
  @@ -1437,33 +1445,33 @@
                               writePrivilege(generatedXML, "write-acl", true);
                           } else {
                               if (isGrantPermission)
  -                                writePrivilege(generatedXML, 
  +                                writePrivilege(generatedXML,
                                                  "grant-permission", false);
                               if (isRevokePermission)
  -                                writePrivilege(generatedXML, 
  +                                writePrivilege(generatedXML,
                                                  "revoke-permission", false);
                           }
                       }
                       
                       if (permission.isNegative()) {
  -                        generatedXML.writeElement(null, DENY, 
  +                        generatedXML.writeElement(null, DENY,
                                                     XMLPrinter.CLOSING);
                       } else {
  -                        generatedXML.writeElement(null, GRANT, 
  +                        generatedXML.writeElement(null, GRANT,
                                                     XMLPrinter.CLOSING);
                       }
                       
                       if (inheritedPermissions) {
                           generatedXML.writeElement(null, "protected", 
                                                     XMLPrinter.NO_CONTENT);
  -                        generatedXML.writeElement(null, INHERITED, 
  +                        generatedXML.writeElement(null, INHERITED,
                                                     XMLPrinter.OPENING);
  -                        generatedXML.writeElement(null, "href", 
  +                        generatedXML.writeElement(null, "href",
                                                     XMLPrinter.OPENING);
                           generatedXML.writeText(getFullPath(current.getUri()));
  -                        generatedXML.writeElement(null, "href", 
  +                        generatedXML.writeElement(null, "href",
                                                     XMLPrinter.CLOSING);
  -                        generatedXML.writeElement(null, INHERITED, 
  +                        generatedXML.writeElement(null, INHERITED,
                                                     XMLPrinter.CLOSING);
                       }
                       
  @@ -1498,7 +1506,7 @@
           if (principal.equals("~")) {
               generatedXML.writeElement(null, "self", XMLPrinter.NO_CONTENT);
           } if (principal.equals("nobody")) {
  -            generatedXML.writeElement(null, "all", 
  +            generatedXML.writeElement(null, "all",
                                         XMLPrinter.NO_CONTENT);
           } else {
               generatedXML.writeElement(null, "href", XMLPrinter.OPENING);
  @@ -1518,7 +1526,7 @@
           if (standard) {
               generatedXML.writeElement(null, name, XMLPrinter.NO_CONTENT);
           } else {
  -            generatedXML.writeElement(SLIDE_NAMESPACE_ABBREV, name, 
  +            generatedXML.writeElement(SLIDE_NAMESPACE_ABBREV, name,
                                         XMLPrinter.NO_CONTENT);
           }
           generatedXML.writeElement(null, PRIVILEGE, XMLPrinter.CLOSING);
  @@ -1540,12 +1548,12 @@
        */
       protected void showPrincipalCollectionSet(XMLPrinter generatedXML) {
           NamespaceConfig config = token.getNamespaceConfig();
  -        generatedXML.writeElement(null, PRINCIPAL_COLLECTION_SET, 
  +        generatedXML.writeElement(null, PRINCIPAL_COLLECTION_SET,
                                     XMLPrinter.OPENING);
           generatedXML.writeElement(null, "href", XMLPrinter.OPENING);
           generatedXML.writeText(getFullPath(config.getUsersPath()));
           generatedXML.writeElement(null, "href", XMLPrinter.CLOSING);
  -        generatedXML.writeElement(null, PRINCIPAL_COLLECTION_SET, 
  +        generatedXML.writeElement(null, PRINCIPAL_COLLECTION_SET,
                                     XMLPrinter.CLOSING);
       }
       
  
  
  
  1.17      +3 -2      
jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java
  
  Index: WebdavServlet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- WebdavServlet.java        2001/07/10 22:32:17     1.16
  +++ WebdavServlet.java        2001/07/12 12:13:43     1.17
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java,v 
1.16 2001/07/10 22:32:17 remm Exp $
  - * $Revision: 1.16 $
  - * $Date: 2001/07/10 22:32:17 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java,v 
1.17 2001/07/12 12:13:43 juergen Exp $
  + * $Revision: 1.17 $
  + * $Date: 2001/07/12 12:13:43 $
    *
    * ====================================================================
    *
  @@ -173,7 +173,8 @@
           } else if (methodName.equalsIgnoreCase("PROPPATCH")) {
               resultMethod = new PropPatchMethod(this, token, req, resp);
           } else if (methodName.equalsIgnoreCase("ACL")) {
  -            resultMethod = new AclMethod(this, token, req, resp);
  +            if( org.apache.slide.util.Configuration.useIntegratedSecurity() )
  +                resultMethod = new AclMethod(this, token, req, resp);
           }
           
           if (resultMethod == null) {
  
  
  

Reply via email to