diff options
author | Moritz Barsnick <barsnick@gmx.net> | 2020-08-23 13:53:39 +0200 |
---|---|---|
committer | Marton Balint <cus@passwd.hu> | 2021-03-19 22:43:02 +0100 |
commit | 94b63e8ae8deb218339d93a3ec0732826dba7a54 (patch) | |
tree | 0889f8502a10eede24ba633a5f9025b8a56c1ea2 /libavformat/http.c | |
parent | 4892060f50cc91ae6b1b5a3c28346fb9a829c757 (diff) | |
download | ffmpeg-94b63e8ae8deb218339d93a3ec0732826dba7a54.tar.gz |
avformat/http,tls: honor http_proxy command line variable for HTTPS
Add the "http_proxy" option and its handling to the "tls" protocol,
pass the option from the "https" protocol.
The "https" protocol already defines the "http_proxy" command line
option, like the "http" protocol does. The "http" protocol properly
honors that command line option in addition to the environment
variable. The "https" protocol doesn't, because the proxy is
evaluated in the underlying "tls" protocol, which doesn't have this
option, and thus only handles the environment variable, which it
has access to.
Fixes #7223.
Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Marton Balint <cus@passwd.hu>
Diffstat (limited to 'libavformat/http.c')
-rw-r--r-- | libavformat/http.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libavformat/http.c b/libavformat/http.c index d44bc64f7b..fb2d9306bd 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -214,6 +214,12 @@ static int http_open_cnx_internal(URLContext *h, AVDictionary **options) use_proxy = 0; if (port < 0) port = 443; + /* pass http_proxy to underlying protocol */ + if (s->http_proxy) { + err = av_dict_set(options, "http_proxy", s->http_proxy, 0); + if (err < 0) + return err; + } } if (port < 0) port = 80; |