Hi Daniel,
thank you for your response.
i have tried to recreate customer issue in a test repo so that i dont
expose customer name,
i have created mostly same path structure to the uasset file and
created same authz file in my repo

authz file

[groups]
r_users = andrei

[:glob:/]
* = rw

[:glob:/**/*.uasset]
@r_users = rw

[:glob:/**/Source/**]
@r_users =

server version is the same

Apache/2.4.25 (Debian) SVN/1.14.1 mod_wsgi/4.5.11 Python/2.7


i still get same error in my test repo

$ svn rm
https://subversion.assembla.com/svn/andrei-hook-test/trunk/SomeTestProject/Projects/ShooterGame/Content/Mods/OtherProjectName/Assets/Foliage/Trees/StepeeGrass/Grass01/SteppeGrass01.uasset
svn: E175013: Access to
'/svn/andrei-hook-test/!svn/txr/13-e/trunk/SomeTestProject/Projects/ShooterGame/Content/Mods/OtherProjectName/Assets/Foliage/Trees/StepeeGrass/Grass01/SteppeGrass01.uasset'
forbidden
svn: E175013: Your commit message was left in a temporary file:
svn: E175013:    'svn-commit.6.tmp'


here is the info detail you was asking for

$ svn info
https://subversion.assembla.com/svn/andrei-hook-test/trunk/SomeTestProject/Projects/ShooterGame/Content/Mods/OtherProjectName/Assets/Foliage/Trees/StepeeGrass/Grass01/SteppeGrass01.uasset
Path: SteppeGrass01.uasset
Name: SteppeGrass01.uasset
URL:
https://subversion.assembla.com/svn/andrei-hook-test/trunk/SomeTestProject/Projects/ShooterGame/Content/Mods/OtherProjectName/Assets/Foliage/Trees/StepeeGrass/Grass01/SteppeGrass01.uasset
Relative URL:
^/trunk/SomeTestProject/Projects/ShooterGame/Content/Mods/OtherProjectName/Assets/Foliage/Trees/StepeeGrass/Grass01/SteppeGrass01.uasset
Repository Root: https://subversion.assembla.com/svn/andrei-hook-test
Repository UUID: 9cc42384-c8a0-427d-8479-b41cec84e7da
Revision: 13
Node Kind: file
Size in Repository: 492
Last Changed Author: andrei
Last Changed Rev: 13
Last Changed Date: 2021-08-01 00:48:13 +0200 (Sun, 01 Aug 2021)

So in this case I have directly submitted the files in my test repo, so
these have no parents, and have a single revision, still the same authz
forbidden error is happening,
do i have to report a bug at the issues.apache.org for this one?
Thanks,
Andrei

On Sat, Jul 31, 2021 at 3:17 AM Daniel Shahaf <d...@daniel.shahaf.name>
wrote:

> Daniel Shahaf wrote on Sat, Jul 31, 2021 at 00:41:48 +0000:
> > Now, the delete logic should request a *non* recursive access check if
> > the thing to be deleted is a plain file in HEAD.
> subversion/libsvn_repos/commit.c:delete_entry()
> > does behave this way — when the .uasset path identifies a non-directory
> > in HEAD, which is why I asked about that above — but if I'm reading
> > mod_authz_svn's code correctly, it requires svn_authz_recursive access
> > on all DELETE calls, regardless of whether a file or a directory is
> > being requested to be deleted.
> >
> > Which is to say, this would seem to be a bug in mod_authz_svn.
>
> The following test results in SKIP/PASS/XFAIL on ra_local/ra_svn/ra_serf,
> respectively.  It's a bit rough — no comments and line length style
> violation — but putting it here for anyone who may want to take this
> further.
>
> When testing this I commented out the AuthzSVNReposRelativeAccessFile
> line in davautocheck.sh for reasons discussed in the "1.14.x test
> failure under USE_HTTPV1=1: ra-test 13 commit_empty_last_change" thread
> (the secondary problem in that thread, not the one the subject line is
> about).
>
> Cheers,
>
> Daniel
>
>
> [[[
> Index: subversion/tests/cmdline/authz_tests.py
> ===================================================================
> --- subversion/tests/cmdline/authz_tests.py     (revision 1891909)
> +++ subversion/tests/cmdline/authz_tests.py     (working copy)
> @@ -1732,6 +1732,25 @@ def empty_group(sbox):
>                                       sbox.repo_url)
>
>
> +@XFail(svntest.main.is_ra_type_dav)
> +@Skip(svntest.main.is_ra_type_file)
> +def delete_file_with_starstar_rules(sbox):
> +  "delete file with ** rules"
> +
> +  sbox.build(create_wc = False)
> +
> +  write_restrictive_svnserve_conf(sbox.repo_dir)
> +
> +  prefixed_rules = dict()
> +  prefixed_rules[':glob:/**/lorem'] = '* = \n'
> +  prefixed_rules['/'] = '%s = rw\n' % (svntest.main.wc_author,)
> +  prefixed_rules['/A'] = '%s = \n' % (svntest.main.wc_author,)
> +  prefixed_rules['/iota'] = '%s = rw\n' % (svntest.main.wc_author,)
> +  write_authz_file(sbox, None, prefixed_rules = prefixed_rules)
> +
> +  svntest.main.run_svn(None, 'rm', sbox.repo_url + '/iota', '-m', 'Delete
> by URL')
> +
> +
>  ########################################################################
>  # Run the tests
>
> @@ -1771,6 +1790,7 @@ test_list = [ None,
>                inverted_group_membership,
>                group_member_empty_string,
>                empty_group,
> +              delete_file_with_starstar_rules,
>               ]
>  serial_only = True
>
> ]]]
>

Reply via email to