curl/tests/data/test1915
Daniel Stenberg 54f6d836d8
hsts: handle unlimited expiry
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
2021-09-15 14:37:36 +02:00

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>