Browse Source

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>
tags/n2.4
Martin Storsjö 11 years ago
parent
commit
4e629ef80e
1 changed files with 3 additions and 3 deletions
  1. +3
    -3
      libavformat/http.c

+ 3
- 3
libavformat/http.c View File

@@ -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) {


Loading…
Cancel
Save