Rename afs.afs to afs._util so that absolute imports from afs work. Signed-off-by: Evan Broder <broder@mit.edu>
For consistency, use "cdef extern" everywhere instead of "cdef import" Signed-off-by: Evan Broder <broder@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>
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>
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>