[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: "SVNAuthorizationShortCircuit or something similar"

From: Josh Gilkerson <jwg_at_google.com>
Date: 2007-05-10 00:04:58 CEST

Good to see someone else is still watching. I was getting ready to
prod the list if there was no activity in the next day or so.

Your patch is missing the addition of "subversion/include/mod_authz_svn.h".

Draft log message:

Added authz optimization to mod_dav_svn that skips apache authz for
parent paths.

* subversion/mod_authz_svn/mod_authz_svn.c: Added a provider that will do
  a quick read access check.
  (subreq_bypass): new method. This is the implementation of a provider
    that will be called from mod_dav_svn to bypass the apache authz process.
  (get_access_conf): new method. This is a cut and paste from existing
    code that that is needed in subreq_bypass. It was pulled out to
    eliminate duplication.
  (register_hooks): was modified to register the new provider.

* subversion/include/mod_authz_svn.h: Provides the symbols that need to be
  shared with mod_dav_svn.
  (AUTHZ_SVN__SUBREQ_BYPASS_PROV_GRP,
   AUTHZ_SVN__SUBREQ_BYPASS_PROV_NAME,
   AUTHZ_SVN__SUBREQ_BYPASS_PROV_VER): Provider lookup info.
  (authz_svn__subreq_bypass_func_t): Signature of the provider method.

* subversion/mod_dav_svn/mod_dav_svn.c:
  (PATHAUTHZ_BYPASS_ARG): string argument to SVNPathAuthz directive that will
    enable bypassing apache's authz mechanism.
  (enum path_authz_conf): configuration type. For this directive, which
    is now a tri-state instead of a boolean.
  (dir_conf_t): changed do_path_authz to path_authz_method. The name was
    changed to denote the new meaning of the variable.
  (pathauthz_bypass_func): a new function pointer variable. The
bypass provider is
    cached here.
  (merge_dir_config, SVNPathAuthz_cmd,cmds, dav_svn__get_pathauthz_flag):
    Changed to interact with the new config.
  (dav_svn__get_pathauthz_bypass): new method.

* subversion/mod_dav_svn/dav_svn.h
  (dav_svn__get_pathauthz_bypass): new function to get the bypass provider if
    configured.

* subversion/mod_dav_svn/authz.c
  (allow_read): Uses the new method if configured.

-- 
Josh Gilkerson
Software Engineer
Google, Inc
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu May 10 00:05:15 2007

This is an archived mail posted to the Subversion Dev mailing list.