/[Apache-SVN]
ViewVC logotype

Revision 1613854


Jump to revision: Previous Next
Author: stefan2
Date: Sun Jul 27 22:23:26 2014 UTC (10 years, 3 months ago)
Changed paths: 2
Log Message:
On the authzperf branch: Very first step towards faster authz.
Determine the user's aliases and group memberships once and
then use this to evaluate rules in O(1).

Right now, that information is constructed on the fly for each
request and used from the existing matching code.  This overhead
will be eliminated in later commits.  Right now, this is to
introduce new, reviewable / testable code.

* BRANCH-README
  (TODO, DONE): Update.

* subversion/libsvn_repos/authz.c
  (set_add_string): New utility function.
  (add_alias_baton_t,
   add_alias,
   get_aliases): New code to find all aliases to a given user.
  (add_group_baton_t,
   add_group,
   get_group_memberships): New code to create a member->group
                           map for all relevant members.
  (get_memberships): New function using all of the above to build
                     the complete set of "left-side-strings" (names)
                     in the rule lines that a relevant to a given
                     user.

  (authz_lookup_baton): Instead of the plain user use a hash set as
                        constructed above to identify what we want.
  (authz_alias_is_user,
   authz_group_contains_user): Drop the now obsolete dynamic group
                               and alias resolution code. 
  (authz_line_applies_to_user): Greatly simplify by doing a simple
                                hash lookup.
  (authz_get_path_access,
   authz_get_tree_access, 
   authz_get_any_access): Update providing the memberships set
                          instead of the plain user name.


Changed paths

Path Details
Directorysubversion/branches/authzperf/BRANCH-README modified , text changed
Directorysubversion/branches/authzperf/subversion/libsvn_repos/authz.c modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26