Bernd Rinn <bernd@sdf.lonestar.org>


Patch Suggested
r855604, r855541, r855511, r855510 r855537

r855604 | ghudson | 2005-07-31 20:55:33 -0500 (Sun, 31 Jul 2005)

Revise new functions svn_config_enumerate2() and
svn_config_enumerate_sections2() to pass an iteration pool to the
callback.

Patch by: Bernd Rinn <bernd@sdf.lonestar.org>

* subversion/include/svn_config.h
  (svn_config_section_enumerator_t, svn_config_enumerator_t):
    Deprecate.
  (svn_config_section_enumerator2_t, svn_config_enumerator2_t):
    New types with pool arguments.
  (svn_config_enumerate_sections2, svn_config_enumerate2): Use new
    callback types.
* subversion/libsvn_subr/config.c
  (svn_config_enumerate_sections, svn_config_enumerate): Go back to
    the old definitions, since it's no longer easy to define these in
    terms of the new functions.
  (svn_config_enumerate_sections2, svn_config_enumerate2): Create an
    iteration subpool and pass it to the callbacks.
  (search_groups): Accept and take advantage of new pool argument.
* subversion/libsvn_client/add.c
  (auto_props_enumerator): Accept new pool argument.
* subversion/libsvn_repos/authz.c
  (authz_lookup_baton, authz_validate_baton): We don't need to
    remember a pool in the batons any more; remove those fields.
  (authz_parse_line, authz_parse_section, authz_validate_rule,
    authz_validate_group, authz_validate_section): Receive and take
    advantage of new pool argument.
  (authz_get_path_access, authz_get_tree_access, svn_repos_read):
    Don't initialize the pool field of the batons any more.


r855541 | sussman | 2005-07-28 15:45:15 -0500 (Thu, 28 Jul 2005)

Fix a bug in the recursive authz lookup algorithm within mod_authz_svn.

This is a backport of r15463 to the 1.2.x branch.

Patch by:     Bernd Rinn <bernd@sdf.lonestar.org>
Review by:  David Anderson <david.anderson@calixo.net>

* subversion/mod_authz_svn/mod_authz_svn.c
  (authz_path_is_ancestor): New internal function.
  (parse_authz_section): Use authz_path_is_ancestor to establish
    relationships between paths instead of just strncmp.


r855537 | sussman | 2005-07-28 15:18:00 -0500 (Thu, 28 Jul 2005)

Bugfix for overly-strict rejection by recursive authz lookup algorithm.

Original bug report here:
 http://subversion.tigris.org/servlets/ReadMsg?listName=users&msgNo=35734

Suggested by:  Bernd Rinn <bernd@sdf.lonestar.org>
Patch by:      David Anderson <david.anderson@calixo.net>

* subversion/libsvn_repos/authz.c
   (authz_parse_section): use svn_path_is_ancestor to establish
     relationships between paths instead of just strncmp.

* subversion/tests/libsvn_repos/repos-test.c
   (authz): New regression test.


r855511 | ghudson | 2005-07-26 11:00:05 -0500 (Tue, 26 Jul 2005)

Replace calls to deprecated functions svn_config_enumerate() and
svn_config_sections().

Patch by: Bernd Rinn <bernd@sdf.lonestar.org>

* subversion/libsvn_client/add.c
  (svn_client__get_auto_props): Replace call to svn_config_enumerate
   with call to svn_config_enumerate2.

* subversion/libsvn_repos/authz.c
  (authz_parse_section, authz_get_path_access, authz_get_tree_access,
   authz_validate_section, svn_repos_authz_read): Replace calls to
    svn_config_enumerate with calls to svn_config_enumerate2, and
    calls to svn_config_enumerate_sections with calls to
    svn_config_enumerate_sections2.


r855510 | ghudson | 2005-07-26 10:54:37 -0500 (Tue, 26 Jul 2005)

Create revision 2 of the API of function svn_config_enumerate() and
svn_config_enumerate_sections() to get the memory pool handling right.

Patch by: Bernd Rinn <bernd@sdf.lonestar.org>

* subversion/libsvn_subr/config.c
  (svn_config_enumerate2): New.  Copy of svn_config_enumerate using
    the provided pool.
  (svn_config_enumerate_sections2): New.  Copy of svn_config_enumerate_sections
    using the provided pool.
  (svn_config_enumerate): Deprecated.  Create subpool of cfg->x_pool
    and call svn_config_enumerate2.
  (svn_config_enumerate_sections): Deprecated.  Create subpool of cfg->x_pool
    and call svn_config_enumerate_sections2.
  (svn_config_find_group): Call the new svn_config_enumerate2().

* subversion/include/svn_config.h
  (svn_config_enumerate2): New.
  (svn_config_enumerate_sections2): New.
  (svn_config_enumerate): Deprecated.
  (svn_config_enumerate_sections): Deprecated.