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

[PATCH] Docs: web server must setenv GIT_PROTOCOL for v2

From
Konstantin Ryabitsev <konstantin@linuxfoundation.org>
Date
Sep 4, 2021, 15:17 UTC
Message-ID
<20210904151721.445117-1-konstantin@linuxfoundation.org>

For the server-side to properly respond to v2 protocol requests, the webserver must set the GIT_PROTOCOL environment variable to the value of the Git-Protocol: request header.

Link: https://lore.kernel.org/git/YTNtVJy6sCfQ7T3L@coredump.intra.peff.net/
Reported-by: Philippe Blain <levraiphilippeblain@gmail.com>
Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
---
 Documentation/technical/protocol-v2.txt | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
diff --git a/Documentation/technical/protocol-v2.txt b/Documentation/technical/protocol-v2.txt
index 1040d85319..7a0e97cc8d 100644
--- a/Documentation/technical/protocol-v2.txt
+++ b/Documentation/technical/protocol-v2.txt
@@ -81,6 +81,21 @@ A v2 server would reply:
 Subsequent requests are then made directly to the service
 `$GIT_URL/git-upload-pack`. (This works the same for git-receive-pack).
 
+The web server handling the requests must properly set the GIT_PROTOCOL
+environment variable when it finds `Git-Protocol` in the request headers.
+
+Apache example:
+
+   SetEnvIf Git-Protocol ".*" GIT_PROTOCOL=$0
+
+Nginx + uwsgi example:
+
+   uwsgi_param GIT_PROTOCOL $http_git_protocol;
+
+Nginx + fastcgi example:
+
+   fastcgi_param GIT_PROTOCOL $http_git_protocol;
+
 Capability Advertisement
 ------------------------
 

base-commit: e0a2f5cbc585657e757385ad918f167f519cfb96
-- 
2.31.1
Next: Jeff King
Message 1 of 20 in “Docs: web server must setenv GIT_PROTOCOL for v2”
  1. Docs: web server must setenv GIT_PROTOCOL for v2Konstantin Ryabitsev, Sep 4, 2021
  2. Jeff KingSep 4, 2021
  3. Junio C HamanoSep 7, 2021
  4. Konstantin RyabitsevSep 7, 2021
  5. Jeff KingSep 8, 2021
  6. Jeff KingSep 8, 2021
  7. Eric WongSep 8, 2021
  8. Junio C HamanoSep 9, 2021
  9. Junio C HamanoSep 9, 2021
  10. Jeff KingSep 10, 2021
  11. Jeff KingSep 10, 2021
  12. 1/5 t5551: test v2-to-v0 http protocol fallbackJeff King, Sep 10, 2021
  13. 2/5 http-backend: handle HTTP_GIT_PROTOCOL CGI variableJeff King, Sep 10, 2021
  14. 3/5 docs/http-backend: mention v2 protocolJeff King, Sep 10, 2021
  15. 4/5 docs/git: discuss server-side config for GIT_PROTOCOLJeff King, Sep 10, 2021
  16. 5/5 docs/protocol-v2: point readers transport config discussionJeff King, Sep 10, 2021
  17. Junio C HamanoSep 10, 2021
  18. Philippe BlainSep 9, 2021
  19. Junio C HamanoSep 10, 2021
  20. Jeff KingSep 10, 2021

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.