aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2003-09-15 22:33:18 +0000
committerDaniel Stenberg <daniel@haxx.se>2003-09-15 22:33:18 +0000
commit951e2a654582c6c05c28d69b049584d28e19b932 (patch)
tree589186ea3134975d0a8d8dfeb6809076c8e5cd97 /lib
parentfcacd38036bcf134b3ee312677919e9666f38c54 (diff)
If a connection is closed down and it had some kind of NTLM involved, we
reset the authentication state to make it restart on the next connection. This of course because NTLM is connection-oriented, whilst all other authentication schemes are not.
Diffstat (limited to 'lib')
-rw-r--r--lib/url.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/url.c b/lib/url.c
index 69c3677b1..a1f474d4d 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -1298,6 +1298,13 @@ CURLcode Curl_disconnect(struct connectdata *conn)
conn->bits.rangestringalloc = FALSE;
}
+ if((conn->ntlm.state != NTLMSTATE_NONE) ||
+ (conn->proxyntlm.state != NTLMSTATE_NONE))
+ /* Authentication data is a mix of connection-related and sessionhandle-
+ related stuff. NTLM is connection-related so when we close the shop
+ we shall forget. */
+ conn->data->state.authstage = 0;
+
if(-1 != conn->connectindex) {
/* unlink ourselves! */
infof(conn->data, "Closing connection #%d\n", conn->connectindex);