Evan Broder [Mon, 7 Dec 2009 22:58:40 +0000 (17:58 -0500)]
Changelog entry for 0.1.1-1.
Evan Broder [Wed, 25 Nov 2009 19:31:38 +0000 (14:31 -0500)]
git-buildpackage wants a header for its options.
Evan Broder [Tue, 24 Nov 2009 23:53:37 +0000 (18:53 -0500)]
Update the build-dependencies.
Evan Broder [Mon, 23 Nov 2009 02:47:02 +0000 (21:47 -0500)]
Debianize PyAFS.
Evan Broder [Fri, 16 Dec 2011 20:39:32 +0000 (12:39 -0800)]
Merge pull request #2 from dehnert/master
Various fixes to PyAFS
Alex Dehnert [Fri, 16 Dec 2011 18:55:29 +0000 (13:55 -0500)]
Notice libafsauthent_pic.a library in lib64
If available, we want to build against the _pic variant of the libafsauthent
library. On Fedora, that's in lib64, not lib, so we need to pick it up there
too.
Signed-off-by: Alex Dehnert <adehnert@mit.edu>
Alex Dehnert [Fri, 16 Dec 2011 14:19:51 +0000 (09:19 -0500)]
Mark _init as global in pyafs_error
Because _init is later assigned to in the function, new enough versions of
cython (
67bf84357feabe73612e2a9eef3e48a05e74d76f or so and later, apparently)
conclude that it's a local. Unfortunately, that means that the "if _init" is
referencing an undeclared variable. See also
http://codespeak.net/pipermail/cython-dev/2009-July/006396.html.
Signed-off-by: Alex Dehnert <adehnert@mit.edu>
Alex Dehnert [Fri, 16 Dec 2011 01:06:14 +0000 (20:06 -0500)]
Correct documention
A group's membership is PTEntry.members, not PTEntry.users
Signed-off-by: Alex Dehnert <adehnert@mit.edu>
Evan Broder [Mon, 7 Dec 2009 22:53:55 +0000 (17:53 -0500)]
The "Once More, with Working" release.
Evan Broder [Sun, 29 Nov 2009 13:45:30 +0000 (08:45 -0500)]
Add symbolic names for the PTS encryption levels.
Evan Broder [Mon, 23 Nov 2009 04:06:44 +0000 (23:06 -0500)]
Adjust for the fact that Python 2.5 doesn't have collections.MutableSet.
When the MutableSet mixin isn't available, we fall back on just
deriving from object. This means that comparisons between membership
sets like __le__ as well as operators like __or__ aren't available,
but it seems unlikely those will be used for manipulating the AFS
protection database.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Mon, 23 Nov 2009 04:05:42 +0000 (23:05 -0500)]
Update PTRelationSet._add and PTRelationSet._discard to not try to
mutate the membership set if it hasn't been loaded yet.
Signed-off-by: Evan Broder <broder@mit.edu>
Evan Broder [Mon, 23 Nov 2009 03:23:29 +0000 (22:23 -0500)]
Fix the README to actually talk about PyAFS, not PyHesiod.
Signed-off-by: Evan Broder <broder@mit.edu>
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>