altsvc: accept quoted ma and persist values

As mandated by the spec. Test 1654 is extended to verify.

Closes #4443
This commit is contained in:
Daniel Stenberg 2019-09-30 10:29:46 +02:00
parent 666a22675d
commit c24cf6c64c
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
3 changed files with 23 additions and 3 deletions

View file

@ -53,6 +53,7 @@ h1 2.example.org 8080 h3 2.example.org 8080 "20190125 22:34:21" 0 0
h1 3.example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0
h1 3.example.org 8080 h3 yesyes.com 8080 "20190125 22:34:21" 0 0
h2 example.org 80 h2 example.com 443 "20190124 22:36:21" 0 0
h2 example.net 80 h2 example.net 443 "20190124 22:37:21" 0 0
</file>
</verify>
</testcase>

View file

@ -97,6 +97,15 @@ UNITTEST_START
}
fail_unless(asi->num == 9, "wrong number of entries");
/* quoted 'ma' value */
result = Curl_altsvc_parse(curl, asi, "h2=\"example.net:443\"; ma=\"180\";",
ALPN_h2, "example.net", 80);
if(result) {
fprintf(stderr, "Curl_altsvc_parse(4) failed!\n");
unitfail++;
}
fail_unless(asi->num == 10, "wrong number of entries");
result = Curl_altsvc_parse(curl, asi,
"h2=\":443\", h3=\":443\"; ma = 120; persist = 1",
ALPN_h1, "curl.haxx.se", 80);
@ -104,7 +113,7 @@ UNITTEST_START
fprintf(stderr, "Curl_altsvc_parse(5) failed!\n");
unitfail++;
}
fail_unless(asi->num == 11, "wrong number of entries");
fail_unless(asi->num == 12, "wrong number of entries");
/* clear that one again and decrease the counter */
result = Curl_altsvc_parse(curl, asi, "clear;",
@ -113,7 +122,7 @@ UNITTEST_START
fprintf(stderr, "Curl_altsvc_parse(6) failed!\n");
unitfail++;
}
fail_unless(asi->num == 9, "wrong number of entries");
fail_unless(asi->num == 10, "wrong number of entries");
Curl_altsvc_save(asi, outname);