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

bug in HTTP protocol spec

From
Dorian Taylor <dorian.taylor.lists@gmail.com>
Date
Feb 21, 2018, 18:29 UTC
Message-ID
<4F85B1C3-9B5B-4D7C-8907-B728C18A70CD@gmail.com>
Hello list,
I had been banging my head all morning trying to figure out why I couldn’t get a little HTTP implementation to clone/push via the smart protocol (just wrapping git-receive-pack/git-upload-pack). I kept getting the following (likely familiar to some) error:

``` fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists. ```

I didn’t get an insight until I ran with GIT_TRACE_PACKET=true on a known-good remote (i.e. GitHub), that the null packet-line `0000` has to follow the service line. This is not reflected in the example here:
https://github.com/git/git/blob/6464679d9620d91b639e2681b9cc6473f3856d09/Documentation/technical/http-protocol.txt#L216
It is also not reflected in the BNF:
https://github.com/git/git/blob/6464679d9620d91b639e2681b9cc6473f3856d09/Documentation/technical/http-protocol.txt#L279
(Note these links are from the most recent commit of this file as of this writing.)
Just thought somebody would like to know.
Regards,

-- Dorian Taylor Make things. Make sense. https://doriantaylor.com

Next: Jeff King
Message 1 of 13 in “bug in HTTP protocol spec”
  1. Dorian TaylorFeb 21, 2018
  2. Jeff KingFeb 21, 2018
  3. Dorian TaylorFeb 21, 2018
  4. Jonathan NiederFeb 22, 2018
  5. Dorian TaylorFeb 22, 2018
  6. Jeff KingFeb 22, 2018
  7. Dorian TaylorFeb 22, 2018
  8. Junio C HamanoFeb 22, 2018
  9. Dorian TaylorFeb 22, 2018
  10. smart-http: document flush after "# service" lineJeff King, Mar 3, 2018
  11. Eric SunshineMar 3, 2018
  12. Jeff KingMar 3, 2018
  13. Brandon WilliamsFeb 22, 2018

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.