On 15 May 2015 at 07:04, Stefan Fuhrmann <stefan.fuhrm...@wandisco.com> wrote:
> Thank you to everyone who answered! From what I gathered
> so far is this:
>
> to (1) Requirering recursive or non-recursive write on a copy target
>   should not make a difference to a typical authz setup with the
>   current /trunk code. However, the provided paths *is* a change
>   that should not be committed to /trunk as is.
>
>   Reducing the required access rights to just non-recursive write
>   to a copy target makes sense. So, 3rd party distributions may
>   use the patch (e.g. to solve issues with wildcard use cases)
>   if they are able to communicate the change in behavior to their
>   users. Their risk is that new SVN releases will address this
>   problem differently.
>
> to (2) Requirering write access to the target *and* its parent, i.e.
>   today's behavior, should be kept for the time being. No compelling
>   argument can be given at this time that makes checking only the
>   parent the clearly better option
>
> to (3) Delete (hence, move) should continue to require recursive
>   write access to the (source) path. Otherwise, we would change
>   the intended behavior of existing setups.
>
> Further feedback:
>
> * Ideally, we would traverse the actuall sub-tree and check against
>   the authz rules instead of using the authz recursion approximation.
>
> * mod_dav might perform that recursion by default. From talking
>   to Ben, it seems though that is probably not the case.
>
> Idea how to solve the issue in SVN proper:
>
> * Introduce c(reate) and d(elete) access rights. The data structures
>   on the authzperf branch have plenty of unused bit flags left.
>
FWIW: Note that tag creation usually consist copy + modify some files
in commit. Like svn_version.h in our case [1]. I mean that granting
'create' access to tags folder wouldn't be enough to allow tags
creation, but prevent commits to them.

-- 
Ivan Zhakov

Reply via email to