From 0d0d5e7ee3b8575118d8d268802623f2a9a49ee5 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 14 Dec 2004 21:22:51 +0000 Subject: Harshal Pradhan fixed changing username/password on a persitent HTTP connection. --- lib/url.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'lib/url.c') diff --git a/lib/url.c b/lib/url.c index 4b077dfe2..65d7cf032 100644 --- a/lib/url.c +++ b/lib/url.c @@ -3131,7 +3131,26 @@ static CURLcode CreateConnection(struct SessionHandle *data, /* get the user+password information from the old_conn struct since it may * be new for this request even when we re-use an existing connection */ conn->bits.user_passwd = old_conn->bits.user_passwd; + if (conn->bits.user_passwd) { + /* use the new user namd and password though */ + Curl_safefree(conn->user); + Curl_safefree(conn->passwd); + conn->user = old_conn->user; + conn->passwd = old_conn->passwd; + old_conn->user = NULL; + old_conn->passwd = NULL; + } + conn->bits.proxy_user_passwd = old_conn->bits.proxy_user_passwd; + if (conn->bits.proxy_user_passwd) { + /* use the new proxy user name and proxy password though */ + Curl_safefree(conn->proxyuser); + Curl_safefree(conn->proxypasswd); + conn->proxyuser = old_conn->proxyuser; + conn->proxypasswd = old_conn->proxypasswd; + old_conn->proxyuser = NULL; + old_conn->proxypasswd = NULL; + } /* host can change, when doing keepalive with a proxy ! */ if (conn->bits.httpproxy) { -- cgit v1.2.3