On Wed, Apr 10, 2013 at 10:45:44PM +0200, Magnus Therning wrote:
> I was putting together a *long* response, with my different
> configurations when it suddenly hit me how to make it work.
>
> So, this is the accesslog for a successful `git push`:
>
> 192.168.1.84 tracsrv.local - [10/Apr/2013:22:24:59 +0200] "GET
> /git/foo.git/info/refs?service=git-receive-pack HTTP/1.1" 401 351 "-"
> "git/1.8.2.1"
> 192.168.1.84 tracsrv.local - [10/Apr/2013:22:24:59 +0200] "GET
> /git/foo.git/info/refs?service=git-receive-pack HTTP/1.1" 401 351 "-"
> "git/1.8.2.1"
> 192.168.1.84 tracsrv.local magnus [10/Apr/2013:22:25:04 +0200] "GET
> /git/foo.git/info/refs?service=git-receive-pack HTTP/1.1" 200 202 "-"
> "git/1.8.2.1"
> 192.168.1.84 tracsrv.local magnus [10/Apr/2013:22:25:09 +0200] "POST
> /git/foo.git/git-receive-pack HTTP/1.1" 200 73 "-" "git/1.8.2.1"
>
> That is, *both* the GET and POST queries require a valid username
> (trying to push without a valid user will fail with a 403 already on
> the GET query). Maybe Apache 2.x simply behaves *very* differently
> from lighttpd, but I still can't see how a rule to require a valid
> user only on the POST can ever work.
Right. But that is not configured at all by the apache config shown in
the manpage:
<LocationMatch "^/git/.*/git-receive-pack$">
AuthType Basic
AuthName "Git Access"
Require group committers
...
</LocationMatch>
which should not match on the info/refs request at all. That is why I
suspect there is something else wrong in your lighttpd config, or
something wrong in the conversion of the apache config to lighttpd.
Anyway, it sounds like you found a working config.
-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html