From: Piotr Szlazak Date: Thu, 11 Jul 2024 09:18:37 GMT Subject: Re: [PATCH] doc: update http.cookieFile with in-memory cookie processing Message-ID: <3f69ec61-1ee3-4f4b-a773-86cbf73a627b@gmail.com> In-Reply-To: On 10.07.2024 01:05, Junio C Hamano wrote: > "Piotr Szlazak via GitGitGadget" writes: > >> http.cookieFile:: >> The pathname of a file containing previously stored cookie lines, >> - which should be used >> - in the Git http session, if they match the server. The file format >> - of the file to read cookies from should be plain HTTP headers or >> - the Netscape/Mozilla cookie file format (see `curl(1)`). >> + which should be used in the Git http session, if they match the server. >> + The file format of the file to read cookies from should be plain HTTP >> + headers or the Netscape/Mozilla cookie file format (see `curl(1)`). > With line wrapping it is hard to see if there is any change above > here, but I assume there is none? Sorry for bad formatting, I'm still learning. > >> + Set it to empty value, to enable in-memory cookies processing. > Is it understandable what "in-memory cookies processing" means to > expected audience of this manual page? I somehow doubt it (I > certainly do not know what you wanted it to mean). I pushed PATCH 2, this time without curl/libcurl terminology (i.e. without calling it in-memory cookie processing). Hope it helps. I also mentioned there that http.saveCookies has no effect if '' was used for http.cookieFile. Regards! -- Piotr Szlazak > > https://curl.se/libcurl/c/CURLOPT_COOKIEFILE.html has this to say: > > By passing the empty string ("") to this option, you enable the > cookie engine without reading any initial cookies. > > But http.cookiefile is also used for CURLOPT_COOKIEJAR when > http.savecookies is true. Its documentation page does not say what > would happen if you give an empty string to it. > > So, a casual one-line mention you added is a bit irresponsible. At > least you should warn against setting http.savecookies if the user > chooses to use "" for this, or better yet, fix the codepath to use > http.savecookies to prevent us from writing to a file with an empty > filename. > > Also the libcURL documentation for CURLOPT_COOKIEFILE has another > thing that is a bit worrysome: > > If you tell libcurl the filename is "-" (just a single minus > sign), libcurl instead reads from stdin. > > So you can easily get your git get stuck by doing > > git -c http.cookiefile=- fetch https://..... > > as libcURL will want to read from your stdin, while you are waiting > for the fetch to finish and are not typing anything? >