1 17 18 package org.apache.james.imapserver.commands; 19 20 import org.apache.james.imapserver.AccessControlException; 21 import org.apache.james.imapserver.AuthorizationException; 22 import org.apache.james.imapserver.ACLMailbox; 23 import org.apache.james.imapserver.ImapRequest; 24 import org.apache.james.imapserver.ImapSession; 25 26 class SetAclCommand extends AbstractAclCommand 27 { 28 public boolean checkUsage( int arguments, ImapSession session ) 29 { 30 if ( arguments != 5 ) { 31 session.badResponse( "Command should be <tag> <SETACL> <mailbox> <identity> <rights modification>" ); 32 return false; 33 } 34 return true; 35 } 36 37 public void doAclCommand( ImapRequest request, ImapSession session, 38 ACLMailbox target, String folder ) throws AccessControlException, AuthorizationException 39 { 40 String identity = request.getCommandLine().nextToken(); 41 String changes = request.getCommandLine().nextToken(); 42 43 if ( target.setRights( session.getCurrentUser(), identity, changes ) ) { 44 session.okResponse( request.getCommand() ); 45 session.getSecurityLogger().info( "ACL rights for " + identity + " in " 46 + folder + " changed by " + session.getCurrentUser() + " : " 47 + changes ); 48 } 49 else { 50 session.noResponse( request.getCommand() ); 51 session.getSecurityLogger().info( "Failed attempt to change ACL rights for " 52 + identity + " in " + folder + " by " 53 + session.getCurrentUser() ); 54 } 55 } 56 } 57 | Popular Tags |