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

Possible regression in git-http-backend

From
DWDaniel Wallace <dwallace@saltstack.com>
Date
Apr 25, 2017, 23:39 UTC
Message-ID
<CAA2+9hC4d0+igaSV6ziC55=KZGYrZN2A+8-Enhm0F4hExH3m_Q@mail.gmail.com>
I am not sure if this is a regression or not, but I wanted to get feedback.
It looks like this commit changed some behavior in git-http-backend
https://git.kernel.org/pub/scm/git/git.git/commit/?id=6bc0cb5176a5e42ca4a74e3558e8f0790ed09bb1

The change that it has made is that it no git-upload-pack hangs when uwsgi doesn't close stdin.

http://lists.unbit.it/pipermail/uwsgi/2016-April/008440.html

This was the only place I could find this discussed online for uwsgi (but I did find several blog posts comments mentioning the issue). It looks like it was worked around in uwsgi >= 2.0.13 by adding the setting `cgi-close-stdin-on-eof = true`. But there was some discussion last year that this shouldn't be needed based on the RFC for cgi?

http://lists.unbit.it/pipermail/uwsgi/2016-May/008462.html http://web.archive.org/web/20100212094332/http://hoohoo.ncsa.illinois.edu/cgi/in.html

""" The server will send CONTENT_LENGTH bytes on this file descriptor. Remember that it will give the CONTENT_TYPE of the data as well. The server is in no way obligated to send end-of-file after the script reads CONTENT_LENGTH bytes. """

Here is a gist for providing a config setup, I used the latest nginx from the nginx repo for centos 7 and uwsgi 2.0.14 from epel. The setup requires starting nginx.service and uwsgi.service and creating a bare repo in /srv/git/ and running

https://gist.github.com/gtmanfred/8b2e26b07db3c75094d0607048b2c828

Thanks, Daniel

Next: Jeff King
Message 1 of 2 in “Possible regression in git-http-backend”
  1. Daniel WallaceApr 25, 2017
  2. Jeff KingApr 27, 2017

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.