1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-12-22 10:19:57 +01:00

dirmngr: Amend TLS handling.

* dirmngr/http.c (http_wait_response): Get the 'use_tls' flag from the
write cookie, not from the URI.

Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
Justus Winter 2017-07-19 11:07:59 +02:00
parent 46a4a0c0e7
commit 1ba220e681
No known key found for this signature in database
GPG Key ID: DD1A52F9DA8C9020

View File

@ -1064,6 +1064,7 @@ http_wait_response (http_t hd)
{ {
gpg_error_t err; gpg_error_t err;
cookie_t cookie; cookie_t cookie;
int use_tls;
/* Make sure that we are in the data. */ /* Make sure that we are in the data. */
http_start_data (hd); http_start_data (hd);
@ -1074,6 +1075,7 @@ http_wait_response (http_t hd)
if (!cookie) if (!cookie)
return gpg_err_make (default_errsource, GPG_ERR_INTERNAL); return gpg_err_make (default_errsource, GPG_ERR_INTERNAL);
use_tls = cookie->use_tls;
es_fclose (hd->fp_write); es_fclose (hd->fp_write);
hd->fp_write = NULL; hd->fp_write = NULL;
/* The close has released the cookie and thus we better set it to NULL. */ /* The close has released the cookie and thus we better set it to NULL. */
@ -1092,7 +1094,7 @@ http_wait_response (http_t hd)
return gpg_err_make (default_errsource, gpg_err_code_from_syserror ()); return gpg_err_make (default_errsource, gpg_err_code_from_syserror ());
cookie->sock = my_socket_ref (hd->sock); cookie->sock = my_socket_ref (hd->sock);
cookie->session = http_session_ref (hd->session); cookie->session = http_session_ref (hd->session);
cookie->use_tls = hd->uri->use_tls; cookie->use_tls = use_tls;
hd->read_cookie = cookie; hd->read_cookie = cookie;
hd->fp_read = es_fopencookie (cookie, "r", cookie_functions); hd->fp_read = es_fopencookie (cookie, "r", cookie_functions);