From 8ff8a1d289e3e66f19cd6559133532f9e0ed1956 Mon Sep 17 00:00:00 2001 From: Giuseppe Scrivano Date: Thu, 27 May 2010 12:09:56 +0200 Subject: [PATCH] Send new cookies when the authorization fails. --- src/ChangeLog | 5 +++++ src/http.c | 34 +++++++++++++++++----------------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 82a339c3..cf478621 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2010-05-27 Giuseppe Scrivano + + * http.c (gethttp): Consider new cookies retrieved when the + authorization fails. + 2010-05-25 Giuseppe Scrivano * host.c (sufmatch): Do not consider zero length entries. diff --git a/src/http.c b/src/http.c index 60f4f846..49273243 100644 --- a/src/http.c +++ b/src/http.c @@ -1694,18 +1694,6 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy, if (!inhibit_keep_alive) request_set_header (req, "Connection", "Keep-Alive", rel_none); - if (opt.cookies) - request_set_header (req, "Cookie", - cookie_header (wget_cookie_jar, - u->host, u->port, u->path, -#ifdef HAVE_SSL - u->scheme == SCHEME_HTTPS -#else - 0 -#endif - ), - rel_value); - if (opt.post_data || opt.post_file_name) { request_set_header (req, "Content-Type", @@ -1727,6 +1715,23 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy, rel_value); } + retry_with_auth: + /* We need to come back here when the initial attempt to retrieve + without authorization header fails. (Expected to happen at least + for the Digest authorization scheme.) */ + + if (opt.cookies) + request_set_header (req, "Cookie", + cookie_header (wget_cookie_jar, + u->host, u->port, u->path, +#ifdef HAVE_SSL + u->scheme == SCHEME_HTTPS +#else + 0 +#endif + ), + rel_value); + /* Add the user headers. */ if (opt.user_headers) { @@ -1735,11 +1740,6 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy, request_set_user_header (req, opt.user_headers[i]); } - retry_with_auth: - /* We need to come back here when the initial attempt to retrieve - without authorization header fails. (Expected to happen at least - for the Digest authorization scheme.) */ - proxyauth = NULL; if (proxy) { -- 2.39.2