Project

General

Profile

Help with custom svn access control (what is repo/!svn/vcc/default)

Added by cheshirekow . over 12 years ago

I've modified Redmine.pm so that it doesn't require reposman.rb (i.e. it doesn't require that repositories be named by projects). The reason for doing this is that we already have a couple of monolithic svn repositories with hundreds of projects, and the naming convention can't be mapped to project identifiers in redmine. The way I have it working is that the modified Redmine.pm performs a text matching query on the requested URL to find if there are any projects containing this repository that the user is authorized for (probably this is "slow" but it seems to be working quite well).

Now, I thought this was working at first, but not quite. I've got a project which is public and has it's repository at repo/project, but when I put some logging in my Redmine.pm and try to checkout this project (i.e. via http://server/svn/repo/project) I see that there is an svn request for "/svn/repo/!svn/vcc/default". Since my Redmine.pm searches for a project with this as it's repository, it clearly doesn't find one, and so the access handler denies the user access.

So, can anyone tell me what the "!svn/" directory is/means?
Is it "safe" to just grant access to all urls of the form "svn/repo/!svn/*" (or what are the ramifications of doing so)?
Will doing so allow people to view/download things that aren't public (i.e. parts of svn/repo/project_b)?
Are there any other kinds of "pseudo-urls" that I need to make open other than those of the form "repo/!svn/*"?
Is it a lost cause to try and set it up so that "repo/project_a" public and "repo/project_b" private?

Thanks for any advice.


Replies (1)

RE: Help with custom svn access control (what is repo/!svn/vcc/default) - Added by cheshirekow . over 12 years ago

I've implemented the change so that access is granted for any url matching /\/!svn\//. This seems to have solved the problem and access appears to be allowed where I want it to and disallowed where I dont, but again I don't know how safe this is.

    (1-1/1)