diff options
author | Damien Goutte-Gattat <dgouttegattat@incenp.org> | 2016-05-29 16:55:42 +0200 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2016-07-14 15:44:21 +0200 |
commit | 60428c24fb29cb633c9392abb777bc4da88dbfba (patch) | |
tree | 487dbe5e7e0ae7ba07280ea525d810ae404a3b3c /dirmngr/ks-engine-http.c | |
parent | gpg: Remove options --print-dane-records and --print-pka-records. (diff) | |
download | gnupg2-60428c24fb29cb633c9392abb777bc4da88dbfba.tar.xz gnupg2-60428c24fb29cb633c9392abb777bc4da88dbfba.zip |
dirmngr: fix handling of HTTP redirections
* dirmngr/ks-engine-http.c (ks_http_fetch): Reinitialize HTTP session
when following a HTTP redirection.
Signed-off-by: Damien Goutte-Gattat <dgouttegattat@incenp.org>
Diffstat (limited to 'dirmngr/ks-engine-http.c')
-rw-r--r-- | dirmngr/ks-engine-http.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/dirmngr/ks-engine-http.c b/dirmngr/ks-engine-http.c index 00d0c4b80..adee04f1b 100644 --- a/dirmngr/ks-engine-http.c +++ b/dirmngr/ks-engine-http.c @@ -73,6 +73,7 @@ ks_http_fetch (ctrl_t ctrl, const char *url, estream_t *r_fp) estream_t fp = NULL; char *request_buffer = NULL; + once_more: /* Note that we only use the system provided certificates with the * fetch command. */ err = http_session_new (&session, NULL, NULL, HTTP_FLAG_TRUST_SYS); @@ -81,7 +82,6 @@ ks_http_fetch (ctrl_t ctrl, const char *url, estream_t *r_fp) http_session_set_log_cb (session, cert_log_cb); *r_fp = NULL; - once_more: err = http_open (&http, HTTP_REQ_GET, url, @@ -146,6 +146,7 @@ ks_http_fetch (ctrl_t ctrl, const char *url, estream_t *r_fp) url = request_buffer; http_close (http, 0); http = NULL; + http_session_release (session); goto once_more; } err = gpg_error_from_syserror (); |