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

Square brackets in file names and authz (in VisualSVN 2.5.5)

From: Jason Heeris <jason.heeris_at_gmail.com>
Date: Wed, 11 Jul 2012 13:13:09 +0800

(Please CC me on replies, I'm not subscribed to the list.)

My basic problem is: I want to restrict access (read and/or write) to paths
that contain spaces, square brackets and '#'s.

The details: I have an application that uses an SVN repo to store file
attachments. The paths to these attachments are also recorded in a MySQL
database — the path and revision information are used by the app. In order
to maintain uniqueness of paths, and to allow people to identify files in
the repository when working outside the app, all files are prefixed with an
ID, so the filenames have the form:

    [12345] some file name.ext

Recently the requirement was added to impose SVN-level access control, so
after looking at the options I went with VisualSVN Server 2.5.5, which is
built on Apache Subversion 1.7.5. It gives me (and more importantly, my
manager) a GUI to manage access control. Under the hood, however, VisualSVN
seems to use an "authz-windows" file identical in format to the typical
"authz" file to maintain access control information.

The problem is this: it doesn't seem to work on files with the '[' or ']'
characters in their name. Ignoring VisualSVN's GUI for now, I've tried
going one step further and editing the "authz-windows" file by hand and I
just can't seem to get it to work. I've tried variations like:

    [repo:/path/to/[12345] file.ext]
    [repo:/path/to/%5B12345%5D%20file.ext]
    [repo:"/path/to/[12345] file.ext"]
    [repo:/path/to/\[12345\] file.ext]

...but none of them actually restrict access to the file in question. I can
restrict access to other files or paths in the same repository with the
same file, so I know that ACL works to some extent. I just can't find any
documentation that says that '[' or ']' are illegal in SVN, or that "authz"
style access control adds restrictions to characters. Also,
"svnauthz-validate" returns 0 for all of the above forms.

It's also worth pointing out that some paths have the "#" character in
them. What do I do when I get to those?

— Jason
Received on 2012-07-11 07:13:48 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.