tests: 780 - 783, new HSTS tests

test780: verify updated HSTS data in response header

test781: HSTS update expiry, with parent includeSubDomains domain
present

test782: HSTS update expiry, with two includeSubDomains domains present

test783: HSTS update expiry, removing includesubdomains in update
This commit is contained in:
Daniel Stenberg 2024-10-09 11:27:29 +02:00
parent a94973805d
commit 5ee43bb82e
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
5 changed files with 335 additions and 0 deletions

View File

@ -109,6 +109,8 @@ test718 test719 test720 test721 test722 test723 test724 test725 test726 \
test727 test728 test729 test730 test731 test732 test733 test734 test735 \
test736 test737 test738 test739 test740 test741 test742 \
\
test780 test781 test782 test783 \
\
test799 test800 test801 test802 test803 test804 test805 test806 test807 \
test808 test809 test810 test811 test812 test813 test814 test815 test816 \
test817 test818 test819 test820 test821 test822 test823 test824 test825 \

81
tests/data/test780 Normal file
View File

@ -0,0 +1,81 @@
<testcase>
<info>
<keywords>
HTTP
HTTP proxy
HSTS
</keywords>
</info>
<reply>
# we use this as response to a CONNECT
<connect nocheck="yes">
HTTP/1.1 200 OK
Server: fake
</connect>
<data nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/html
Funny-head: yesyes
Strict-Transport-Security: max-age=1000
</data>
</reply>
<client>
<server>
http
http-proxy
https
</server>
<features>
HSTS
proxy
https
Debug
</features>
<setenv>
CURL_HSTS_HTTP=yes
CURL_TIME=1728465947
</setenv>
<file name="%LOGDIR/input%TESTNUMBER">
this.hsts.example "99991001 04:47:41"
</file>
<name>
HSTS with updated expiry in response
</name>
<command>
-x http://%HOSTIP:%PROXYPORT http://this.hsts.example:%HTTPSPORT/%TESTNUMBER --hsts %LOGDIR/input%TESTNUMBER -k
</command>
</client>
<verify>
<stdout>
HTTP/1.1 200 OK
Server: fake
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/html
Funny-head: yesyes
Strict-Transport-Security: max-age=1000
</stdout>
<file name="%LOGDIR/input%TESTNUMBER" mode="text">
# Your HSTS cache. https://curl.se/docs/hsts.html
# This file was generated by libcurl! Edit at your own risk.
this.hsts.example "20241009 09:42:27"
</file>
</verify>
</testcase>

84
tests/data/test781 Normal file
View File

@ -0,0 +1,84 @@
<testcase>
<info>
<keywords>
HTTP
HTTP proxy
HSTS
</keywords>
</info>
<reply>
# we use this as response to a CONNECT
<connect nocheck="yes">
HTTP/1.1 200 OK
Server: fake
</connect>
<data nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/html
Funny-head: yesyes
Strict-Transport-Security: max-age=1000
</data>
</reply>
<client>
<server>
http
http-proxy
https
</server>
<features>
HSTS
proxy
https
Debug
large-time
</features>
<setenv>
CURL_HSTS_HTTP=yes
CURL_TIME=1728465947
</setenv>
<file name="%LOGDIR/input%TESTNUMBER">
.hsts.example "20991001 04:47:41"
this.hsts.example "99991001 04:47:41"
</file>
<name>
HSTS update expiry, with parent includeSubDomains domain present
</name>
<command>
-x http://%HOSTIP:%PROXYPORT http://this.hsts.example:%HTTPSPORT/%TESTNUMBER --hsts %LOGDIR/input%TESTNUMBER -k
</command>
</client>
<verify>
<stdout>
HTTP/1.1 200 OK
Server: fake
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/html
Funny-head: yesyes
Strict-Transport-Security: max-age=1000
</stdout>
<file name="%LOGDIR/input%TESTNUMBER" mode="text">
# Your HSTS cache. https://curl.se/docs/hsts.html
# This file was generated by libcurl! Edit at your own risk.
.hsts.example "20991001 04:47:41"
this.hsts.example "20241009 09:42:27"
</file>
</verify>
</testcase>

84
tests/data/test782 Normal file
View File

@ -0,0 +1,84 @@
<testcase>
<info>
<keywords>
HTTP
HTTP proxy
HSTS
</keywords>
</info>
<reply>
# we use this as response to a CONNECT
<connect nocheck="yes">
HTTP/1.1 200 OK
Server: fake
</connect>
<data nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/html
Funny-head: yesyes
Strict-Transport-Security: max-age=1000; includesubdomains
</data>
</reply>
<client>
<server>
http
http-proxy
https
</server>
<features>
HSTS
proxy
https
Debug
large-time
</features>
<setenv>
CURL_HSTS_HTTP=yes
CURL_TIME=1728465947
</setenv>
<file name="%LOGDIR/input%TESTNUMBER">
.hsts.example "20991001 04:47:41"
.this.hsts.example "99991001 04:47:41"
</file>
<name>
HSTS update expiry, with two includeSubDomains domains present
</name>
<command>
-x http://%HOSTIP:%PROXYPORT http://this.hsts.example:%HTTPSPORT/%TESTNUMBER --hsts %LOGDIR/input%TESTNUMBER -k
</command>
</client>
<verify>
<stdout>
HTTP/1.1 200 OK
Server: fake
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/html
Funny-head: yesyes
Strict-Transport-Security: max-age=1000; includesubdomains
</stdout>
<file name="%LOGDIR/input%TESTNUMBER" mode="text">
# Your HSTS cache. https://curl.se/docs/hsts.html
# This file was generated by libcurl! Edit at your own risk.
.hsts.example "20991001 04:47:41"
.this.hsts.example "20241009 09:42:27"
</file>
</verify>
</testcase>

84
tests/data/test783 Normal file
View File

@ -0,0 +1,84 @@
<testcase>
<info>
<keywords>
HTTP
HTTP proxy
HSTS
</keywords>
</info>
<reply>
# we use this as response to a CONNECT
<connect nocheck="yes">
HTTP/1.1 200 OK
Server: fake
</connect>
<data nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/html
Funny-head: yesyes
Strict-Transport-Security: max-age=1000;
</data>
</reply>
<client>
<server>
http
http-proxy
https
</server>
<features>
HSTS
proxy
https
Debug
large-time
</features>
<setenv>
CURL_HSTS_HTTP=yes
CURL_TIME=1728465947
</setenv>
<file name="%LOGDIR/input%TESTNUMBER">
.hsts.example "20991001 04:47:41"
.this.hsts.example "99991001 04:47:41"
</file>
<name>
HSTS update expiry, removing includesubdomains in update
</name>
<command>
-x http://%HOSTIP:%PROXYPORT http://this.hsts.example:%HTTPSPORT/%TESTNUMBER --hsts %LOGDIR/input%TESTNUMBER -k
</command>
</client>
<verify>
<stdout>
HTTP/1.1 200 OK
Server: fake
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/html
Funny-head: yesyes
Strict-Transport-Security: max-age=1000;
</stdout>
<file name="%LOGDIR/input%TESTNUMBER" mode="text">
# Your HSTS cache. https://curl.se/docs/hsts.html
# This file was generated by libcurl! Edit at your own risk.
.hsts.example "20991001 04:47:41"
this.hsts.example "20241009 09:42:27"
</file>
</verify>
</testcase>