/
githubmirror
/
curl
Обзор
Документация
Войти
/
githubmirror
/
curl
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tests/data/test2117
102 строки
2 KB
Stefan Eissing
httpsrr: DoH with HTTPS, fix response handling
24 июл 2026, 23:58
Не верифицирован
24 июл 2026, 23:58
a954d87
Код
Авторство
О чём код?
<?xml version="1.0" encoding="US-ASCII"?> <testcase> <info> <keywords> HTTP HTTP GET DOH httpsrr </keywords> </info> # Server-side <reply> # This is the DoH response for foo.example.com A 127.0.0.1. It will be sent # for all DoH requests, so the AAAA and HTTPS resolves will fail with wrong # data. But it does verify that the responses are acted upon. # This requires that the test server is accessible at that address! <data1 base64="yes"> SFRUUC8xLjEgMjAwIE9LCkRhdGU6IFRodSwgMDkgTm92IDIwMTAgMTQ6NDk6MDAgR01UClNlcnZl cjogdGVzdC1zZXJ2ZXIvZmFrZQpDb25uZWN0aW9uOiBjbG9zZQpDb250ZW50LVR5cGU6IGFwcGxp Y2F0aW9uL2Rucy1tZXNzYWdlCkNvbnRlbnQtTGVuZ3RoOiA0OQoKAAABAAABAAEAAAAAA2Zvbwdl eGFtcGxlA2NvbQAAAQABwAwAAQABAAAANwAEfwAAAQ== </data1> <data> HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Accept-Ranges: bytes Content-Length: 6 Connection: close Content-Type: text/html Funny-head: yesyes -foo- </data> </reply> # Client-side <client> <server> http https </server> # requires Debug so that it can use the DoH server without https # requires IPv6 so that we can assume and compare both DoH requests <features> Debug DoH IPv6 ECH HTTPSRR </features> <name> HTTP GET using DoH with mandatory HTTPS-RR response </name> <command> https://foo.example.com:%HTTPSPORT/%TESTNUMBER --insecure --ech true --connect-timeout 20 --doh-insecure --doh-url https://%HOSTIP:%HTTPSPORT/%TESTNUMBER0001 </command> </client> # Verify data after the test has been "shot" <verify> # To make the test ignore the order of the two outgoing DoH requests, strip # the family byte <strippart> s/com\x00\x00(\x1c|\x01)/com-00-00!/g; </strippart> <protocol crlf="yes"> POST /%TESTNUMBER0001 HTTP/1.1 Host: %HOSTIP:%HTTPSPORT Accept: */* Content-Type: application/dns-message Content-Length: 47 %hex[%00%00%01%00%00%01%00%00%00%00%00%00%06_%HTTPSPORT%06_https%03foo%07example%03com%00%00A%00%01]hex%POST /%TESTNUMBER0001 HTTP/1.1 Host: %HOSTIP:%HTTPSPORT Accept: */* Content-Type: application/dns-message Content-Length: 33 %hex[%00%00%01%00%00%01%00%00%00%00%00%00%03foo%07example%03com-00-00!%00%01]hex%POST /%TESTNUMBER0001 HTTP/1.1 Host: %HOSTIP:%HTTPSPORT Accept: */* Content-Type: application/dns-message Content-Length: 33 %hex[%00%00%01%00%00%01%00%00%00%00%00%00%03foo%07example%03com-00-00!%00%01]hex%GET /%TESTNUMBER HTTP/1.1 Host: foo.example.com:%HTTPSPORT User-Agent: curl/%VERSION Accept: */* </protocol> </verify> </testcase>