tdraier     2005/02/25 14:58:41 CET

  Modified files:        (Branch: JAHIA-4-0-BRANCH)
    src/java/org/jahia/engines/filemanager 
                                           DAVFilemanager_Engine.java 
    src/java/org/jahia/services/webdav DAVFileAccess.java 
  Log:
  fixed bug with webdav permissions
  
  Revision  Changes    Path
  1.20.2.5  +3 -18     
jahia/src/java/org/jahia/engines/filemanager/DAVFilemanager_Engine.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/org/jahia/engines/filemanager/DAVFilemanager_Engine.java.diff?r1=1.20.2.4&r2=1.20.2.5&f=h
  1.22.2.3  +10 -20    
jahia/src/java/org/jahia/services/webdav/DAVFileAccess.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/org/jahia/services/webdav/DAVFileAccess.java.diff?r1=1.22.2.2&r2=1.22.2.3&f=h
  
  
  
  Index: DAVFilemanager_Engine.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/src/java/org/jahia/engines/filemanager/Attic/DAVFilemanager_Engine.java,v
  retrieving revision 1.20.2.4
  retrieving revision 1.20.2.5
  diff -u -r1.20.2.4 -r1.20.2.5
  --- DAVFilemanager_Engine.java        21 Feb 2005 11:59:50 -0000      1.20.2.4
  +++ DAVFilemanager_Engine.java        25 Feb 2005 13:58:40 -0000      1.20.2.5
  @@ -922,34 +922,19 @@
   //            String usr_grpName;
               String subject;
               logger.debug ("Submited ACL entry : " + submitedACLEntries[i]);
  -
  -           if (submitedACLEntries[i].charAt (userNameWidth.intValue () + 12) 
== 'u') {
  +            if (submitedACLEntries[i].charAt (userNameWidth.intValue () + 
12) == 'u') {
                   JahiaUser usr_grp = ServicesRegistry.getInstance 
().getJahiaUserManagerService ().
                           lookupUser (
                                   submitedACLEntries[i].substring 
(userNameWidth.intValue () + 13));
   //                usr_grpName = ((JahiaUser)usr_grp).getUsername();
  -                String username = usr_grp.getUsername ();
  -                if (JahiaUserManagerService.GUEST_USERNAME.equals(username)) 
{
  -                    subject = "guest";
  -                } else {
  -                    subject = "/users/" + username;
  -                }
  +                subject = "/users/" + usr_grp.getUsername ();
               } else {
                   JahiaGroup usr_grp = ServicesRegistry.getInstance ()
                           .getJahiaGroupManagerService ().
                           lookupGroup (
                                   submitedACLEntries[i].substring 
(userNameWidth.intValue () + 13));
   //                usr_grpName = ((JahiaGroup)usr_grp).getGroupname();
  -                String groupname = usr_grp.getGroupname();
  -                if 
(JahiaGroupManagerService.GUEST_GROUPNAME.equals(groupname)) {
  -                    subject = "nobody";
  -                } else if 
(JahiaGroupManagerService.ADMINISTRATORS_GROUPNAME.equals(groupname)) {
  -                    subject = "root";
  -                } else if 
(JahiaGroupManagerService.USERS_GROUPNAME.equals(groupname)) {
  -                    subject = "user";
  -                } else {
  -                    subject = "+/groups/" + groupname + "/members";
  -                }
  +                subject = "+/groups/" + usr_grp.getGroupname () + "/members";
               }
               // Decode the select box value parameters
               String permissions = submitedACLEntries[i].substring (8, 11);
  
  
  
  Index: DAVFileAccess.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/src/java/org/jahia/services/webdav/Attic/DAVFileAccess.java,v
  retrieving revision 1.22.2.2
  retrieving revision 1.22.2.3
  diff -u -r1.22.2.2 -r1.22.2.3
  --- DAVFileAccess.java        3 Dec 2004 11:08:26 -0000       1.22.2.2
  +++ DAVFileAccess.java        25 Feb 2005 13:58:41 -0000      1.22.2.3
  @@ -287,29 +287,19 @@
   
           // Prevent dirty reads
           slideToken.setForceStoreEnlistment (true);
  -        try {
  -            JahiaFileField fField = (JahiaFileField) theField.getObject ();
  +        JahiaFileField fField = (JahiaFileField) theField.getObject ();
   
  -            if ((fField == null) || (fField.getRealName () == null) || 
(fField.getRealName ()
  -                    .length () == 0)) {
  -                return;
  -            }
  +        if ((fField == null) || (fField.getRealName () == null) || 
(fField.getRealName ()
  +                .length () == 0)) {
  +            return;
  +        }
   
  -            for (Iterator iterator = users.iterator (); iterator.hasNext 
();) {
  -                String uri = (String) iterator.next ();
  -                if (uri.startsWith ("/groups")) {
  -                    uri = "+" + uri;
  -                }
  -                NodePermission permission = new NodePermission 
(objectNode.getUri (), uri,
  -                        "/actions/read", false);
  -                ns.security.grantPermission (slideToken, permission);
  +        for (Iterator iterator = users.iterator (); iterator.hasNext ();) {
  +            String uri = (String) iterator.next ();
  +            if (uri.startsWith ("/groups")) {
  +                uri = "+" + uri;
               }
  -        } catch (ServiceAccessException e) {
  -            logger.error("Cannot grant permissions",e);
  -        } catch (ObjectNotFoundException e) {
  -            logger.error("Cannot grant permissions",e);
  -        } catch (AccessDeniedException e) {
  -            logger.error("Cannot grant permissions",e);
  +            changePermissions(uri, "r--");
           }
       }
   
  

Reply via email to