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

[BUG] svn info segfaults after svn cp on a restricted permission directory

From: Arwin Arni <arwin_at_collab.net>
Date: Tue, 27 Sep 2011 11:49:48 +0530

Hi All,

Here is the issue:

Repo contains:

  .
  `-- A
      `-- B

This was committed by the user 'admin'.

Authz rules are:
[/]
admin=rw
arwin=rw
[/A/B]
admin=rw
arwin=

---------------------------------------------------------------
Using 1.6.x:

$svn co http://r52/svn/cp_fail_repo --username=arwin wc_fail
A wc_fail/A
Checked out revision 1.

$cd wc_fail
$svn cp A C
svn: Directory 'C/B' is missing
svn: Directory 'C/B' is missing

$svn st
? C

$svn info C
Path: C
URL: http://r52/svn/cp_fail_repo/A
Repository Root: http://r52/svn/cp_fail_repo
Repository UUID: 0a0eb43e-3f08-4eaa-9b65-b9cc7530273a
Revision: 1
Node Kind: directory
Schedule: normal
Last Changed Author: admin
Last Changed Rev: 1
Last Changed Date: 2011-09-27 11:22:49 +0530 (Tue, 27 Sep 2011)

---------------------------------------------------------------
Using 1.7.x:

$svn co http://r52/svn/cp_fail_repo --username=arwin wc_fail
A wc_fail/A
Checked out revision 1.

$cd wc_fail
$svn cp A C
A C
svn: E155035: Cannot copy '/tmp/1.7.x/cp_fail_wcs/wc_fail/A' excluded by
server

$svn st
A + C
! C/B

$svn info C
Path: C
Working Copy Root Path: /tmp/1.7.x/cp_fail_wcs/wc_fail
URL: http://r52/svn/cp_fail_repo/C
Repository Root: http://r52/svn/cp_fail_repo
Repository UUID: 43eb70fe-f340-49b2-bf98-988167f4544c
Revision: 1
Node Kind: directory
Schedule: add
Copied From URL: http://r52/svn/cp_fail_repo/A
Copied From Rev: 1
Last Changed Author: admin
Last Changed Rev: 1
Last Changed Date: 2011-09-27 11:32:41 +0530 (Tue, 27 Sep 2011)

$svn info C/B
Segmentation fault
$

There is more to this issue:
svn cp ^/A C
svn cp A ^/C
svn cp ^/A ^C

All have different and interesting errors.

I've attached a shell script which will help you reproduce this easily.
Also, I'm in the process of writing a test-case for this, but I don't
know which set of tests it belongs to - authz_tests.py or copy_tests.py
or info_tests.py. Clearly, the authz subsystem is doing what it is meant
to do, but on the working copy side, 'copy' is doing something nasty,
which I believe causes 'info' to Segfault.

Regards,
Arwin Arni

Received on 2011-09-27 08:20:33 CEST

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