Return to test2027 CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / tests / data |
1.1 ! misho 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: ! 12: <!-- ! 13: ! 14: Explanation for the duplicate 400 requests: ! 15: ! 16: libcurl doesn't detect that a given Digest password is wrong already on the ! 17: first 401 response (as the data400 gives). libcurl will instead consider the ! 18: new response just as a duplicate and it sends another and detects the auth ! 19: problem on the second 401 response! ! 20: ! 21: --> ! 22: ! 23: <!-- First request has Digest auth, wrong password --> ! 24: <data100> ! 25: HTTP/1.1 401 Need Digest auth ! 26: Server: Microsoft-IIS/5.0 ! 27: Content-Type: text/html; charset=iso-8859-1 ! 28: Content-Length: 27 ! 29: WWW-Authenticate: Digest realm="testrealm", nonce="1" ! 30: ! 31: This is not the real page! ! 32: </data100> ! 33: ! 34: <data1100> ! 35: HTTP/1.1 401 Sorry wrong password ! 36: Server: Microsoft-IIS/5.0 ! 37: Content-Type: text/html; charset=iso-8859-1 ! 38: Content-Length: 29 ! 39: WWW-Authenticate: Digest realm="testrealm", nonce="2" ! 40: ! 41: This is a bad password page! ! 42: </data1100> ! 43: ! 44: <!-- Second request has Digest auth, right password --> ! 45: <data200> ! 46: HTTP/1.1 401 Need Digest auth (2) ! 47: Server: Microsoft-IIS/5.0 ! 48: Content-Type: text/html; charset=iso-8859-1 ! 49: Content-Length: 27 ! 50: WWW-Authenticate: Digest realm="testrealm", nonce="3" ! 51: ! 52: This is not the real page! ! 53: </data200> ! 54: ! 55: <data1200> ! 56: HTTP/1.1 200 Things are fine in server land ! 57: Server: Microsoft-IIS/5.0 ! 58: Content-Type: text/html; charset=iso-8859-1 ! 59: Content-Length: 32 ! 60: ! 61: Finally, this is the real page! ! 62: </data1200> ! 63: ! 64: <!-- Third request has Digest auth, wrong password --> ! 65: <data300> ! 66: HTTP/1.1 401 Need Digest auth (3) ! 67: Server: Microsoft-IIS/5.0 ! 68: Content-Type: text/html; charset=iso-8859-1 ! 69: Content-Length: 27 ! 70: WWW-Authenticate: Digest realm="testrealm", nonce="4" ! 71: ! 72: This is not the real page! ! 73: </data300> ! 74: ! 75: <data1300> ! 76: HTTP/1.1 401 Sorry wrong password (2) ! 77: Server: Microsoft-IIS/5.0 ! 78: Content-Type: text/html; charset=iso-8859-1 ! 79: Content-Length: 29 ! 80: WWW-Authenticate: Digest realm="testrealm", nonce="5" ! 81: ! 82: This is a bad password page! ! 83: </data1300> ! 84: ! 85: <!-- Fourth request has Digest auth, wrong password --> ! 86: <data400> ! 87: HTTP/1.1 401 Need Digest auth (4) ! 88: Server: Microsoft-IIS/5.0 ! 89: Content-Type: text/html; charset=iso-8859-1 ! 90: Content-Length: 27 ! 91: WWW-Authenticate: Digest realm="testrealm", nonce="6" ! 92: ! 93: This is not the real page! ! 94: </data400> ! 95: ! 96: <data1400> ! 97: HTTP/1.1 401 Sorry wrong password (3) ! 98: Server: Microsoft-IIS/5.0 ! 99: Content-Type: text/html; charset=iso-8859-1 ! 100: Content-Length: 29 ! 101: WWW-Authenticate: Digest realm="testrealm", nonce="7" ! 102: ! 103: This is a bad password page! ! 104: </data1400> ! 105: ! 106: <!-- Fifth request has Digest auth, right password --> ! 107: <data1500> ! 108: HTTP/1.1 200 Things are fine in server land (2) ! 109: Server: Microsoft-IIS/5.0 ! 110: Content-Type: text/html; charset=iso-8859-1 ! 111: Content-Length: 32 ! 112: ! 113: Finally, this is the real page! ! 114: </data1500> ! 115: ! 116: <datacheck> ! 117: HTTP/1.1 401 Need Digest auth ! 118: Server: Microsoft-IIS/5.0 ! 119: Content-Type: text/html; charset=iso-8859-1 ! 120: Content-Length: 27 ! 121: WWW-Authenticate: Digest realm="testrealm", nonce="1" ! 122: ! 123: HTTP/1.1 401 Sorry wrong password ! 124: Server: Microsoft-IIS/5.0 ! 125: Content-Type: text/html; charset=iso-8859-1 ! 126: Content-Length: 29 ! 127: WWW-Authenticate: Digest realm="testrealm", nonce="2" ! 128: ! 129: This is a bad password page! ! 130: HTTP/1.1 200 Things are fine in server land ! 131: Server: Microsoft-IIS/5.0 ! 132: Content-Type: text/html; charset=iso-8859-1 ! 133: Content-Length: 32 ! 134: ! 135: Finally, this is the real page! ! 136: HTTP/1.1 401 Need Digest auth (3) ! 137: Server: Microsoft-IIS/5.0 ! 138: Content-Type: text/html; charset=iso-8859-1 ! 139: Content-Length: 27 ! 140: WWW-Authenticate: Digest realm="testrealm", nonce="4" ! 141: ! 142: HTTP/1.1 401 Sorry wrong password (2) ! 143: Server: Microsoft-IIS/5.0 ! 144: Content-Type: text/html; charset=iso-8859-1 ! 145: Content-Length: 29 ! 146: WWW-Authenticate: Digest realm="testrealm", nonce="5" ! 147: ! 148: This is a bad password page! ! 149: HTTP/1.1 401 Sorry wrong password (3) ! 150: Server: Microsoft-IIS/5.0 ! 151: Content-Type: text/html; charset=iso-8859-1 ! 152: Content-Length: 29 ! 153: WWW-Authenticate: Digest realm="testrealm", nonce="7" ! 154: ! 155: HTTP/1.1 401 Sorry wrong password (3) ! 156: Server: Microsoft-IIS/5.0 ! 157: Content-Type: text/html; charset=iso-8859-1 ! 158: Content-Length: 29 ! 159: WWW-Authenticate: Digest realm="testrealm", nonce="7" ! 160: ! 161: This is a bad password page! ! 162: HTTP/1.1 200 Things are fine in server land (2) ! 163: Server: Microsoft-IIS/5.0 ! 164: Content-Type: text/html; charset=iso-8859-1 ! 165: Content-Length: 32 ! 166: ! 167: Finally, this is the real page! ! 168: </datacheck> ! 169: ! 170: </reply> ! 171: ! 172: # Client-side ! 173: <client> ! 174: <server> ! 175: http ! 176: </server> ! 177: <features> ! 178: !SSPI ! 179: crypto ! 180: </features> ! 181: <tool> ! 182: libauthretry ! 183: </tool> ! 184: ! 185: <name> ! 186: HTTP authorization retry (Digest) ! 187: </name> ! 188: <setenv> ! 189: # we force our own host name, in order to make the test machine independent ! 190: CURL_GETHOSTNAME=curlhost ! 191: # we try to use the LD_PRELOAD hack, if not a debug build ! 192: LD_PRELOAD=%PWD/libtest/.libs/libhostname.so ! 193: </setenv> ! 194: <command> ! 195: http://%HOSTIP:%HTTPPORT/2027 digest digest ! 196: </command> ! 197: <precheck> ! 198: chkhostname curlhost ! 199: </precheck> ! 200: </client> ! 201: ! 202: # Verify data after the test has been "shot" ! 203: <verify> ! 204: <strip> ! 205: ^User-Agent:.* ! 206: </strip> ! 207: <protocol> ! 208: GET /20270100 HTTP/1.1 ! 209: Host: %HOSTIP:%HTTPPORT ! 210: Accept: */* ! 211: ! 212: GET /20270100 HTTP/1.1 ! 213: Host: %HOSTIP:%HTTPPORT ! 214: Authorization: Digest username="testuser", realm="testrealm", nonce="1", uri="/20270100", response="f7fd60eefaff5225971bf9b3d80d6ba6" ! 215: Accept: */* ! 216: ! 217: GET /20270200 HTTP/1.1 ! 218: Host: %HOSTIP:%HTTPPORT ! 219: Authorization: Digest username="testuser", realm="testrealm", nonce="2", uri="/20270200", response="785ca3ef511999f7e9c178195f5b388c" ! 220: Accept: */* ! 221: ! 222: GET /20270300 HTTP/1.1 ! 223: Host: %HOSTIP:%HTTPPORT ! 224: Accept: */* ! 225: ! 226: GET /20270300 HTTP/1.1 ! 227: Host: %HOSTIP:%HTTPPORT ! 228: Authorization: Digest username="testuser", realm="testrealm", nonce="4", uri="/20270300", response="4c735d2360fd6848e7cb32a11ae3612b" ! 229: Accept: */* ! 230: ! 231: GET /20270400 HTTP/1.1 ! 232: Host: %HOSTIP:%HTTPPORT ! 233: Authorization: Digest username="testuser", realm="testrealm", nonce="5", uri="/20270400", response="f5906785511fb60a2af8b1cd53008ead" ! 234: Accept: */* ! 235: ! 236: GET /20270400 HTTP/1.1 ! 237: Host: %HOSTIP:%HTTPPORT ! 238: Authorization: Digest username="testuser", realm="testrealm", nonce="5", uri="/20270400", response="f5906785511fb60a2af8b1cd53008ead" ! 239: Accept: */* ! 240: ! 241: GET /20270500 HTTP/1.1 ! 242: Host: %HOSTIP:%HTTPPORT ! 243: Authorization: Digest username="testuser", realm="testrealm", nonce="7", uri="/20270500", response="8ef4d935fd964a46c3965c0863b52cf1" ! 244: Accept: */* ! 245: ! 246: </protocol> ! 247: </verify> ! 248: </testcase>