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

Re: authz woes

From: Shaun Johnson <shaun.johnson_at_gmail.com>
Date: 2007-08-14 18:59:24 CEST

Christoph,

On 8/14/07, Christoph Ludwig <ludwig@fh-worms.de> wrote:
> I removed all trailing slashes from the folder entries in my authz file and
> restarted the web server. But I did not observe any difference, Alice can
> still commit to /dir2 and so on.

Even though this change didn't resolve your problem it still needed to be done.

> Thanks. Howver, when I tried to start it, all I got was
> "java.lang.UnsupportedClassVersionError: Bad version number in .class
> file". Did you build the jar-file with Java 1.6? I am still at 1.5. (I don't
> want to upgrade because my notebook runs under MaxOS X for which there is no
> JDK 1.6. And I don't want to deal with different Java Runtimes on my
> machines.)

That's correct. Suafe requires Java 6. There are some changes to Swing
in Java 6 that Suafe uses.

> > > cludwig_at_testserver:~$ /opt/subversion-1.4.4/bin/svn co --username Alice --no-auth-cache https://testserver.fh-worms.de:8443/svn/test/TRUNK/ trunk_alice
> > > Authentication realm: <https://testserver.fh-worms.de:8443> subversion repositories
> > > Password for 'Alice':
> > > A trunk_alice/dir1
> > > A trunk_alice/dir1/dir1_1
> > > A trunk_alice/dir1/dir1_1/file_a
> > > A trunk_alice/dir1/dir1_2
> > > A trunk_alice/dir1/dir1_2/file_b
> > > A trunk_alice/dir2
> > > A trunk_alice/dir2/file_c
> > > Checked out revision 1.

If I read that correctly you are checking-out the "/TRUNK" folder from
the "test" repository. The TRUNK folder contains dir1 and dir2
folders: "/TRUNK/dir1" and "/TRUNK/dir2".

> > > Alice can checkout /dir2 without problems. (She can even commit modifications
> > > in /dir2.

I believe the reason that Alice can commit to dir2 is because the
authz file contains a rule for the path "/dir2", but Alice is
committing a change to "/TRUNK/dir2". The path within the authz file
doesn't match the path within the repository.

> > > Now to Bob. Bob can read / checkout everything as expected. But
> > > any attempt to checkin a changed file results in a "403 Forbidden"
> > > error, even in /dir1/dir1_1:
> > >
> > > cludwig@testserver:~/trunk_bob/dir1/dir1_1$ echo test_bob > file_a
> > > cludwig@testserver:~/trunk_bob/dir1/dir1_1$ /opt/subversion-1.4.4/bin/svn ci -m 'Can Bob write to /dir1/dir1_1 ?' --username Bob --no-auth-cache
> > > Authentication realm: <https://testserver.fh-worms.de:8443> subversion repositories
> > > Password for 'Bob':
> > > Sending dir1_1/file_a
> > > svn: Commit failed (details follow):
> > > svn: CHECKOUT of '/svn/test/!svn/ver/2/TRUNK/dir1/dir1_1/file_a': 403 Forbidden (https://testserver.fh-worms.de:8443)

According to the above syntax Bob is trying to commit changes to
"/TRUNK/dir1/dir1_1/file_a", and you expect it to work, but the rule
in the authz file specifies the path " /dir1/dir1_1", which does not
match "/TRUNK/dir1/dir1_1" Bob does not have r/w rights to
"/TRUNK/dir1/dir1_1".

> > > Finally, my intention was that Oskar has full access to /dir1/dir1_2/, but to
> > > no other folder. I know that (some) previous subversion releases required read
> > > access to / if one wanted any access to a subfolder, but I thought this
> > > restriction was lifted in 1.4. However, Oskar cannot even checkout
> > > /dir1/dir1_2/:
> > >
> > > cludwig_at_testserver:~$ /opt/subversion-1.4.4/bin/svn co --username Oskar --no-auth-cache https://testserver.fh-worms.de:8443/svn/test/TRUNK/dir1/dir1_2 dir1_2_oskar
> > > Authentication realm: <https://testserver.fh-worms.de:8443> subversion repositories
> > > Password for 'Oskar':
> > > svn: PROPFIND request failed on '/svn/test/TRUNK/dir1/dir1_2'
> > > svn: PROPFIND of '/svn/test/TRUNK/dir1/dir1_2': 403 Forbidden (https://testserver.fh-worms.de:8443)

This is the same problem as the above two. It just seems that you are
not specifying the full path of the folder within the authz file.
Subversion doesn't allow partial or relative paths within the authz
file; you must be explicit and specify the path from the root of the
repository.

Hope this helps.

Shaun

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Aug 14 18:57:31 2007

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