Artem Egorkine <arteme@gmail.com>


Patch
r861361, r860533

r861361 | maxb | 2006-08-27 16:57:25 -0500 (Sun, 27 Aug 2006)

Commit, precisely as presented, Artem's large patch.

Patch by: Artem Egorkine <arteme@gmail.com>

Original log message presented follows:

[in subversion/mod_dav_svn/]

* dav_svn.h
  (dav_svn__get_native_authz_flag,
   dav_svn__get_native_authz_file,
   dav_svn__check_access,
   dav_svn__check_resource_access,
   dav_svn__check_parent_access,
   dav_svn__check_global_access): Exported functions for
   path-based authorization.
   dav_svn__get_parent_path): Exported helper hunction.

* mod_dav_svn.c
  (SVNNativeAuthz_cmd, SVNNativeAuthzFile_cmd):
  Command functions for 'SVNNativeAuthz' and 'SVNNativeAuthzFile'
  directives.
  (dav_svn__get_native_authz_flag, dav_svn__get_native_authz_file):
  Access functions to native authz configuration settings.
  (cmds): Registered new directives.

* authz.c
  (allow_read): Do native authz lookups if SVNNativeAuthz
  directive is on for this resource.
  (check_access, log_access_verdict, dav_svn__check_access):
  New functions to perform path-based authorization within
  mod_dav_svn.
  (dav_svn__check_resource_access,
   dav_svn__check_parent_access,
   dav_svn__check_global_access): New helper functions;
  Wrappers around dav_svn__check_access.

* lock.c
  (append_locks, remove_lock): Do native authz if it is active.

* repos.c
  (get_resource, open_stream, set_headers,
   create_collection, copy_resource, remove_resource,
   move_resource, do_walk): Simple native authz checks.
  (get_parent_resource): Switch to using dav_svn__get_parent_path.
  (deliver): If collection resource, do authorization for
  each child.

* util.c
  (dav_svn__get_parent_path): New helper function.

* version.c
  (dav_svn__checkout, deliver_report, make_activity):
  Simple native authz checks.


r860533 | rooneg | 2006-07-06 14:28:20 -0500 (Thu, 06 Jul 2006)

Rewind directory after something has been deleted from it to work
around operating systems with broken readdir implementations that
may skip files in such circumstances.

Patch by: Artem Egorkine <arteme@gmail.com>
Tweaked by: me

* subversion/libsvn_subr/io.c
  (svn_io_remove_dir): Rewind directory after something has been
   deleted and keep looping until we're sure we have deleted the
   entire contents of the directory.