| ofs | hex dump | ascii | 
|---|
| 0000 |  3c 74 65 73 74 63 61 73 65 3e 0a 3c 69 6e 66 6f    3e 0a 3c 6b 65 79 77 6f 72 64 73 3e 0a 48 54 54  | <testcase>.<info>.<keywords>.HTT | 
| 0020 |  50 0a 48 54 54 50 20 47 45 54 0a 44 4f 48 0a 3c    2f 6b 65 79 77 6f 72 64 73 3e 0a 3c 2f 69 6e 66  | P.HTTP.GET.DOH.</keywords>.</inf | 
| 0040 |  6f 3e 0a 0a 23 0a 23 20 53 65 72 76 65 72 2d 73    69 64 65 0a 3c 72 65 70 6c 79 3e 0a 0a 23 20 54  | o>..#.#.Server-side.<reply>..#.T | 
| 0060 |  68 69 73 20 69 73 20 74 68 65 20 44 4f 48 20 72    65 73 70 6f 6e 73 65 20 66 6f 72 20 66 6f 6f 2e  | his.is.the.DOH.response.for.foo. | 
| 0080 |  65 78 61 6d 70 6c 65 2e 63 6f 6d 20 41 20 31 32    37 2e 30 2e 30 2e 31 2e 20 54 68 69 73 20 72 65  | example.com.A.127.0.0.1..This.re | 
| 00a0 |  71 75 69 72 65 73 20 74 68 61 74 0a 23 20 74 68    65 20 74 65 73 74 20 73 65 72 76 65 72 20 69 73  | quires.that.#.the.test.server.is | 
| 00c0 |  20 61 63 63 65 73 73 69 62 6c 65 20 61 74 20 74    68 61 74 20 61 64 64 72 65 73 73 21 0a 0a 3c 64  | .accessible.at.that.address!..<d | 
| 00e0 |  61 74 61 31 20 62 61 73 65 36 34 3d 22 79 65 73    22 3e 0a 53 46 52 55 55 43 38 78 4c 6a 45 67 4d  | ata1.base64="yes">.SFRUUC8xLjEgM | 
| 0100 |  6a 41 77 49 45 39 4c 43 6b 52 68 64 47 55 36 49    46 52 6f 64 53 77 67 4d 44 6b 67 54 6d 39 32 49  | jAwIE9LCkRhdGU6IFRodSwgMDkgTm92I | 
| 0120 |  44 49 77 4d 54 41 67 4d 54 51 36 4e 44 6b 36 4d    44 41 67 52 30 31 55 43 6c 4e 6c 63 6e 5a 6c 0a  | DIwMTAgMTQ6NDk6MDAgR01UClNlcnZl. | 
| 0140 |  63 6a 6f 67 64 47 56 7a 64 43 31 7a 5a 58 4a 32    5a 58 49 76 5a 6d 46 72 5a 51 70 44 62 32 35 75  | cjogdGVzdC1zZXJ2ZXIvZmFrZQpDb25u | 
| 0160 |  5a 57 4e 30 61 57 39 75 4f 69 42 6a 62 47 39 7a    5a 51 70 44 62 32 35 30 5a 57 35 30 4c 56 52 35  | ZWN0aW9uOiBjbG9zZQpDb250ZW50LVR5 | 
| 0180 |  63 47 55 36 49 47 46 77 63 47 78 70 0a 59 32 46    30 61 57 39 75 4c 32 52 75 63 79 31 74 5a 58 4e  | cGU6IGFwcGxp.Y2F0aW9uL2Rucy1tZXN | 
| 01a0 |  7a 59 57 64 6c 43 6b 4e 76 62 6e 52 6c 62 6e 51    74 54 47 56 75 5a 33 52 6f 4f 69 41 30 4f 51 6f  | zYWdlCkNvbnRlbnQtTGVuZ3RoOiA0OQo | 
| 01c0 |  4b 41 41 41 42 41 41 41 42 41 41 45 41 41 41 41    41 41 32 5a 76 62 77 64 6c 0a 65 47 46 74 63 47  | KAAABAAABAAEAAAAAA2Zvbwdl.eGFtcG | 
| 01e0 |  78 6c 41 32 4e 76 62 51 41 41 41 51 41 42 77 41    77 41 41 51 41 42 41 41 41 41 4e 77 41 45 66 77  | xlA2NvbQAAAQABwAwAAQABAAAANwAEfw | 
| 0200 |  41 41 41 51 3d 3d 0a 3c 2f 64 61 74 61 31 3e 0a    3c 64 61 74 61 3e 0a 48 54 54 50 2f 31 2e 31 20  | AAAQ==.</data1>.<data>.HTTP/1.1. | 
| 0220 |  32 30 30 20 4f 4b 0a 44 61 74 65 3a 20 54 68 75    2c 20 30 39 20 4e 6f 76 20 32 30 31 30 20 31 34  | 200.OK.Date:.Thu,.09.Nov.2010.14 | 
| 0240 |  3a 34 39 3a 30 30 20 47 4d 54 0a 53 65 72 76 65    72 3a 20 74 65 73 74 2d 73 65 72 76 65 72 2f 66  | :49:00.GMT.Server:.test-server/f | 
| 0260 |  61 6b 65 0a 4c 61 73 74 2d 4d 6f 64 69 66 69 65    64 3a 20 54 75 65 2c 20 31 33 20 4a 75 6e 20 32  | ake.Last-Modified:.Tue,.13.Jun.2 | 
| 0280 |  30 30 30 20 31 32 3a 31 30 3a 30 30 20 47 4d 54    0a 45 54 61 67 3a 20 22 32 31 30 32 35 2d 64 63  | 000.12:10:00.GMT.ETag:."21025-dc | 
| 02a0 |  37 2d 33 39 34 36 32 34 39 38 22 0a 41 63 63 65    70 74 2d 52 61 6e 67 65 73 3a 20 62 79 74 65 73  | 7-39462498".Accept-Ranges:.bytes | 
| 02c0 |  0a 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a    20 36 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 63  | .Content-Length:.6.Connection:.c | 
| 02e0 |  6c 6f 73 65 0a 43 6f 6e 74 65 6e 74 2d 54 79 70    65 3a 20 74 65 78 74 2f 68 74 6d 6c 0a 46 75 6e  | lose.Content-Type:.text/html.Fun | 
| 0300 |  6e 79 2d 68 65 61 64 3a 20 79 65 73 79 65 73 0a    0a 2d 66 6f 6f 2d 0a 3c 2f 64 61 74 61 3e 0a 3c  | ny-head:.yesyes..-foo-.</data>.< | 
| 0320 |  2f 72 65 70 6c 79 3e 0a 0a 23 0a 23 20 43 6c 69    65 6e 74 2d 73 69 64 65 0a 3c 63 6c 69 65 6e 74  | /reply>..#.#.Client-side.<client | 
| 0340 |  3e 0a 3c 73 65 72 76 65 72 3e 0a 68 74 74 70 0a    3c 2f 73 65 72 76 65 72 3e 0a 0a 23 20 74 68 69  | >.<server>.http.</server>..#.thi | 
| 0360 |  73 20 72 65 71 75 69 72 65 73 20 64 65 62 75 67    20 73 6f 20 74 68 61 74 20 69 74 20 63 61 6e 20  | s.requires.debug.so.that.it.can. | 
| 0380 |  75 73 65 20 74 68 65 20 44 4f 48 20 73 65 72 76    65 72 20 77 69 74 68 6f 75 74 20 68 74 74 70 73  | use.the.DOH.server.without.https | 
| 03a0 |  0a 0a 23 20 46 6f 72 63 65 73 20 49 50 76 34 20    73 6f 20 74 68 61 74 20 69 74 20 6f 6e 6c 79 20  | ..#.Forces.IPv4.so.that.it.only. | 
| 03c0 |  73 65 6e 64 73 20 6f 6e 65 20 44 6f 48 20 72 65    71 75 65 73 74 2c 20 77 68 69 63 68 20 69 73 20  | sends.one.DoH.request,.which.is. | 
| 03e0 |  61 20 6c 69 74 74 6c 65 20 6c 61 6d 65 0a 23 20    62 75 74 20 61 76 6f 69 64 73 20 74 68 65 20 70  | a.little.lame.#.but.avoids.the.p | 
| 0400 |  72 6f 62 6c 65 6d 20 77 68 65 6e 20 74 68 65 79    20 67 65 74 20 73 65 6e 74 20 69 6e 20 64 69 66  | roblem.when.they.get.sent.in.dif | 
| 0420 |  66 65 72 65 6e 74 20 6f 72 64 65 72 20 61 6e 64    20 72 75 69 6e 73 20 6f 75 72 0a 23 20 70 72 6f  | ferent.order.and.ruins.our.#.pro | 
| 0440 |  74 6f 63 6f 6c 20 63 68 65 63 6b 21 0a 0a 3c 66    65 61 74 75 72 65 73 3e 0a 64 65 62 75 67 0a 68  | tocol.check!..<features>.debug.h | 
| 0460 |  74 74 70 2f 32 0a 3c 2f 66 65 61 74 75 72 65 73    3e 0a 20 3c 6e 61 6d 65 3e 0a 48 54 54 50 20 47  | ttp/2.</features>..<name>.HTTP.G | 
| 0480 |  45 54 20 75 73 69 6e 67 20 44 4f 48 0a 20 3c 2f    6e 61 6d 65 3e 0a 20 3c 63 6f 6d 6d 61 6e 64 3e  | ET.using.DOH..</name>..<command> | 
| 04a0 |  0a 68 74 74 70 3a 2f 2f 66 6f 6f 2e 65 78 61 6d    70 6c 65 2e 63 6f 6d 3a 25 48 54 54 50 50 4f 52  | .http://foo.example.com:%HTTPPOR | 
| 04c0 |  54 2f 32 31 30 30 20 2d 34 20 2d 2d 64 6f 68 2d    75 72 6c 20 68 74 74 70 3a 2f 2f 25 48 4f 53 54  | T/2100.-4.--doh-url.http://%HOST | 
| 04e0 |  49 50 3a 25 48 54 54 50 50 4f 52 54 2f 32 31 30    30 30 30 30 31 0a 3c 2f 63 6f 6d 6d 61 6e 64 3e  | IP:%HTTPPORT/21000001.</command> | 
| 0500 |  0a 3c 2f 63 6c 69 65 6e 74 3e 0a 0a 23 0a 23 20    56 65 72 69 66 79 20 64 61 74 61 20 61 66 74 65  | .</client>..#.#.Verify.data.afte | 
| 0520 |  72 20 74 68 65 20 74 65 73 74 20 68 61 73 20 62    65 65 6e 20 22 73 68 6f 74 22 0a 3c 76 65 72 69  | r.the.test.has.been."shot".<veri | 
| 0540 |  66 79 3e 0a 3c 73 74 72 69 70 3e 0a 5e 55 73 65    72 2d 41 67 65 6e 74 3a 2e 2a 0a 3c 2f 73 74 72  | fy>.<strip>.^User-Agent:.*.</str | 
| 0560 |  69 70 3e 0a 3c 70 72 6f 74 6f 63 6f 6c 3e 0a 50    4f 53 54 20 2f 32 31 30 30 30 30 30 31 20 48 54  | ip>.<protocol>.POST./21000001.HT | 
| 0580 |  54 50 2f 31 2e 31 0d 0a 48 6f 73 74 3a 20 31 32    37 2e 30 2e 30 2e 31 3a 38 39 39 30 0d 0a 41 63  | TP/1.1..Host:.127.0.0.1:8990..Ac | 
| 05a0 |  63 65 70 74 3a 20 2a 2f 2a 0d 0a 43 6f 6e 74 65    6e 74 2d 54 79 70 65 3a 20 61 70 70 6c 69 63 61  | cept:.*/*..Content-Type:.applica | 
| 05c0 |  74 69 6f 6e 2f 64 6e 73 2d 6d 65 73 73 61 67 65    0d 0a 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68  | tion/dns-message..Content-Length | 
| 05e0 |  3a 20 33 33 0d 0a 0d 0a 00 00 01 00 00 01 00 00    00 00 00 00 03 66 6f 6f 07 65 78 61 6d 70 6c 65  | :.33.................foo.example | 
| 0600 |  03 63 6f 6d 00 00 01 00 01 47 45 54 20 2f 32 31    30 30 20 48 54 54 50 2f 31 2e 31 0d 0a 48 6f 73  | .com.....GET./2100.HTTP/1.1..Hos | 
| 0620 |  74 3a 20 66 6f 6f 2e 65 78 61 6d 70 6c 65 2e 63    6f 6d 3a 38 39 39 30 0d 0a 41 63 63 65 70 74 3a  | t:.foo.example.com:8990..Accept: | 
| 0640 |  20 2a 2f 2a 0d 0a 0d 0a 3c 2f 70 72 6f 74 6f 63    6f 6c 3e 0a 3c 2f 76 65 72 69 66 79 3e 0a 3c 2f  | .*/*....</protocol>.</verify>.</ | 
| 0660 |  74 65 73 74 63 61 73 65 3e 0a  | testcase>. |