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

Re: [PATCH] remote-curl: avoid hang if curl asks for more data after eof

From
Jiří Hruška <jirka@fud.cz>
Date
Nov 14, 2023, 23:33 UTC
Message-ID
<CAGE_+C7h6HOh+ptdhwJ3MNn5HWFoc1WF-foLRrew6FJEo_yupg@mail.gmail.com>
In-Reply-To
<xmqqv8a515ge.fsf@gitster.g>
> Is this a bug on our side, or cURL library calling us when it should not?

I thought the same and yes, I suppose it _might_ be potentially considered a bug on cURL side in the first place. But then also

1/ it is not mandated anywhere in the API that the callback will never be
   called again after already getting an EOF once,
2/ I looked at libcurl code and it was not entirely clear to me that the
   behavior would be accidental, that it could be clearly called as a bug,
3/ anything that follows how fread() works would never be affected,
   but git-remote-curl is, because it does something differently,
4/ even if it gets fixed in libcurl today, people might be building Git with
   whatever old versions of the library for years to come,
so worth fixing here in any case (imho).

But I'll reach out to curl-library and get their opinion, so that we have a full picture here. Thanks

Previous: Junio C HamanoNext: Jiří Hruška
Message 4 of 18 in “remote-curl: avoid hang if curl asks for more data after eof”
  1. remote-curl: avoid hang if curl asks for more data after eofJiří Hruška, Nov 13, 2023
  2. Jonathan TanNov 13, 2023
  3. Junio C HamanoNov 14, 2023
  4. Jiří HruškaNov 14, 2023
  5. Jiří HruškaNov 27, 2023
  6. Jiří HruškaNov 14, 2023
  7. 0/5 Avoid hang if curl needs eof twice + minor related improvementsJiří Hruška, Nov 15, 2023
  8. Jonathan TanNov 15, 2023
  9. Jiří HruškaNov 27, 2023
  10. Jonathan TanNov 27, 2023
  11. 2/5 remote-curl: improve readability of curl callbacksJiří Hruška, Nov 15, 2023
  12. 1/5 remote-curl: avoid hang if curl asks for more data after eofJiří Hruška, Nov 15, 2023
  13. Jonathan TanNov 15, 2023
  14. 3/5 remote-curl: simplify rpc_out() - remove superfluous ifsJiří Hruška, Nov 15, 2023
  15. 4/5 remote-curl: simplify rpc_out() - less nesting and renameJiří Hruška, Nov 15, 2023
  16. 5/5 http: reset CURLOPT_POSTFIELDSIZE_LARGE between requestsJiří Hruška, Nov 15, 2023
  17. Patrick SteinhardtNov 15, 2023
  18. Jiří HruškaNov 27, 2023

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.