Fix the timeout option not working when connecting to a HTTP url that requires authentication.
In http_open_cnx, the patch restores the AVDictionary if connection needs to be re-tried because of a authentication/redirect status code. Previously, if a 401/407/30x status code was encountered, http_open_cnx would restart at the redo label, but any options used by the underlying protocol would be missing because they were removed by the first attempt. Signed-off-by: Brandon Lees <brandon@n-hega.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
12630fa821
commit
ffaf2074eb
@ -207,6 +207,9 @@ static int http_open_cnx(URLContext *h, AVDictionary **options)
|
|||||||
HTTPContext *s = h->priv_data;
|
HTTPContext *s = h->priv_data;
|
||||||
int location_changed, attempts = 0, redirects = 0;
|
int location_changed, attempts = 0, redirects = 0;
|
||||||
redo:
|
redo:
|
||||||
|
if (attempts > 0)
|
||||||
|
av_dict_copy(options, s->chained_options, 0);
|
||||||
|
|
||||||
cur_auth_type = s->auth_state.auth_type;
|
cur_auth_type = s->auth_state.auth_type;
|
||||||
cur_proxy_auth_type = s->auth_state.auth_type;
|
cur_proxy_auth_type = s->auth_state.auth_type;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user