Return to test2026 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 Basic auth ! 7: HTTP Digest auth ! 8: </keywords> ! 9: </info> ! 10: # Server-side ! 11: <reply> ! 12: ! 13: <!-- Alternate the order that Basic and Digest headers appear in responses to ! 14: ensure that the order doesn't matter. --> ! 15: ! 16: <!-- First request has Digest auth, wrong password --> ! 17: <data100> ! 18: HTTP/1.1 401 Need Basic or Digest auth ! 19: Server: Microsoft-IIS/5.0 ! 20: Content-Type: text/html; charset=iso-8859-1 ! 21: Content-Length: 27 ! 22: WWW-Authenticate: Digest realm="testrealm", nonce="1" ! 23: WWW-Authenticate: Basic realm="testrealm" ! 24: ! 25: This is not the real page! ! 26: </data100> ! 27: ! 28: <data1100> ! 29: HTTP/1.1 401 Sorry wrong password ! 30: Server: Microsoft-IIS/5.0 ! 31: Content-Type: text/html; charset=iso-8859-1 ! 32: Content-Length: 29 ! 33: WWW-Authenticate: Basic realm="testrealm" ! 34: WWW-Authenticate: Digest realm="testrealm", nonce="2" ! 35: ! 36: This is a bad password page! ! 37: </data1100> ! 38: ! 39: <!-- Second request has Basic auth, right password --> ! 40: <data200> ! 41: HTTP/1.1 200 Things are fine in server land ! 42: Server: Microsoft-IIS/5.0 ! 43: Content-Type: text/html; charset=iso-8859-1 ! 44: Content-Length: 32 ! 45: ! 46: Finally, this is the real page! ! 47: </data200> ! 48: ! 49: <!-- Third request has Digest auth, wrong password --> ! 50: <data300> ! 51: HTTP/1.1 401 Need Basic or Digest auth (2) ! 52: Server: Microsoft-IIS/5.0 ! 53: Content-Type: text/html; charset=iso-8859-1 ! 54: Content-Length: 27 ! 55: WWW-Authenticate: Digest realm="testrealm", nonce="3" ! 56: WWW-Authenticate: Basic realm="testrealm" ! 57: ! 58: This is not the real page! ! 59: </data300> ! 60: ! 61: <data1300> ! 62: HTTP/1.1 401 Sorry wrong password (2) ! 63: Server: Microsoft-IIS/5.0 ! 64: Content-Type: text/html; charset=iso-8859-1 ! 65: Content-Length: 29 ! 66: WWW-Authenticate: Basic realm="testrealm" ! 67: WWW-Authenticate: Digest realm="testrealm", nonce="4" ! 68: ! 69: This is a bad password page! ! 70: </data1300> ! 71: ! 72: <!-- Fourth request has Basic auth, wrong password --> ! 73: <data400> ! 74: HTTP/1.1 401 Sorry wrong password (3) ! 75: Server: Microsoft-IIS/5.0 ! 76: Content-Type: text/html; charset=iso-8859-1 ! 77: Content-Length: 29 ! 78: WWW-Authenticate: Digest realm="testrealm", nonce="5" ! 79: WWW-Authenticate: Basic realm="testrealm" ! 80: ! 81: This is a bad password page! ! 82: </data400> ! 83: ! 84: <!-- Fifth request has Basic auth, right password --> ! 85: <data500> ! 86: HTTP/1.1 200 Things are fine in server land (2) ! 87: Server: Microsoft-IIS/5.0 ! 88: Content-Type: text/html; charset=iso-8859-1 ! 89: Content-Length: 32 ! 90: ! 91: Finally, this is the real page! ! 92: </data500> ! 93: ! 94: <datacheck> ! 95: HTTP/1.1 401 Need Basic or Digest auth ! 96: Server: Microsoft-IIS/5.0 ! 97: Content-Type: text/html; charset=iso-8859-1 ! 98: Content-Length: 27 ! 99: WWW-Authenticate: Digest realm="testrealm", nonce="1" ! 100: WWW-Authenticate: Basic realm="testrealm" ! 101: ! 102: HTTP/1.1 401 Sorry wrong password ! 103: Server: Microsoft-IIS/5.0 ! 104: Content-Type: text/html; charset=iso-8859-1 ! 105: Content-Length: 29 ! 106: WWW-Authenticate: Basic realm="testrealm" ! 107: WWW-Authenticate: Digest realm="testrealm", nonce="2" ! 108: ! 109: This is a bad password page! ! 110: HTTP/1.1 200 Things are fine in server land ! 111: Server: Microsoft-IIS/5.0 ! 112: Content-Type: text/html; charset=iso-8859-1 ! 113: Content-Length: 32 ! 114: ! 115: Finally, this is the real page! ! 116: HTTP/1.1 401 Need Basic or Digest auth (2) ! 117: Server: Microsoft-IIS/5.0 ! 118: Content-Type: text/html; charset=iso-8859-1 ! 119: Content-Length: 27 ! 120: WWW-Authenticate: Digest realm="testrealm", nonce="3" ! 121: WWW-Authenticate: Basic realm="testrealm" ! 122: ! 123: HTTP/1.1 401 Sorry wrong password (2) ! 124: Server: Microsoft-IIS/5.0 ! 125: Content-Type: text/html; charset=iso-8859-1 ! 126: Content-Length: 29 ! 127: WWW-Authenticate: Basic realm="testrealm" ! 128: WWW-Authenticate: Digest realm="testrealm", nonce="4" ! 129: ! 130: This is a bad password page! ! 131: HTTP/1.1 401 Sorry wrong password (3) ! 132: Server: Microsoft-IIS/5.0 ! 133: Content-Type: text/html; charset=iso-8859-1 ! 134: Content-Length: 29 ! 135: WWW-Authenticate: Digest realm="testrealm", nonce="5" ! 136: WWW-Authenticate: Basic realm="testrealm" ! 137: ! 138: This is a bad password page! ! 139: HTTP/1.1 200 Things are fine in server land (2) ! 140: Server: Microsoft-IIS/5.0 ! 141: Content-Type: text/html; charset=iso-8859-1 ! 142: Content-Length: 32 ! 143: ! 144: Finally, this is the real page! ! 145: </datacheck> ! 146: ! 147: </reply> ! 148: ! 149: # Client-side ! 150: <client> ! 151: <server> ! 152: http ! 153: </server> ! 154: <features> ! 155: !SSPI ! 156: crypto ! 157: </features> ! 158: <tool> ! 159: libauthretry ! 160: </tool> ! 161: ! 162: <name> ! 163: HTTP authorization retry (Digest switching to Basic) ! 164: </name> ! 165: <setenv> ! 166: # we force our own host name, in order to make the test machine independent ! 167: CURL_GETHOSTNAME=curlhost ! 168: # we try to use the LD_PRELOAD hack, if not a debug build ! 169: LD_PRELOAD=%PWD/libtest/.libs/libhostname.so ! 170: </setenv> ! 171: <command> ! 172: http://%HOSTIP:%HTTPPORT/2026 digest basic ! 173: </command> ! 174: <precheck> ! 175: chkhostname curlhost ! 176: </precheck> ! 177: </client> ! 178: ! 179: # Verify data after the test has been "shot" ! 180: <verify> ! 181: <strip> ! 182: ^User-Agent:.* ! 183: </strip> ! 184: <protocol> ! 185: GET /20260100 HTTP/1.1 ! 186: Host: %HOSTIP:%HTTPPORT ! 187: Accept: */* ! 188: ! 189: GET /20260100 HTTP/1.1 ! 190: Host: %HOSTIP:%HTTPPORT ! 191: Authorization: Digest username="testuser", realm="testrealm", nonce="1", uri="/20260100", response="5f992a2e761ab926256419f7c685f85b" ! 192: Accept: */* ! 193: ! 194: GET /20260200 HTTP/1.1 ! 195: Host: %HOSTIP:%HTTPPORT ! 196: Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= ! 197: Accept: */* ! 198: ! 199: GET /20260300 HTTP/1.1 ! 200: Host: %HOSTIP:%HTTPPORT ! 201: Accept: */* ! 202: ! 203: GET /20260300 HTTP/1.1 ! 204: Host: %HOSTIP:%HTTPPORT ! 205: Authorization: Digest username="testuser", realm="testrealm", nonce="3", uri="/20260300", response="132242e602882251929be93228c830ae" ! 206: Accept: */* ! 207: ! 208: GET /20260400 HTTP/1.1 ! 209: Host: %HOSTIP:%HTTPPORT ! 210: Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz ! 211: Accept: */* ! 212: ! 213: GET /20260500 HTTP/1.1 ! 214: Host: %HOSTIP:%HTTPPORT ! 215: Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= ! 216: Accept: */* ! 217: ! 218: </protocol> ! 219: </verify> ! 220: </testcase>