]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
quiche: advertise draft 28 support
authorPeter Wu <peter@lekensteyn.nl>
Thu, 4 Jun 2020 09:54:01 +0000 (11:54 +0200)
committerPeter Wu <peter@lekensteyn.nl>
Thu, 4 Jun 2020 20:07:56 +0000 (22:07 +0200)
Fix the verbose message while at it, quiche currently supports draft
27 and draft 28 simultaneously.

Closes #5518

lib/altsvc.c
lib/vquic/quiche.c

index 371efa27557bb4e40cfc9c883416cd4cfb38342e..c9566c2168cc06397e9724ef0c523f4ed656e440 100644 (file)
@@ -51,7 +51,7 @@
 #define MAX_ALTSVC_ALPNLEN 10
 
 #if defined(USE_QUICHE) && !defined(UNITTESTS)
-#define H3VERSION "h3-27"
+#define H3VERSION "h3-28"
 #elif defined(USE_NGTCP2) && !defined(UNITTESTS)
 #define H3VERSION "h3-28"
 #else
index f93e95ee196dbdcd9087c27936a97bb7e483bb14..43624952283bc386b55d0ef2428a98fc6fe27319 100644 (file)
@@ -234,8 +234,20 @@ CURLcode Curl_quic_connect(struct connectdata *conn, curl_socket_t sockfd,
   /* for connection reuse purposes: */
   conn->ssl[FIRSTSOCKET].state = ssl_connection_complete;
 
-  infof(data, "Sent QUIC client Initial, ALPN: %s\n",
-        QUICHE_H3_APPLICATION_PROTOCOL + 1);
+  {
+    unsigned char alpn_protocols[] = QUICHE_H3_APPLICATION_PROTOCOL;
+    unsigned alpn_len, offset = 0;
+
+    /* Replace each ALPN length prefix by a comma. */
+    while(offset < sizeof(alpn_protocols) - 1) {
+      alpn_len = alpn_protocols[offset];
+      alpn_protocols[offset] = ',';
+      offset += 1 + alpn_len;
+    }
+
+    infof(data, "Sent QUIC client Initial, ALPN: %s\n",
+          alpn_protocols + 1);
+  }
 
   return CURLE_OK;
 }