| xf.li | 6c8fc1e | 2023-08-12 00:11:09 -0700 | [diff] [blame] | 1 | <testcase> | 
|  | 2 | <info> | 
|  | 3 | <keywords> | 
|  | 4 | HTTP | 
|  | 5 | HTTP GET | 
|  | 6 | HTTP Digest auth | 
|  | 7 | </keywords> | 
|  | 8 | </info> | 
|  | 9 | # Server-side | 
|  | 10 | <reply> | 
|  | 11 | <data> | 
|  | 12 | HTTP/1.1 401 Authorization Required swsclose | 
|  | 13 | Server: Apache/1.3.27 (Darwin) PHP/4.1.2 | 
|  | 14 | WWW-Authenticate: Digest realm="testrealm", nonce="1053604145" | 
|  | 15 | Content-Type: text/html; charset=iso-8859-1 | 
|  | 16 | Content-Length: 26 | 
|  | 17 |  | 
|  | 18 | This is not the real page | 
|  | 19 | </data> | 
|  | 20 |  | 
|  | 21 | # This is supposed to be returned when the server gets a | 
|  | 22 | # Authorization: Digest line passed-in from the client | 
|  | 23 | <data1000> | 
|  | 24 | HTTP/1.1 200 OK swsclose | 
|  | 25 | Server: Apache/1.3.27 (Darwin) PHP/4.1.2 | 
|  | 26 | Content-Type: text/html; charset=iso-8859-1 | 
|  | 27 | Content-Length: 23 | 
|  | 28 |  | 
|  | 29 | This IS the real page! | 
|  | 30 | </data1000> | 
|  | 31 |  | 
|  | 32 | <datacheck> | 
|  | 33 | HTTP/1.1 401 Authorization Required swsclose | 
|  | 34 | Server: Apache/1.3.27 (Darwin) PHP/4.1.2 | 
|  | 35 | WWW-Authenticate: Digest realm="testrealm", nonce="1053604145" | 
|  | 36 | Content-Type: text/html; charset=iso-8859-1 | 
|  | 37 | Content-Length: 26 | 
|  | 38 |  | 
|  | 39 | HTTP/1.1 200 OK swsclose | 
|  | 40 | Server: Apache/1.3.27 (Darwin) PHP/4.1.2 | 
|  | 41 | Content-Type: text/html; charset=iso-8859-1 | 
|  | 42 | Content-Length: 23 | 
|  | 43 |  | 
|  | 44 | This IS the real page! | 
|  | 45 | </datacheck> | 
|  | 46 |  | 
|  | 47 | </reply> | 
|  | 48 |  | 
|  | 49 | # Client-side | 
|  | 50 | <client> | 
|  | 51 | <server> | 
|  | 52 | http | 
|  | 53 | </server> | 
|  | 54 | <features> | 
|  | 55 | !SSPI | 
|  | 56 | crypto | 
|  | 57 | </features> | 
|  | 58 | <name> | 
|  | 59 | HTTP with Digest authorization with user name needing escape | 
|  | 60 | </name> | 
|  | 61 | <command> | 
|  | 62 | http://%5cuser%22:password@%HOSTIP:%HTTPPORT/%TESTNUMBER --digest | 
|  | 63 | </command> | 
|  | 64 | </client> | 
|  | 65 |  | 
|  | 66 | # Verify data after the test has been "shot" | 
|  | 67 | <verify> | 
|  | 68 | <protocol> | 
|  | 69 | GET /%TESTNUMBER HTTP/1.1 | 
|  | 70 | Host: %HOSTIP:%HTTPPORT | 
|  | 71 | User-Agent: curl/%VERSION | 
|  | 72 | Accept: */* | 
|  | 73 |  | 
|  | 74 | GET /%TESTNUMBER HTTP/1.1 | 
|  | 75 | Host: %HOSTIP:%HTTPPORT | 
|  | 76 | Authorization: Digest username="\\user\"", realm="testrealm", nonce="1053604145", uri="/%TESTNUMBER", response="f2694d426040712584c156d3de72b8d6" | 
|  | 77 | User-Agent: curl/%VERSION | 
|  | 78 | Accept: */* | 
|  | 79 |  | 
|  | 80 | </protocol> | 
|  | 81 | </verify> | 
|  | 82 | </testcase> |