mirror of
https://github.com/curl/curl.git
synced 2025-04-18 16:30:45 +08:00
When enabled in the build. Update test2100: verify with HTTPS RR included Adjust runtests and server/disabled.c to include "HTTPSRR" as a feature in the test suite. Also, decode the ALPN list in HTTPS records straight into IDs. There's no point in storing everything in string format. Skip ALPNs we do not support. Closes #16007
119 lines
2.7 KiB
Plaintext
119 lines
2.7 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
HTTP GET
|
|
DOH
|
|
</keywords>
|
|
</info>
|
|
|
|
#
|
|
# Server-side
|
|
<reply>
|
|
|
|
# This is the DoH response for foo.example.com A 127.0.0.1. 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
|
|
</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
|
|
</features>
|
|
<name>
|
|
HTTP GET using DoH (with HTTPS RR)
|
|
</name>
|
|
<command>
|
|
http://foo.example.com:%HTTPPORT/%TESTNUMBER --doh-url http://%HOSTIP:%HTTPPORT/%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>
|
|
%if HTTPSRR
|
|
POST /%TESTNUMBER0001 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
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:%HTTPPORT
|
|
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:%HTTPPORT
|
|
Accept: */*
|
|
Content-Type: application/dns-message
|
|
Content-Length: 47
|
|
|
|
%hex[%00%00%01%00%00%01%00%00%00%00%00%00%06_%HTTPPORT%06_https%03foo%07example%03com%00%00A%00%01]hex%GET /%TESTNUMBER HTTP/1.1
|
|
Host: foo.example.com:%HTTPPORT
|
|
User-Agent: curl/%VERSION
|
|
Accept: */*
|
|
|
|
%else
|
|
POST /%TESTNUMBER0001 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
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:%HTTPPORT
|
|
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:%HTTPPORT
|
|
User-Agent: curl/%VERSION
|
|
Accept: */*
|
|
|
|
%endif
|
|
</protocol>
|
|
</verify>
|
|
</testcase>
|