Annotation of embedaddon/curl/tests/data/test2030, revision 1.1.1.1
1.1 misho 1: <testcase>
2: <info>
3: <keywords>
4: HTTP
5: HTTP GET
6: HTTP Digest auth
7: HTTP NTLM auth
8: </keywords>
9: </info>
10: # Server-side
11: <reply>
12:
13: <!-- Alternate the order that Digest and NTLM headers appear in responses to
14: ensure that the order doesn't matter. -->
15:
16: <!--
17:
18: Explanation for the duplicate 400 requests:
19:
20: libcurl doesn't detect that a given Digest password is wrong already on the
21: first 401 response (as the data400 gives). libcurl will instead consider the
22: new response just as a duplicate and it sends another and detects the auth
23: problem on the second 401 response!
24:
25: -->
26:
27:
28: <!-- First request has NTLM auth, wrong password -->
29: <data100>
30: HTTP/1.1 401 Need Digest or NTLM auth
31: Server: Microsoft-IIS/5.0
32: Content-Type: text/html; charset=iso-8859-1
33: Content-Length: 27
34: WWW-Authenticate: NTLM
35: WWW-Authenticate: Digest realm="testrealm", nonce="1"
36:
37: This is not the real page!
38: </data100>
39:
40: <data1101>
41: HTTP/1.1 401 NTLM intermediate
42: Server: Microsoft-IIS/5.0
43: Content-Type: text/html; charset=iso-8859-1
44: Content-Length: 33
45: WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
46:
47: This is still not the real page!
48: </data1101>
49:
50: <data1102>
51: HTTP/1.1 401 Sorry wrong password
52: Server: Microsoft-IIS/5.0
53: Content-Type: text/html; charset=iso-8859-1
54: Content-Length: 29
55: WWW-Authenticate: Digest realm="testrealm", nonce="2"
56: WWW-Authenticate: NTLM
57:
58: This is a bad password page!
59: </data1102>
60:
61: <!-- Second request has Digest auth, right password -->
62: <data200>
63: HTTP/1.1 401 Need Digest or NTLM auth (2)
64: Server: Microsoft-IIS/5.0
65: Content-Type: text/html; charset=iso-8859-1
66: Content-Length: 27
67: WWW-Authenticate: NTLM
68: WWW-Authenticate: Digest realm="testrealm", nonce="3"
69:
70: This is not the real page!
71: </data200>
72:
73: <data1200>
74: HTTP/1.1 200 Things are fine in server land
75: Server: Microsoft-IIS/5.0
76: Content-Type: text/html; charset=iso-8859-1
77: Content-Length: 32
78:
79: Finally, this is the real page!
80: </data1200>
81:
82: <!-- Third request has NTLM auth, wrong password -->
83: <data300>
84: HTTP/1.1 401 Need Digest or NTLM auth (3)
85: Server: Microsoft-IIS/5.0
86: Content-Type: text/html; charset=iso-8859-1
87: Content-Length: 27
88: WWW-Authenticate: Digest realm="testrealm", nonce="4"
89: WWW-Authenticate: NTLM
90:
91: This is not the real page!
92: </data300>
93:
94: <data1301>
95: HTTP/1.1 401 NTLM intermediate (2)
96: Server: Microsoft-IIS/5.0
97: Content-Type: text/html; charset=iso-8859-1
98: Content-Length: 33
99: WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
100:
101: This is still not the real page!
102: </data1301>
103:
104: <data1302>
105: HTTP/1.1 401 Sorry wrong password (2)
106: Server: Microsoft-IIS/5.0
107: Content-Type: text/html; charset=iso-8859-1
108: Content-Length: 29
109: WWW-Authenticate: NTLM
110: WWW-Authenticate: Digest realm="testrealm", nonce="5"
111:
112: This is a bad password page!
113: </data1302>
114:
115: <!-- Fourth request has Digest auth, wrong password -->
116: <data400>
117: HTTP/1.1 401 Need Digest or NTLM auth (4)
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="6"
122: WWW-Authenticate: NTLM
123:
124: This is not the real page!
125: </data400>
126:
127: <data1400>
128: HTTP/1.1 401 Sorry wrong password (3)
129: Server: Microsoft-IIS/5.0
130: Content-Type: text/html; charset=iso-8859-1
131: Content-Length: 29
132: WWW-Authenticate: NTLM
133: WWW-Authenticate: Digest realm="testrealm", nonce="7"
134:
135: This is a bad password page!
136: </data1400>
137:
138: <!-- Fifth request has Digest auth, right password -->
139: <data500>
140: HTTP/1.1 401 Need Digest or NTLM auth (5)
141: Server: Microsoft-IIS/5.0
142: Content-Type: text/html; charset=iso-8859-1
143: Content-Length: 27
144: WWW-Authenticate: Digest realm="testrealm", nonce="8"
145: WWW-Authenticate: NTLM
146:
147: This is not the real page!
148: </data500>
149:
150: <data1500>
151: HTTP/1.1 200 Things are fine in server land (2)
152: Server: Microsoft-IIS/5.0
153: Content-Type: text/html; charset=iso-8859-1
154: Content-Length: 32
155:
156: Finally, this is the real page!
157: </data1500>
158:
159: <datacheck>
160: HTTP/1.1 401 NTLM intermediate
161: Server: Microsoft-IIS/5.0
162: Content-Type: text/html; charset=iso-8859-1
163: Content-Length: 33
164: WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
165:
166: HTTP/1.1 401 Sorry wrong password
167: Server: Microsoft-IIS/5.0
168: Content-Type: text/html; charset=iso-8859-1
169: Content-Length: 29
170: WWW-Authenticate: Digest realm="testrealm", nonce="2"
171: WWW-Authenticate: NTLM
172:
173: This is a bad password page!
174: HTTP/1.1 200 Things are fine in server land
175: Server: Microsoft-IIS/5.0
176: Content-Type: text/html; charset=iso-8859-1
177: Content-Length: 32
178:
179: Finally, this is the real page!
180: HTTP/1.1 401 NTLM intermediate (2)
181: Server: Microsoft-IIS/5.0
182: Content-Type: text/html; charset=iso-8859-1
183: Content-Length: 33
184: WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
185:
186: HTTP/1.1 401 Sorry wrong password (2)
187: Server: Microsoft-IIS/5.0
188: Content-Type: text/html; charset=iso-8859-1
189: Content-Length: 29
190: WWW-Authenticate: NTLM
191: WWW-Authenticate: Digest realm="testrealm", nonce="5"
192:
193: This is a bad password page!
194: HTTP/1.1 401 Sorry wrong password (3)
195: Server: Microsoft-IIS/5.0
196: Content-Type: text/html; charset=iso-8859-1
197: Content-Length: 29
198: WWW-Authenticate: NTLM
199: WWW-Authenticate: Digest realm="testrealm", nonce="7"
200:
201: HTTP/1.1 401 Sorry wrong password (3)
202: Server: Microsoft-IIS/5.0
203: Content-Type: text/html; charset=iso-8859-1
204: Content-Length: 29
205: WWW-Authenticate: NTLM
206: WWW-Authenticate: Digest realm="testrealm", nonce="7"
207:
208: This is a bad password page!
209: HTTP/1.1 200 Things are fine in server land (2)
210: Server: Microsoft-IIS/5.0
211: Content-Type: text/html; charset=iso-8859-1
212: Content-Length: 32
213:
214: Finally, this is the real page!
215: </datacheck>
216:
217: </reply>
218:
219: # Client-side
220: <client>
221: <features>
222: NTLM
223: SSL
224: !SSPI
225: </features>
226: <server>
227: http
228: </server>
229: <tool>
230: libauthretry
231: </tool>
232:
233: <name>
234: HTTP authorization retry (NTLM switching to Digest)
235: </name>
236: <setenv>
237: # we force our own host name, in order to make the test machine independent
238: CURL_GETHOSTNAME=curlhost
239: # we try to use the LD_PRELOAD hack, if not a debug build
240: LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
241: </setenv>
242: <command>
243: http://%HOSTIP:%HTTPPORT/2030 ntlm digest
244: </command>
245: <precheck>
246: chkhostname curlhost
247: </precheck>
248: </client>
249:
250: # Verify data after the test has been "shot"
251: <verify>
252: <strip>
253: ^User-Agent:.*
254: </strip>
255: <protocol>
256: GET /20300100 HTTP/1.1
257: Host: %HOSTIP:%HTTPPORT
258: Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
259: Accept: */*
260:
261: GET /20300100 HTTP/1.1
262: Host: %HOSTIP:%HTTPPORT
263: Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAAhoABANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyY3VybGhvc3Q=
264: Accept: */*
265:
266: GET /20300200 HTTP/1.1
267: Host: %HOSTIP:%HTTPPORT
268: Authorization: Digest username="testuser", realm="testrealm", nonce="2", uri="/20300200", response="2f2d784ba53a0a307758a90e98d25c27"
269: Accept: */*
270:
271: GET /20300300 HTTP/1.1
272: Host: %HOSTIP:%HTTPPORT
273: Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
274: Accept: */*
275:
276: GET /20300300 HTTP/1.1
277: Host: %HOSTIP:%HTTPPORT
278: Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAAhoABANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyY3VybGhvc3Q=
279: Accept: */*
280:
281: GET /20300400 HTTP/1.1
282: Host: %HOSTIP:%HTTPPORT
283: Authorization: Digest username="testuser", realm="testrealm", nonce="5", uri="/20300400", response="d6262e9147db08c62ff2f53b515861e8"
284: Accept: */*
285:
286: GET /20300400 HTTP/1.1
287: Host: %HOSTIP:%HTTPPORT
288: Authorization: Digest username="testuser", realm="testrealm", nonce="5", uri="/20300400", response="d6262e9147db08c62ff2f53b515861e8"
289: Accept: */*
290:
291: GET /20300500 HTTP/1.1
292: Host: %HOSTIP:%HTTPPORT
293: Authorization: Digest username="testuser", realm="testrealm", nonce="7", uri="/20300500", response="198757e61163a779cf24ed4c49c1ad7d"
294: Accept: */*
295:
296: </protocol>
297: </verify>
298: </testcase>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>