git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git-http-backend: anonymous read, authenticated write

From
Jeff King <peff@peff.net>
Date
Apr 10, 2013, 21:47 UTC
Message-ID
<20130410214722.GA6215@sigill.intra.peff.net>
In-Reply-To
<5165DA13.8010100@gmail.com>
On Wed, Apr 10, 2013 at 11:30:59PM +0200, Jakub Narębski wrote:
Show 8 quoted lines
> >   1. GET $repo/info/refs?service=git-receive-pack
> > 
> >      This makes initial contact and gets the ref information which push
> >      uses to decide what it is going to push. So it is read-only, and in
> >      an anonymous-read setup, does not need to be protected.
> 
> Yes, it doesn't need to be protected, but *git-receive-pack* requires
> (or required) valid user even for above GET request for getting refs.

Right. But that is not anything receive-pack is doing; it is up to his webserver config, which is why I asked to see it.

Show 14 quoted lines
> >   2. POST $repo/git-receive-pack
> > 
> >      This actually pushes up the objects and updates the refs, and
> >      must be protected.
> > 
> > The setup listed above does work with apache; it is tested as part of
> > our test suite (you can see the actual config in t/lib-httpd/apache.conf).
> > So what in lighttpd is giving us the 403? Can you share your whole
> > config?
> 
> I think I have seen a patch on git mailing list to correct this, but
> I am not sure.
> 
> Are you sure that we test this correctly?

Perhaps you are thinking of the jk/maint-http-half-auth-push topic from last August/September. It explicitly tests the setup from the manpage. The relevant commits are 4c71009 (t: test http access to "half-auth" repositories, 2012-08-27) which demonstrates the problem, and b81401c (http: prompt for credentials on failed POST, 2012-08-27).

However, even before the fix, it never got a 403 on the GET of info/refs. It got a 401 on the later POST, but didn't prompt for credentials.

-Peff
Previous: Jakub NarębskiNext: Magnus Therning
Message 8 of 23 in “git-http-backend: anonymous read, authenticated write”
  1. Magnus TherningApr 9, 2013
  2. Jakub NarębskiApr 9, 2013
  3. Magnus TherningApr 10, 2013
  4. Jeff KingApr 9, 2013
  5. Magnus TherningApr 10, 2013
  6. Jeff KingApr 10, 2013
  7. Jakub NarębskiApr 10, 2013
  8. Jeff KingApr 10, 2013
  9. Magnus TherningApr 10, 2013
  10. Jeff KingApr 11, 2013
  11. 0/2 http-backend documentation examplesJeff King, Apr 11, 2013
  12. 1/2 doc/http-backend: clarify "half-auth" repo configurationJeff King, Apr 11, 2013
  13. Magnus TherningApr 11, 2013
  14. 2/2 doc/http-backend: give some lighttpd config examplesJeff King, Apr 11, 2013
  15. Jakub NarębskiApr 11, 2013
  16. Jeff KingApr 11, 2013
  17. Jakub NarębskiApr 11, 2013
  18. 3/2 doc/http-backend: match query-string in apache half-auth exampleJeff King, Apr 13, 2013
  19. Jakub NarębskiApr 13, 2013
  20. Magnus TherningApr 11, 2013
  21. Jeff KingApr 11, 2013
  22. Magnus TherningApr 12, 2013
  23. Jakub NarębskiApr 11, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.