Annotation of embedaddon/curl/tests/data/test2027, revision 1.1
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>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>