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

[PATCH 1/3] http: return curl's AUTHAVAIL via slot_results

From
Jeff King <peff@peff.net>
Date
Oct 31, 2013, 06:35 UTC
Message-ID
<20131031063530.GA5812@sigill.intra.peff.net>
In-Reply-To
<20131031063451.GA5513@sigill.intra.peff.net>

Callers of the http code may want to know which auth types were available for the previous request. But after finishing with the curl slot, they are not supposed to look at the curl handle again. We already handle returning other information via the slot_results struct; let's add a flag to check the available auth.

Note that older versions of curl did not support this, so we simply return 0 (something like "-1" would be worse, as the value is a bitflag and we might accidentally set a flag). This is sufficient for the callers planned in this series, who only trigger some optional behavior if particular bits are set, and can live with a fake "no bits" answer.

Signed-off-by: Jeff King <peff@peff.net>
---
 http.c | 6 ++++++
 http.h | 1 +
 2 files changed, 7 insertions(+)
diff --git a/http.c b/http.c
index 0ddb164..5c51865 100644
--- a/http.c
+++ b/http.c
@@ -761,6 +761,12 @@ void finish_active_slot(struct active_request_slot *slot)
 	if (slot->results != NULL) {
 		slot->results->curl_result = slot->curl_result;
 		slot->results->http_code = slot->http_code;
+#if LIBCURL_VERSION_NUM >= 0x070a08
+		curl_easy_getinfo(slot->curl, CURLINFO_HTTPAUTH_AVAIL,
+				  &slot->results->auth_avail);
+#else
+		slot->results->auth_avail = 0;
+#endif
 	}
 
 	/* Run callback if appropriate */
diff --git a/http.h b/http.h
index d77c1b5..81d4843 100644
--- a/http.h
+++ b/http.h
@@ -54,6 +54,7 @@
 struct slot_results {
 	CURLcode curl_result;
 	long http_code;
+	long auth_avail;
 };
 
 struct active_request_slot {
-- 
1.8.4.1.898.g8bf8a41.dirty
Previous: Jeff KingNext: Jeff King
Message 5 of 17 in “remote-curl: fix large pushes with GSSAPI”
  1. remote-curl: fix large pushes with GSSAPIbrian m. carlson, Oct 29, 2013
  2. Jeff KingOct 30, 2013
  3. brian m. carlsonOct 30, 2013
  4. Jeff KingOct 31, 2013
  5. 1/3 http: return curl's AUTHAVAIL via slot_resultsJeff King, Oct 31, 2013
  6. 2/3 remote-curl: pass curl slot_results back through run_slotJeff King, Oct 31, 2013
  7. [BUG?] "error: cache entry has null sha1"Junio C Hamano, Oct 31, 2013
  8. Jeff KingOct 31, 2013
  9. Jeff KingOct 31, 2013
  10. Junio C HamanoOct 31, 2013
  11. Re* [BUG?] "error: cache entry has null sha1"Junio C Hamano, Nov 1, 2013
  12. 1/3 unpack-trees: fix "read-tree -u --reset A B" with conflicted indexJunio C Hamano, Nov 1, 2013
  13. 2/3 t1005: reindentJunio C Hamano, Nov 1, 2013
  14. 3/3 t1005: add test for "read-tree --reset -u A B"Junio C Hamano, Nov 1, 2013
  15. Jeff KingNov 3, 2013
  16. 3/3 remote-curl: fix large pushes with GSSAPIJeff King, Oct 31, 2013
  17. brian m. carlsonOct 31, 2013

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.