diff options
-rw-r--r-- | lib/easy.c | 2 | ||||
-rw-r--r-- | lib/hostip.h | 4 | ||||
-rw-r--r-- | lib/http.c | 9 | ||||
-rw-r--r-- | lib/multi.c | 2 | ||||
-rw-r--r-- | lib/share.c | 2 |
5 files changed, 8 insertions, 11 deletions
diff --git a/lib/easy.c b/lib/easy.c index d1e7ef442..bc91f4874 100644 --- a/lib/easy.c +++ b/lib/easy.c @@ -271,7 +271,7 @@ CURLcode curl_easy_perform(CURL *curl) } if (!data->hostcache) { - data->hostcache = Curl_hash_alloc(7, Curl_freednsinfo); + data->hostcache = Curl_mk_dnscache(); if(!data->hostcache) /* While we possibly could survive and do good without a host cache, diff --git a/lib/hostip.h b/lib/hostip.h index 64d402240..b7d212d81 100644 --- a/lib/hostip.h +++ b/lib/hostip.h @@ -74,8 +74,8 @@ void Curl_scan_cache_used(void *user, void *ptr); /* free name info */ void Curl_freeaddrinfo(Curl_addrinfo *freeaddr); -/* free cached name info */ -void Curl_freednsinfo(void *freethis); +/* make a new dns cache and return the handle */ +curl_hash *Curl_mk_dnscache(void); /* prune old entries from the DNS cache */ void Curl_hostcache_prune(struct SessionHandle *data); diff --git a/lib/http.c b/lib/http.c index a7961cba5..41b1ef7c4 100644 --- a/lib/http.c +++ b/lib/http.c @@ -398,17 +398,14 @@ CURLcode Curl_http_auth(struct connectdata *conn, *availp |= CURLAUTH_DIGEST; if(data->state.authwant == CURLAUTH_DIGEST) { /* Digest authentication is activated */ - CURLdigest dig = CURLDIGEST_BAD; - - if(data->state.digest.nonce) - infof(data, "Authentication problem. Ignoring this.\n"); - else - dig = Curl_input_digest(conn, start); + CURLdigest dig = Curl_input_digest(conn, start); if(CURLDIGEST_FINE == dig) /* We act on it. Store our new url, which happens to be the same one we already use! */ conn->newurl = strdup(data->change.url); /* clone string */ + else + infof(data, "Authentication problem. Ignoring this.\n"); } else if(data->state.authwant & CURLAUTH_DIGEST) { diff --git a/lib/multi.c b/lib/multi.c index 18bfba2bd..ddc4b16cb 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -122,7 +122,7 @@ CURLM *curl_multi_init(void) multi->type = CURL_MULTI_HANDLE; } - multi->hostcache = Curl_hash_alloc(7, Curl_freednsinfo); + multi->hostcache = Curl_mk_dnscache(); if(!multi->hostcache) { /* failure, free mem and bail out */ free(multi); diff --git a/lib/share.c b/lib/share.c index ff1aef2e5..e554339de 100644 --- a/lib/share.c +++ b/lib/share.c @@ -73,7 +73,7 @@ curl_share_setopt(CURLSH *sh, CURLSHoption option, ...) { case CURL_LOCK_DATA_DNS: if (!share->hostcache) { - share->hostcache = Curl_hash_alloc(7, Curl_freednsinfo); + share->hostcache = Curl_mk_dnscache(); } break; |