summaryrefslogtreecommitdiff
path: root/libavformat/http.c
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2014-08-13 14:32:52 +0300
committerMartin Storsjö <martin@martin.st>2014-08-13 20:22:28 +0300
commit4e629ef80e62a54636cb46033998177dd08cf3ad (patch)
treebb85c37aa6d54fbbf3055fb1fb40863dd14cca23 /libavformat/http.c
parentdb68ef898a3802e51b6f41fd600d0d46d058e3f8 (diff)
http: Fix authentication, broken since 6a463e7fb
The cur_*auth_type variables were set before the http_connect call prior to 6a463e7fb - their sole purpose is to record the authentication type used to do the latest request, since parsing the http response sets the new type in the auth state. CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavformat/http.c')
-rw-r--r--libavformat/http.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavformat/http.c b/libavformat/http.c
index 98f41c0b0a..377d30e784 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -201,14 +201,14 @@ static int http_open_cnx(URLContext *h, AVDictionary **options)
HTTPContext *s = h->priv_data;
int location_changed, attempts = 0, redirects = 0;
redo:
+ cur_auth_type = s->auth_state.auth_type;
+ cur_proxy_auth_type = s->auth_state.auth_type;
+
location_changed = http_open_cnx_internal(h, options);
if (location_changed < 0)
goto fail;
attempts++;
- cur_auth_type = s->auth_state.auth_type;
- cur_proxy_auth_type = s->auth_state.auth_type;
-
if (s->http_code == 401) {
if ((cur_auth_type == HTTP_AUTH_NONE || s->auth_state.stale) &&
s->auth_state.auth_type != HTTP_AUTH_NONE && attempts < 4) {