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

Re: [PATCH] Add ERR support to smart HTTP

From
Sitaram Chamarty <sitaramc@gmail.com>
Date
Sep 8, 2010, 14:36 UTC
Message-ID
<AANLkTinPb+3rwUg5mwUN+HBkuj2SzLpiG=hCp+WOfu0S@mail.gmail.com>
In-Reply-To
<20100906181921.GN32601@spearce.org>
2010/9/6 Shawn O. Pearce <spearce@spearce.org>:
Show 19 quoted lines
> Sitaram Chamarty <sitaramc@gmail.com> wrote:
>> On Mon, Sep 6, 2010 at 8:26 PM, Shawn O. Pearce <spearce@spearce.org> wrote:
>> > That is, the following will trigger a correct error on the client:
>> >
>> >  200 OK
>> >  Content-Type: application/x-git-upload-pack-advertisement
>> >
>> >  001e# service=git-upload-pack
>> >  0022ERR You shall not do this
>>
>> are those counts accurate for the specific example you show or just made up?
>>
>> It seems the first line has a count in hex that includes the newline
>> at the end, and the second one has a count in decimal that does not
>> include the newline nor even the 4-digits plus "ERR"
>
> Feh.  I can't count.  The first count is correct.  The second count
> should also be 001e.  I guess that should be obvious by just looking
> at the two lines, they are equal in length.  :-)
Summary of offline discussion with Shawn, so that others can find it if needed:
The first packet (after the HTTP headers of course) should be
XXXX# service=git-upload-pack\n

(or the same with upload replaced by receive). These are the service names passed in the service query parameter (/info/refs?service=...).

The XXXX is a hex length of the whole thing. For these two specific cases, they will be 1E and 1F.

This should be followed by "0000" (with no \n at the end). This is a special packet that means "this sequence of messages is done".

After this you can send any error messages, as follows:
XXXXERR your message\n

where again the XXXX is a hex count of the whole string (including 4 for the count itself, 4 for "ERR ", and a newline if you add it).

-- 
Sitaram
Previous: Shawn O. PearceNext: Sitaram Chamarty
Message 15 of 18 in “Add ERR support to smart HTTP”
  1. Add ERR support to smart HTTPIlari Liusvaara, Sep 5, 2010
  2. Jonathan NiederSep 5, 2010
  3. Ilari LiusvaaraSep 5, 2010
  4. Ævar Arnfjörð BjarmasonSep 5, 2010
  5. Ilari LiusvaaraSep 5, 2010
  6. Jakub NarebskiSep 5, 2010
  7. Sitaram ChamartySep 6, 2010
  8. Sitaram ChamartySep 6, 2010
  9. Ævar Arnfjörð BjarmasonSep 6, 2010
  10. Jakub NarebskiSep 6, 2010
  11. Joshua JuranSep 6, 2010
  12. Shawn O. PearceSep 6, 2010
  13. Sitaram ChamartySep 6, 2010
  14. Shawn O. PearceSep 6, 2010
  15. Sitaram ChamartySep 8, 2010
  16. Sitaram ChamartySep 6, 2010
  17. Jakub NarebskiSep 6, 2010
  18. Jonathan NiederSep 5, 2010

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.