]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
quiche: update SSLKEYLOGFILE support
authorAlessandro Ghedini <alessandro@cloudflare.com>
Mon, 8 Jun 2020 11:47:05 +0000 (12:47 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 8 Jun 2020 14:09:49 +0000 (16:09 +0200)
quiche now requires the application to explicitly set the keylog path
for each connection, rather than reading the environment variable
itself.

Closes #5541

lib/vquic/quiche.c

index 43624952283bc386b55d0ef2428a98fc6fe27319..9af2d894f2db745bc27ca1f857de38ff04b00c27 100644 (file)
@@ -158,6 +158,7 @@ CURLcode Curl_quic_connect(struct connectdata *conn, curl_socket_t sockfd,
   CURLcode result;
   struct quicsocket *qs = &conn->hequic[sockindex];
   struct Curl_easy *data = conn->data;
+  char *keylog_file = NULL;
 
 #ifdef DEBUG_QUICHE
   /* initialize debug log callback only once */
@@ -195,7 +196,9 @@ CURLcode Curl_quic_connect(struct connectdata *conn, curl_socket_t sockfd,
   if(result)
     return result;
 
-  if(getenv("SSLKEYLOGFILE"))
+  keylog_file = getenv("SSLKEYLOGFILE");
+
+  if(keylog_file)
     quiche_config_log_keys(qs->cfg);
 
   qs->conn = quiche_connect(conn->host.name, (const uint8_t *) qs->scid,
@@ -205,6 +208,9 @@ CURLcode Curl_quic_connect(struct connectdata *conn, curl_socket_t sockfd,
     return CURLE_OUT_OF_MEMORY;
   }
 
+  if(keylog_file)
+    quiche_conn_set_keylog_path(qs->conn, keylog_file);
+
   /* Known to not work on Windows */
 #if !defined(WIN32) && defined(HAVE_QUICHE_CONN_SET_QLOG_FD)
   {