From 02f8de65165ef161a21ace25da3652e1fb13b99b Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sun, 9 Feb 2020 15:28:03 +0100 Subject: altsvc: keep a copy of the file name to survive handle reset The alt-svc cache survives a call to curl_easy_reset fine, but the file name to use for saving the cache was cleared. Now the alt-svc cache has a copy of the file name to survive handle resets. Added test 1908 to verify. Reported-by: Craig Andrews Fixes #4898 Closes #4902 --- tests/data/Makefile.inc | 1 + tests/data/test1908 | 71 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 tests/data/test1908 (limited to 'tests/data') diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc index 5fbe18396..be55f0460 100644 --- a/tests/data/Makefile.inc +++ b/tests/data/Makefile.inc @@ -192,6 +192,7 @@ test1700 test1701 test1702 \ test1800 test1801 \ \ test1900 test1901 test1902 test1903 test1904 test1905 test1906 test1907 \ +test1908 \ \ test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 \ test2008 test2009 test2010 test2011 test2012 test2013 test2014 test2015 \ diff --git a/tests/data/test1908 b/tests/data/test1908 new file mode 100644 index 000000000..de34d0ee2 --- /dev/null +++ b/tests/data/test1908 @@ -0,0 +1,71 @@ + + + +CURLINFO_EFFECTIVE_URL + + + +# Server-side + + +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Type: text/html +Funny-head: yesyes swsclose +Content-Length: 0 +alt-svc: h2="3dbbdetxoyw4nsp6c3cc456oj2ays6s43ezxzsfxxri3h5xqd.example:443"; ma=315360000; persist=1 + + + + +# Client-side + + +http + + +# require debug so that alt-svc can work over plain old HTTP + +alt-svc +debug + + +alt-svc cache save after resetting the handle + + +# make debug-curl accept Alt-Svc over plain HTTP +CURL_ALTSVC_HTTP="yeah" + + +lib1908 + + + +%HOSTIP:%HTTPPORT/1908 + + + +# Verify data after the test has been "shot" + + +^User-Agent:.* + + +GET /1908 HTTP/1.1 +Host: %HOSTIP:%HTTPPORT +Accept: */* + + + +# strip out the (dynamic) expire date from the file so that the rest +# matches +s/\"([^\"]*)\"/TIMESTAMP/ + + +# Your alt-svc cache. https://curl.haxx.se/docs/alt-svc.html +# This file was generated by libcurl! Edit at your own risk. +h1 127.0.0.1 8990 h2 3dbbdetxoyw4nsp6c3cc456oj2ays6s43ezxzsfxxri3h5xqd.example 443 TIMESTAMP 1 0 + + + -- cgit v1.2.3