From 1132f43012e44cb779fd916036da9599f31983d6 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 2 Aug 2019 13:46:49 +0200 Subject: [PATCH] alt-svc: more liberal ALPN name parsing Allow pretty much anything to be part of the ALPN identifier. In particular minus, which is used for "h3-20" (in-progress HTTP/3 versions) etc. Updated test 356. Closes #4182 --- lib/altsvc.c | 2 +- tests/data/test356 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/altsvc.c b/lib/altsvc.c index 85a4e01b5..e4d3ea605 100644 --- a/lib/altsvc.c +++ b/lib/altsvc.c @@ -343,7 +343,7 @@ static CURLcode getalnum(const char **ptr, char *alpnbuf, size_t buflen) while(*p && ISBLANK(*p)) p++; protop = p; - while(*p && ISALNUM(*p)) + while(*p && !ISBLANK(*p) && (*p != ';') && (*p != '=')) p++; len = p - protop; diff --git a/tests/data/test356 b/tests/data/test356 index e2ac4860d..1be05fe6f 100644 --- a/tests/data/test356 +++ b/tests/data/test356 @@ -16,7 +16,7 @@ Content-Length: 6 Connection: close Content-Type: text/html Funny-head: yesyes -Alt-Svc: h1="nowhere.foo:81" +Alt-Svc: h1="nowhere.foo:81", un-kno22!wn=":82" -foo-