mirror of
https://github.com/curl/curl.git
synced 2026-05-16 09:56:24 +03:00
When setting a blank expire string, meaning unlimited, curl would pass TIME_T_MAX to getime_r() when creating the output, while on 64 bit systems such a large value cannot be convetered to a tm struct making curl to exit the loop with an error instead. It can't be converted because the year it would represent doesn't fit in the 'int tm_year' field! Starting now, unlimited expiry is instead handled differently by using a human readable expiry date spelled out as "unlimited" instead of trying to use a distant actual date. Test 1660 and 1915 have been updated to help verify this change. Reported-by: Jonathan Cardoso Fixes #7720 Closes #7721
50 lines
728 B
Text
50 lines
728 B
Text
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
HSTS
|
|
CURLOPT_HSTSREADFUNCTION
|
|
</keywords>
|
|
</info>
|
|
|
|
# Server-side
|
|
<reply>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<features>
|
|
HSTS
|
|
http
|
|
</features>
|
|
<server>
|
|
none
|
|
</server>
|
|
|
|
# require debug so that alt-svc can work over plain old HTTP
|
|
<name>
|
|
HSTS read/write callbacks
|
|
</name>
|
|
<tool>
|
|
lib%TESTNUMBER
|
|
</tool>
|
|
|
|
<command>
|
|
http://%HOSTIP:%NOLISTENPORT/not-there/%TESTNUMBER
|
|
</command>
|
|
</client>
|
|
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
# it fails because there's nothing on that port
|
|
<errorcode>
|
|
7
|
|
</errorcode>
|
|
<stdout>
|
|
[0/4] 1.example.com 20370320 01:02:03
|
|
[1/4] 2.example.com 20370320 03:02:01
|
|
[2/4] 3.example.com 20370319 01:02:03
|
|
[3/4] 4.example.com unlimited
|
|
</stdout>
|
|
</verify>
|
|
</testcase>
|