Fix typos in afs.acl and afs.fs introduced in 0e2974f1.
Always use absolute imports. Signed-off-by: Evan Broder <broder@mit.edu>
Change order of bits in list of tuples to return ACLS in same format as AFS (rlidwka vs rwildka). Add ability to turn a rights string into a canonical name Signed-off-by: Jonathan Reed <jdreed@mit.edu>
Remove extra 'w' from canonical strings for 'write' and 'all Signed-off-by: Jonathan Reed <jdreed@mit.edu>
Implement the ability to set ACLs. - Added pioctl_write and setAcl to the Pyrex code - Added ACL.set to set an ACL to a given bitmask, ACL.apply to actually apply the ACL. ACLs set to 0 are pruned before applying. Signed-off-by: Jonathan Reed <jdreed@mit.edu>
Use a bool instead of an int for the follow argument to afs.acl.ACL.retrieve. It'll get converted correctly when it gets passed into Cython anyway. Signed-off-by: Evan Broder <broder@mit.edu>
Incorporate broder code review number 2: * Remove space-aligned fields * Rename crights to readRights * Group functions together * Add space between comma Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Incorporate broder's comments. Signed-off-by: Edward Z. Yang <edwardzyang@thewritingpot.com>
Add showPermissions functionality. Signed-off-by: Edward Z. Yang <edwardzyang@thewritingpot.com>
ACL implementation. Current features: * afs.acl.ACL.retrieve(), equivalent to fs listacl * afs.acl.getCallerAccess(), equivalent to fs getcalleraccess Permissions are bitmasked, which can be masked against afs.acl.READ, afs.acl.WRITE, etc. Implementation is based off of Perl AFS module, although there are some notable differences in API. Signed-off-by: Edward Z. Yang <edwardzyang@thewritingpot.com>