[prev in list] [next in list] [prev in thread] [next in thread] 

List:       subversion-issues
Subject:    =?UTF-8?B?W0lzc3VlIDI0ODVdIE5ldyAtIEF1dGh6IHJlcG9zaXRvcnkgbWF0Yw==?=
From:       lgo () tigris ! org
Date:       2006-01-22 20:12:29
Message-ID: 20060122201229.16400.qmail () tigris ! org
[Download RAW message or body]

http://subversion.tigris.org/issues/show_bug.cgi?id=2485
                 Issue #|2485
                 Summary|Authz repository matching is both case sensitive and c
                        |ase insensitive ( both Windows & Linux )
               Component|subversion
                 Version|1.3.x
                Platform|PC
                     URL|
              OS/Version|Windows XP
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|libsvn_subr
             Assigned to|issues@subversion
             Reported by|lgo






------- Additional comments from lgo@tigris.org Sun Jan 22 12:12:29 -0800 2006 -------
Environment: Subversion 1.3 on Windows (XP).
             mod_authz_svn on apache 2.0.55
             
Problem description:

The original problem is that repositories on a Windows Subversion 1.3 server are
not always accessible anymore from working copies with a different cased url.
[ Thread on users list is available at:
http://svn.haxx.se/users/archive-2006-01/0750.shtml ]

Example environment: 
- a repository in c:\svn\repos
- a working copy of that repository pointing to http://localhost/svn/REPOS
- an authz access file containing:

[/]
* = r

[repos:/trunk]
* = rw


When committing a changed file from the working copy, the commit will fail with
error:
Error: Commit failed (details follow):  
Error: MKACTIVITY of '/svn/REPOS/!svn/act/de187878-21c7-f043-8c80-474dfd67c66d':
403   
Error: Forbidden (http://localhost)  

For unix users this might seem logical, and I'm pretty sure this is expected
behaviour, but:

1. A subversion 1.2.3 server handled this without problems. Which makes this an
undocumented change in behaviour.

2. It turns out that the repository matching functions in authz, all use the
find_option function in libsvn_subr/config.c, which is case insensitive! 

This leads to another type of unexpected behaviour: On linux, if you have two
repositories 'test' and 'TEST', it is not possible to specify different authz
rules for those, because the rules you define for repository 'test' will also
match for repository 'TEST'.
   
I discussed this with David Anderson on irc, and the current suggestion is the
make find_option case sensitive for matching repository names. 
This means that people on Windows will have to stick to exact cased letters.
Since URI's are case sensitive as well that seems to be the most logical choice.

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@subversion.tigris.org
For additional commands, e-mail: issues-help@subversion.tigris.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic