diff options
| author | Pierre Joye <pierre.php@gmail.com> | 2012-01-26 16:39:53 +0100 |
|---|---|---|
| committer | Pierre Joye <pierre.php@gmail.com> | 2012-01-26 16:39:53 +0100 |
| commit | 8ee2576b6fcc8aee0c768255a55e255a1868b609 (patch) | |
| tree | 41dbe761ce20a76f3168257800bba199ed77ec47 /lib/url.c | |
| parent | 575f3c30ed60aafddbaeeb26745cca942fb9ee2f (diff) | |
| parent | cf9fb08ca4537d76afde44daf1e92307fe2882d3 (diff) | |
Merge branch 'master' of github.com:bagder/curl
Diffstat (limited to 'lib/url.c')
| -rw-r--r-- | lib/url.c | 28 |
1 files changed, 16 insertions, 12 deletions
@@ -137,7 +137,9 @@ static long ConnectionKillOne(struct SessionHandle *data); static void conn_free(struct connectdata *conn); static void signalPipeClose(struct curl_llist *pipeline, bool pipe_broke); static CURLcode do_init(struct connectdata *conn); - +static CURLcode parse_url_userpass(struct SessionHandle *data, + struct connectdata *conn, + char *user, char *passwd); /* * Protocol table. */ @@ -3666,7 +3668,9 @@ static CURLcode findprotocol(struct SessionHandle *data, */ static CURLcode parseurlandfillconn(struct SessionHandle *data, struct connectdata *conn, - bool *prot_missing) + bool *prot_missing, + char *user, + char *passwd) { char *at; char *fragment; @@ -3675,6 +3679,7 @@ static CURLcode parseurlandfillconn(struct SessionHandle *data, int rc; char protobuf[16]; const char *protop; + CURLcode result; *prot_missing = FALSE; @@ -3841,6 +3846,14 @@ static CURLcode parseurlandfillconn(struct SessionHandle *data, path[0] = '/'; } + /************************************************************* + * Parse a user name and password in the URL and strip it out + * of the host name + *************************************************************/ + result = parse_url_userpass(data, conn, user, passwd); + if(result != CURLE_OK) + return result; + if(conn->host.name[0] == '[') { /* This looks like an IPv6 address literal. See if there is an address scope. */ @@ -4783,7 +4796,7 @@ static CURLcode create_conn(struct SessionHandle *data, conn->host.name = conn->host.rawalloc; conn->host.name[0] = 0; - result = parseurlandfillconn(data, conn, &prot_missing); + result = parseurlandfillconn(data, conn, &prot_missing, user, passwd); if(result != CURLE_OK) return result; @@ -4813,15 +4826,6 @@ static CURLcode create_conn(struct SessionHandle *data, } /************************************************************* - * Parse a user name and password in the URL and strip it out - * of the host name - *************************************************************/ - result = parse_url_userpass(data, conn, user, passwd); - if(result != CURLE_OK) - return result; - - - /************************************************************* * If the protocol can't handle url query strings, then cut * of the unhandable part *************************************************************/ |
