Evan Broder [Mon, 23 Nov 2009 02:47:02 +0000 (21:47 -0500)]
Debianize PyAFS.
Evan Broder [Mon, 23 Nov 2009 02:45:27 +0000 (21:45 -0500)]
Pre-emptively add instructions to the README for building the Debian
package, which I'm about to create.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Mon, 23 Nov 2009 02:35:23 +0000 (21:35 -0500)]
Set a homepage for the module.
Evan Broder [Mon, 23 Nov 2009 02:31:24 +0000 (21:31 -0500)]
It seems like roughly release time.
Evan Broder [Sun, 22 Nov 2009 23:31:22 +0000 (18:31 -0500)]
Fix typos in afs.acl and afs.fs introduced in
0e2974f1.
Evan Broder [Sun, 22 Nov 2009 23:20:28 +0000 (18:20 -0500)]
Add a krbname property to afs.pts.PTEntry, which converts the
PTEntry's name to a Kerberos-style principal.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 22 Nov 2009 23:19:48 +0000 (18:19 -0500)]
Add afs.pts.PTS.getEntryFromKrbname, which converts a Kerberos
principal to an AFS principal.
(This exposes afs._pts.PTS._Krb5ToAfs)
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Fri, 20 Nov 2009 01:52:48 +0000 (20:52 -0500)]
Always use absolute imports.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Fri, 20 Nov 2009 01:52:29 +0000 (20:52 -0500)]
Rename afs.afs to afs._util so that absolute imports from afs work.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Thu, 19 Nov 2009 17:03:31 +0000 (12:03 -0500)]
For consistency, use "cdef extern" everywhere instead of "cdef import"
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Thu, 19 Nov 2009 07:55:34 +0000 (02:55 -0500)]
Add an fs.inafs function for determining if a path is in AFS at all.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Thu, 19 Nov 2009 07:51:51 +0000 (02:51 -0500)]
Add a simple afs._fs module that exposes a whichcell function, and an
afs.fs module that simply exports the same whichcell function.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Thu, 19 Nov 2009 07:29:27 +0000 (02:29 -0500)]
Merge branch 'pts-orm'
Evan Broder [Mon, 27 Jul 2009 08:08:59 +0000 (01:08 -0700)]
First attempt at an ORM-like interface to the PRDB.
Missing features that should eventually be added:
- Create/delete users/groups
- Expose afs._pts.PTS._AfsToKrb5 and afs._pts.PTS._Krb5ToAfs.
_Krb5ToAfs could be exposed as a method to return a PTEntry from a
Kerberos principal, while _AfsToKrb5 could be a method (or
property) of a PTEntry that returns the equivalent Kerberos
principal.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Tue, 20 Oct 2009 22:43:12 +0000 (18:43 -0400)]
Add a new _Krb5ToAfs method to afs._pts.PTS for converting Kerberos 5
principals to AFS principals.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Tue, 20 Oct 2009 22:28:05 +0000 (18:28 -0400)]
Add an _AfsToKrb5 method on afs._pts.PTS for converting AFS-style
principals to the equivalent Kerberos 5 principals.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Tue, 20 Oct 2009 21:39:49 +0000 (17:39 -0400)]
Add implementations of kname_parse and kname_unparse to afs._pts.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Tue, 20 Oct 2009 21:34:49 +0000 (17:34 -0400)]
Figure out what realm an afs._pts.PTS instance authenticates against.
Store the Kerberos realm as an attribute for later retrieval.
Signed-off-by: Evan Broder <broder@mit.edu>
Jonathan Reed [Fri, 13 Nov 2009 22:04:41 +0000 (17:04 -0500)]
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>
Jonathan Reed [Fri, 13 Nov 2009 22:03:56 +0000 (17:03 -0500)]
Remove extra 'w' from canonical strings for 'write' and 'all
Signed-off-by: Jonathan Reed <jdreed@mit.edu>
Jonathan Reed [Fri, 13 Nov 2009 21:57:40 +0000 (16:57 -0500)]
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>
Evan Broder [Tue, 20 Oct 2009 18:44:15 +0000 (14:44 -0400)]
Allow for extending the build flags in a PyAFSExtension without
changing them for all extensions.
Evan Broder [Tue, 28 Jul 2009 01:02:43 +0000 (18:02 -0700)]
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>
Evan Broder [Tue, 28 Jul 2009 00:52:16 +0000 (17:52 -0700)]
Add the afs._acl output to .gitignore.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Tue, 28 Jul 2009 00:44:12 +0000 (17:44 -0700)]
Use isinstance(..., basestring) instead of (unicode, str).
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Mon, 27 Jul 2009 08:17:43 +0000 (01:17 -0700)]
Ignore the "over" argument used in _ListMembers and _ListOwned.
That flag being set is not necessarily indicative of an overflow. For
example, it gets set when a lookup returns permission denied.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Mon, 27 Jul 2009 05:48:33 +0000 (22:48 -0700)]
If the PIC versions of the AFS libraries are available, link against
those instead of the non-PIC versions.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Mon, 27 Jul 2009 05:45:57 +0000 (22:45 -0700)]
PyAFS doesn't seem to be using libafsutil - tests still pass if it's
dropped.
And it's not one of the libraries built with a PIC version in openafs
bbab48b047000db0d1821e2f65917c2e8c2c7768.
Signed-off-by: Evan Broder <broder@mit.edu>
Edward Z. Yang [Sat, 11 Jul 2009 21:10:14 +0000 (14:10 -0700)]
Correct the tests for afs.acl to match a function rename.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Thu, 9 Jul 2009 02:32:01 +0000 (19:32 -0700)]
Merge branch 'acl'
Edward Z. Yang [Thu, 9 Jul 2009 02:14:56 +0000 (22:14 -0400)]
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>
Edward Z. Yang [Fri, 26 Jun 2009 15:28:45 +0000 (11:28 -0400)]
Incorporate broder's comments.
Signed-off-by: Edward Z. Yang <edwardzyang@thewritingpot.com>
Edward Z. Yang [Tue, 12 May 2009 04:17:34 +0000 (00:17 -0400)]
Fix error messages that are actually errno.
Signed-off-by: Edward Z. Yang <edwardzyang@thewritingpot.com>
Edward Z. Yang [Tue, 12 May 2009 02:31:27 +0000 (22:31 -0400)]
Add showPermissions functionality.
Signed-off-by: Edward Z. Yang <edwardzyang@thewritingpot.com>
Edward Z. Yang [Tue, 5 May 2009 06:52:19 +0000 (02:52 -0400)]
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>
Evan Broder [Sat, 2 May 2009 01:10:13 +0000 (21:10 -0400)]
Update README.dev to the fact that we're using Cython instead of Pyrex
now.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sat, 2 May 2009 01:06:37 +0000 (21:06 -0400)]
Fix typo in the name of the Debian/Ubuntu package for Cython.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Fri, 1 May 2009 23:06:55 +0000 (19:06 -0400)]
setuptools apparently is too retarded for Cython. Switch to distutils.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Thu, 23 Apr 2009 21:01:23 +0000 (17:01 -0400)]
Give more information on how to install Cython through the package manager.
Evan Broder [Thu, 19 Mar 2009 16:55:34 +0000 (12:55 -0400)]
Add tests for PTS._NameToId, PTS._IdToName, and PTS._NameOrId.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Thu, 19 Mar 2009 16:54:33 +0000 (12:54 -0400)]
Add leading underscores to afs._pts.PTS when it calls around within itself.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Thu, 19 Mar 2009 16:42:51 +0000 (12:42 -0400)]
Start a test suite.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Thu, 19 Mar 2009 16:25:29 +0000 (12:25 -0400)]
Store the cell name in the PTS object.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Thu, 19 Mar 2009 16:18:25 +0000 (12:18 -0400)]
Don't leave out README.dev when generating a manifest file.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Thu, 19 Mar 2009 00:04:26 +0000 (20:04 -0400)]
Prepend _ to all methods of afs._pts.PTS - afs.pts will descend from
that class.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Wed, 18 Mar 2009 18:16:35 +0000 (14:16 -0400)]
Fix a potential use of an uninitialized variable.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Wed, 18 Mar 2009 18:14:38 +0000 (14:14 -0400)]
Simplify the extension declarations in setup.py.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Wed, 18 Mar 2009 18:08:54 +0000 (14:08 -0400)]
Use pyafs_error everywhere in afs._pts instead of raising Exceptions
by hand.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Wed, 18 Mar 2009 18:01:42 +0000 (14:01 -0400)]
Kill off the additional message string in pyafs_error - that's what
the stack trace is for.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Wed, 18 Mar 2009 17:59:22 +0000 (13:59 -0400)]
Create an afs.afs module for common functions, like error handling.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Wed, 18 Mar 2009 17:58:33 +0000 (13:58 -0400)]
Move com_err initializers into the common AFS imports.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Wed, 18 Mar 2009 02:25:24 +0000 (22:25 -0400)]
Drinking the rST kool-aid - mark the commands to run in the README as
literal blocks.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Wed, 18 Mar 2009 00:57:53 +0000 (20:57 -0400)]
In any function that previously only took a PTS ID, use NameOrId to
accept either a string or an ID.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Wed, 18 Mar 2009 00:45:56 +0000 (20:45 -0400)]
Add a mechanism for converting an identifier to a PTS ID.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Wed, 18 Mar 2009 00:35:14 +0000 (20:35 -0400)]
Abuse casting to avoid needing two sets of functions for converting
between PTEntry instances and C structs.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Wed, 18 Mar 2009 00:19:00 +0000 (20:19 -0400)]
Add a brief README.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Wed, 18 Mar 2009 00:02:11 +0000 (20:02 -0400)]
Update README.dev to reflect some slight architecture changes.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Tue, 17 Mar 2009 23:57:40 +0000 (19:57 -0400)]
Add SetFields, rounding out the afs._pts.PTS class.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Tue, 17 Mar 2009 23:23:22 +0000 (19:23 -0400)]
Change PTEntry to display name if it's set.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Tue, 17 Mar 2009 23:22:50 +0000 (19:22 -0400)]
Add back the name field to both checkentry and listentries, since
listentries sets it.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Tue, 17 Mar 2009 23:17:53 +0000 (19:17 -0400)]
Give PTEntry a helpful __repr__ method.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Tue, 17 Mar 2009 23:16:05 +0000 (19:16 -0400)]
Add ListEntries.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Mon, 16 Mar 2009 01:29:52 +0000 (21:29 -0400)]
Add the nusers field back to PTEntry; it does vary, especially when
looking at system:authuser@other-cells PTS groups.
This reverts commit
cfd9c00a7c55a3e5235e4311c70eafcfb5f5c34d.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Mon, 16 Mar 2009 01:02:21 +0000 (21:02 -0400)]
Add SetMax.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Mon, 16 Mar 2009 00:56:56 +0000 (20:56 -0400)]
Add ListMax for getting the maximum (and minimum) user ID and group ID
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Mon, 16 Mar 2009 00:41:42 +0000 (20:41 -0400)]
Add IsAMemberOf.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Mon, 16 Mar 2009 00:31:00 +0000 (20:31 -0400)]
Add a function for changing name, owner, and ID of an entity.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 22:51:03 +0000 (18:51 -0400)]
Ignore the name field in prcheckentry---it doesn't seem to ever get
set.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 22:49:44 +0000 (18:49 -0400)]
Remove the reserved field from prcheckentry, since it doesn't seem to
be used by anything.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 22:49:10 +0000 (18:49 -0400)]
Ignore the nusers field in prcheckentry, since it seems to always be
the same as ngroups.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 22:48:14 +0000 (18:48 -0400)]
Add a ListEntry option for getting more information about an entity.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 22:47:18 +0000 (18:47 -0400)]
Add a PTEntry class corresponding to the ptcheckentry struct, and
methods to convert between the two.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 22:07:29 +0000 (18:07 -0400)]
Specifically use size_t for the malloc import.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 20:12:05 +0000 (16:12 -0400)]
Move the PTS.__cinit__ docstring to being the class docstring.
That way it actually gets displayed.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 19:09:54 +0000 (15:09 -0400)]
Add ListOwned call.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 18:48:02 +0000 (14:48 -0400)]
ListMembers can take either a UID or a GID - document both.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 18:44:42 +0000 (14:44 -0400)]
Don't ignore lists overflowing the display limit.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 18:36:59 +0000 (14:36 -0400)]
Add ListMembers.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 18:00:36 +0000 (14:00 -0400)]
Add RemoveFromGroup.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 17:50:30 +0000 (13:50 -0400)]
Add a given UID to a given GID
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 12:30:25 +0000 (08:30 -0400)]
Throw a PRNOENT exception when looking up PTS IDs or names when the
entity in question doesn't exist.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 07:33:29 +0000 (03:33 -0400)]
Horray for docstrings!
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 07:00:24 +0000 (03:00 -0400)]
Add support to PTS for Delete.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 06:53:08 +0000 (02:53 -0400)]
Fix a typo in one of the #defines.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 06:28:40 +0000 (02:28 -0400)]
Add CreateGroup support.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 06:12:08 +0000 (02:12 -0400)]
Add CreateUser wrapper.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 05:26:27 +0000 (01:26 -0400)]
Add wrappers for ubik_PR_IDToName and ubik_PR_NameToID.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 15 Mar 2009 03:38:31 +0000 (23:38 -0400)]
Apparently every time you write trailing spaces, God kills a kitten
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 4 Jan 2009 05:53:00 +0000 (00:53 -0500)]
Simplify the libraries being used.
Thanks to -c shadow @ANDREW.CMU.EDU for the assistance.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 4 Jan 2009 03:34:43 +0000 (22:34 -0500)]
Get PyAFS to build on Linux.
I'm...not even entirely sure what all I had to do here.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 4 Jan 2009 03:32:12 +0000 (22:32 -0500)]
Use afs_error_message instead of the more conflicting error_message.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 21 Dec 2008 22:16:38 +0000 (16:16 -0600)]
Finish the PTS connection initialization code (and deinitialize, too).
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 21 Dec 2008 21:21:13 +0000 (15:21 -0600)]
Setup the rx connections for the Ubik client.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 21 Dec 2008 20:53:45 +0000 (14:53 -0600)]
Kill the annoying a. prefix for externally included objects.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 21 Dec 2008 20:47:30 +0000 (14:47 -0600)]
Switch to Cython instead of Pyrex
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 21 Dec 2008 20:37:31 +0000 (14:37 -0600)]
Initialize the security object.
This is where we determine whether to use authentication and encryption.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 21 Dec 2008 20:10:24 +0000 (14:10 -0600)]
I can get tokens now!
Not that I do anything with them yet.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 21 Dec 2008 19:01:43 +0000 (13:01 -0600)]
Get information about the current cell.
This will almost certainly want to get pulled out into some utility
functions eventually.
Also, we now have 3 different error mechanisms: arbitrary return
codes, errno/strerror, and com_err. Yay!
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 21 Dec 2008 10:36:44 +0000 (04:36 -0600)]
Add a comment explaining the ubik_client struct.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Sun, 21 Dec 2008 10:33:25 +0000 (04:33 -0600)]
Cleanup the mess we make.
Signed-off-by: Evan Broder <broder@mit.edu>