Re: svn commit: r11750 - branches/locking/subversion/include
Branko Čibej <[email protected]> Fri, 05 Nov 2004 02:07:44 +0100
| Newsgroups | gmane.comp.version-control.subversion.svn,gmane.mail.eyebrowse.devel |
|---|---|
| Message-ID | <[email protected]> |
[email protected] wrote: >+/** >+ * ### Note: this paves the way for future ACL stuff; someday a user >+ * object can contain information about group membership, and so on. >+ * Because it's an opaque type, we can easily add new fields and >+ * create new accessor and setter functions. >+ */ > > I'd like to clarify this "ACL stuff". Because we must model our ACLs to be compatible with the DAV ACL spec, we need an easy way to ask if the current FS user belongs to a particular group (because an ACL entry might refer to a group, not the user explicitly). The FS doesn't care where those group membership mappings come from, so as far as its concerned, a list of groups would suffice. However, there are lots of ways to map a username to a group; various PAM mechanisms on Unix, Apache's auth methods, Windows user info, DAV principal trees, etc. etc. Because of that it is quite reasonable that we can't simply add a list of groups to this struct, but rather a callback function that can answer the question, "is this user in that group?". Of course, none of this means there's anything wrong with the opaque struct approach. I just want to point out that this simple struct may well become a lot more complex later on. Ah yes, it might be a good idea to note in the docstring that the lifetime of svn_fs_user_t objects must be the same or longer than the FS object's lifetime. >+svn_error_t *svn_fs_lock (svn_fs_lock_token_t **token, >+ svn_fs_t *fs, >+ const char *path, >+ svn_boolean_t force, >+ long int timeout, > > Is there any reason why this can't be apr_interval_time_t? -- Brane