aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/dirmngr.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2015-10-19 11:12:24 +0000
committerWerner Koch <[email protected]>2015-10-19 11:17:58 +0000
commit6983fd131f648ba4acd57b266de9868911874d14 (patch)
tree0ae92d271eb2dfbaf5cb2e110f05e94b65bcdcf6 /dirmngr/dirmngr.c
parentdirmngr: Use Assuan socket wrappers for http.c (diff)
downloadgnupg-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.c19
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 ();
}