diff options
author | Werner Koch <[email protected]> | 2015-10-19 11:12:24 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2015-10-19 11:17:58 +0000 |
commit | 6983fd131f648ba4acd57b266de9868911874d14 (patch) | |
tree | 0ae92d271eb2dfbaf5cb2e110f05e94b65bcdcf6 /dirmngr/dirmngr.c | |
parent | dirmngr: Use Assuan socket wrappers for http.c (diff) | |
download | gnupg-6983fd131f648ba4acd57b266de9868911874d14.tar.gz gnupg-6983fd131f648ba4acd57b266de9868911874d14.zip |
dirmngr: Make --use-tor work - still leaks DNS.
* dirmngr/dirmngr.c (set_tor_mode): New.
(main, reread_configuration): Call it.
* dirmngr/http.c (http_raw_connect, send_request): Check whether TOR
mode is enabled if the FORCE_TOR flag is given.
--
The patch for http.c is a sanity check because tor mode is anyway
global as long as the Assuan socket wrappers are used.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
-rw-r--r-- | dirmngr/dirmngr.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c index a32040e7b..744fb52b0 100644 --- a/dirmngr/dirmngr.c +++ b/dirmngr/dirmngr.c @@ -466,6 +466,20 @@ set_debug (void) static void +set_tor_mode (void) +{ + if (opt.use_tor) + { + if (assuan_sock_set_flag (ASSUAN_INVALID_FD, "tor-mode", 1)) + { + log_error ("error enabling TOR mode: %s\n", strerror (errno)); + log_info ("(is your Libassuan recent enough?)\n"); + } + } +} + + +static void wrong_args (const char *text) { es_fprintf (es_stderr, _("usage: %s [options] "), DIRMNGR_NAME); @@ -985,11 +999,10 @@ main (int argc, char **argv) if (opt.use_tor) { log_info ("WARNING: ***************************************\n"); - log_info ("WARNING: TOR mode (--use-tor) DOES NOT YET WORK!\n"); + log_info ("WARNING: TOR mode (--use-tor) MAY NOT FULLY WORK!\n"); log_info ("WARNING: ***************************************\n"); } - /* Print a warning if an argument looks like an option. */ if (!opt.quiet && !(pargs.flags & ARGPARSE_FLAG_STOP_SEEN)) { @@ -1018,6 +1031,7 @@ main (int argc, char **argv) } set_debug (); + set_tor_mode (); /* Get LDAP server list from file. */ #if USE_LDAP @@ -1783,6 +1797,7 @@ reread_configuration (void) fclose (fp); set_debug (); + set_tor_mode (); } |