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

[PATCHv5 0/2] Implement the GIT_TRACE_CURL environment variable

From
Elia Pinto <gitter.spiros@gmail.com>
Date
May 2, 2016, 14:28 UTC
Message-ID
<20160502142813.50868-1-gitter.spiros@gmail.com>

This is the fifth version but in reality is the complete rewriting of the patches discussed here (here called V1)

$gmane/290520 $gmane/290521

*Changes from V4 ($gmane/292867)

-  add a better abstraction with the routine setup_curl_trace
-  curl_dump : drop the noex parameter, define nopriv boolean as int
-  use decimal constant where appropiate
-  fix multi-line comment
-  redo the authorization header skip with a replace of possible sensitive data. 
   We prefer to print only:
       09:00:53.238330 http.c:534              => Send header: Authorization:  <redacted>
   intested of 
       09:00:53.238330 http.c:534              => Send header: Authorization:  Basic(o other scheme) <redacted>
   as it was done in the original proposed suggestion by Jeff King. 
   This is because i think it's better not to print even the authorization scheme.
   We add also the (previously missing) proxy-authorization case
-  curl_dump: fix strbuf memory leak 

as suggested by Jeff King ($gmane/292891) ($gmane/292892)

In this series i keep the original curl_dump parsing code, even though it is objectively difficult to read. This is because the same code is used internally by curl to do "ascii-trace" and is also reported in the libcurl code examples and test. I think this may make maintenance of code easier in the future (libcurl new dev, new features and so on)

Of course if the maintainer (or other) believes it is really necessary to rewrite the above code to accept the patches i will do.

*Changes from V3 ($gmane/292040)

- add missing static to curl_dump
- reorder the patch order
- tried to fix all (but i am not sure) the problems reported by Julio ($gmane/292055)
- * squash the documentation with the http.c commit.
  * in the trace prefix each line to indicate it is about sending a header, and drop the
    initial hex count
  * auto-censor Authorization headers by default
    as suggested by Jeff King ($gmane/292074)

*Changes from V2 ($gmane/291868)

- fix garbage comment in http.c (i am very sorry for that)
- add final '.' to the commit message for imap-send.c and to other commit messages
- typofix double ; in http.c
- merge the nice cleanup and code refactoring of Ramsay Jones (Thank you very much !!)
- squash the previous commit 2/4
*Changes from V1
- introduced GIT_TRACE_CURL variable with its documentation
- changed the name of the temporary variable "i" in "w" in the helper routine
- used the c escape sequences instead of the hex equivalent
- dropped the previous GIT_DEBUG_CURL env var
- curl_dump and curl_trace factored out to a shared implementation
in http.c
Elia Pinto (2):
  http.c: implement the GIT_TRACE_CURL environment variable
  imap-send.c: introduce the GIT_TRACE_CURL enviroment variable
 Documentation/git.txt |   8 ++++
 http.c                | 115 +++++++++++++++++++++++++++++++++++++++++++++++++-
 http.h                |   4 ++
 imap-send.c           |   1 +
 4 files changed, 126 insertions(+), 2 deletions(-)
-- 
2.8.2.435.ga07a3e0
Next: Elia Pinto
Message 1 of 9 in “[PATCHv5 0/2] Implement the GIT_TRACE_CURL environment variable”
  1. Elia PintoMay 2, 2016
  2. 1/2 http.c: implement the GIT_TRACE_CURL environment variableElia Pinto, May 2, 2016
  3. Ramsay JonesMay 2, 2016
  4. Jeff KingMay 2, 2016
  5. Junio C HamanoMay 2, 2016
  6. Jeff KingMay 2, 2016
  7. Junio C HamanoMay 2, 2016
  8. 2/2 imap-send.c: introduce the GIT_TRACE_CURL environment variableElia Pinto, May 2, 2016
  9. Jeff KingMay 2, 2016

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.