Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
1.3.x
-
None
-
Windows XP
Description
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.
Attachments
Issue Links
- duplicates
-
SVN-3781 Match paths against authz rules in case sensitive way.
- Closed