• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<testcase>
2<info>
3<keywords>
4HTTP
5HTTP POST
6POST callback
7HTTP proxy
8HTTP proxy NTLM auth
9</keywords>
10</info>
11# Server-side
12<reply>
13
14<data>
15HTTP/1.1 407 Authorization Required swsclose
16Server: Apache/1.3.27 (Darwin) PHP/4.1.2
17Proxy-Authenticate: Negotiate
18Proxy-Authenticate: NTLM
19Content-Type: text/html; charset=iso-8859-1
20Connection: close
21
22This is not the real page
23</data>
24
25# this is returned first since we get no proxy-auth
26<data1001>
27HTTP/1.1 407 Authorization Required to proxy me my dear
28Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
29Content-Length: 34
30
31Hey you, authenticate or go away!
32</data1001>
33
34# This is supposed to be returned when the server gets the second
35# Authorization: NTLM line passed-in from the client
36<data1002>
37HTTP/1.1 200 Things are fine in proxy land swsclose
38Server: Microsoft-IIS/5.0
39Content-Type: text/html; charset=iso-8859-1
40Content-Length: 42
41
42Contents of that page you requested, sir.
43</data1002>
44
45<datacheck>
46HTTP/1.1 407 Authorization Required swsclose
47Server: Apache/1.3.27 (Darwin) PHP/4.1.2
48Proxy-Authenticate: Negotiate
49Proxy-Authenticate: NTLM
50Content-Type: text/html; charset=iso-8859-1
51Connection: close
52
53HTTP/1.1 407 Authorization Required to proxy me my dear
54Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
55Content-Length: 34
56
57HTTP/1.1 200 Things are fine in proxy land swsclose
58Server: Microsoft-IIS/5.0
59Content-Type: text/html; charset=iso-8859-1
60Content-Length: 42
61
62Contents of that page you requested, sir.
63</datacheck>
64</reply>
65
66# Client-side
67<client>
68<server>
69http
70</server>
71# tool to use
72<tool>
73lib590
74</tool>
75<features>
76NTLM
77SSL
78!SSPI
79debug
80proxy
81</features>
82 <name>
83HTTP proxy offers Negotiate+NTLM, use only NTLM
84 </name>
85 <setenv>
86# we force our own host name, in order to make the test machine independent
87CURL_GETHOSTNAME=curlhost
88# we try to use the LD_PRELOAD hack, if not a debug build
89LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
90 </setenv>
91 <command>
92http://test.remote.example.com/path/590 http://%HOSTIP:%HTTPPORT
93</command>
94<precheck>
95chkhostname curlhost
96</precheck>
97</client>
98
99# Verify data after the test has been "shot"
100<verify>
101
102<protocol>
103GET http://test.remote.example.com/path/590 HTTP/1.1
104Host: test.remote.example.com
105Accept: */*
106Proxy-Connection: Keep-Alive
107
108GET http://test.remote.example.com/path/590 HTTP/1.1
109Host: test.remote.example.com
110Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
111Accept: */*
112Proxy-Connection: Keep-Alive
113
114GET http://test.remote.example.com/path/590 HTTP/1.1
115Host: test.remote.example.com
116Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAAAgACAHAAAAAIAAgAcgAAAAAAAAAAAAAAhoIBADQzMjE1MzIxAAAAAAAAAAAAAAAAAAAAAIWYOdZV0iKA8ytf+dU+Bz9TpMJ4mBKu221lY3VybGhvc3Q=
117Accept: */*
118Proxy-Connection: Keep-Alive
119
120</protocol>
121</verify>
122</testcase>
123