[CalendarServer-changes] [1600]
CalendarServer/trunk/twistedcaldav/_sacl.c
source_changes at macosforge.org
source_changes at macosforge.org
Fri Jun 8 10:07:39 PDT 2007
Revision: 1600
http://trac.macosforge.org/projects/calendarserver/changeset/1600
Author: dreid at apple.com
Date: 2007-06-08 10:07:39 -0700 (Fri, 08 Jun 2007)
Log Message:
-----------
untabify, and format the if statements better.
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/_sacl.c
Modified: CalendarServer/trunk/twistedcaldav/_sacl.c
===================================================================
--- CalendarServer/trunk/twistedcaldav/_sacl.c 2007-06-07 18:37:23 UTC (rev 1599)
+++ CalendarServer/trunk/twistedcaldav/_sacl.c 2007-06-08 17:07:39 UTC (rev 1600)
@@ -21,45 +21,51 @@
int mbr_check_service_membership(const uuid_t user, const char* servicename, int* ismember);
/*
- CheckSACL(userOrGroupName, service)
- Checks user membership in a service.
+ CheckSACL(userOrGroupName, service)
+ Checks user or group membership in a service.
*/
static PyObject *appleauth_CheckSACL(PyObject *self, PyObject *args) {
- char *username;
- int usernameSize;
- char *serviceName;
- int serviceNameSize;
-
- // get the args
- if (!PyArg_ParseTuple(args, "s#s#", &username, &usernameSize, &serviceName, &serviceNameSize))
- return NULL;
-
- // get a uuid for the user
- uuid_t user;
- int result = mbr_user_name_to_uuid(username, user);
- int isMember = 0;
-
- if ( result != 0 )
- result = mbr_group_name_to_uuid(username, user);
+ char *username;
+ int usernameSize;
+ char *serviceName;
+ int serviceNameSize;
- if ( result != 0 )
- return Py_BuildValue("i", (-1));
+ // get the args
+ if (!PyArg_ParseTuple(args, "s#s#", &username,
+ &usernameSize, &serviceName, &serviceNameSize)) {
+ return NULL;
+ }
- result = mbr_check_service_membership(user, serviceName, &isMember);
-
- if ( ( isMember == 1 ) || ( result == 2 ) ) { // passed
- return Py_BuildValue("i", 0);
- }
-
- return Py_BuildValue("i", (-2));
+ // get a uuid for the user
+ uuid_t user;
+ int result = mbr_user_name_to_uuid(username, user);
+ int isMember = 0;
+
+ if ( result != 0 ) {
+ // no uuid for the user, we might be a group.
+ result = mbr_group_name_to_uuid(username, user);
+ }
+
+ if ( result != 0 ) {
+ return Py_BuildValue("i", (-1));
+ }
+
+ result = mbr_check_service_membership(user, serviceName, &isMember);
+
+ if ( ( result == 0 && isMember == 1 ) || ( result == ENOENT ) ) {
+ // passed
+ return Py_BuildValue("i", 0);
+ }
+
+ return Py_BuildValue("i", (-2));
}
/* Method definitions. */
static struct PyMethodDef _sacl_methods[] = {
- {"CheckSACL", appleauth_CheckSACL},
- {NULL, NULL} /* Sentinel */
+ {"CheckSACL", appleauth_CheckSACL},
+ {NULL, NULL} /* Sentinel */
};
void init_sacl(void) {
- Py_InitModule("_sacl", _sacl_methods);
+ Py_InitModule("_sacl", _sacl_methods);
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070608/49cc7c34/attachment.html
More information about the calendarserver-changes
mailing list