mirror of
https://github.com/curl/curl.git
synced 2026-08-24 11:33:33 +03:00
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
This commit is contained in:
parent
f8f4a94465
commit
02f8de6516
6 changed files with 143 additions and 4 deletions
|
|
@ -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 \
|
||||
|
|
|
|||
71
tests/data/test1908
Normal file
71
tests/data/test1908
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
<testcase>
|
||||
<info>
|
||||
<keywords>
|
||||
CURLINFO_EFFECTIVE_URL
|
||||
</keywords>
|
||||
</info>
|
||||
|
||||
# Server-side
|
||||
<reply>
|
||||
<data nocheck="yes">
|
||||
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
|
||||
|
||||
</data>
|
||||
</reply>
|
||||
|
||||
# Client-side
|
||||
<client>
|
||||
<server>
|
||||
http
|
||||
</server>
|
||||
|
||||
# require debug so that alt-svc can work over plain old HTTP
|
||||
<features>
|
||||
alt-svc
|
||||
debug
|
||||
</features>
|
||||
<name>
|
||||
alt-svc cache save after resetting the handle
|
||||
</name>
|
||||
<setenv>
|
||||
# make debug-curl accept Alt-Svc over plain HTTP
|
||||
CURL_ALTSVC_HTTP="yeah"
|
||||
</setenv>
|
||||
<tool>
|
||||
lib1908
|
||||
</tool>
|
||||
|
||||
<command>
|
||||
%HOSTIP:%HTTPPORT/1908
|
||||
</command>
|
||||
</client>
|
||||
|
||||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
<strip>
|
||||
^User-Agent:.*
|
||||
</strip>
|
||||
<protocol>
|
||||
GET /1908 HTTP/1.1
|
||||
Host: %HOSTIP:%HTTPPORT
|
||||
Accept: */*
|
||||
|
||||
</protocol>
|
||||
<stripfile>
|
||||
# strip out the (dynamic) expire date from the file so that the rest
|
||||
# matches
|
||||
s/\"([^\"]*)\"/TIMESTAMP/
|
||||
</stripfile>
|
||||
<file name="log/altsvc-1908">
|
||||
# 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
|
||||
</file>
|
||||
</verify>
|
||||
</testcase>
|
||||
Loading…
Add table
Add a link
Reference in a new issue