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