diff options
author | Werner Koch <[email protected]> | 2017-02-01 16:54:14 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2017-02-01 16:54:14 +0000 |
commit | 7440119e729d3fdedda8a9b44b70f8959beea8d7 (patch) | |
tree | f4a255eee45c207be1673887aaffa91ae7db42b4 /dirmngr/server.c | |
parent | Fix explanation of commit e175152ef7515921635bf1e00383e812668d13fc. (diff) | |
download | gnupg-7440119e729d3fdedda8a9b44b70f8959beea8d7.tar.gz gnupg-7440119e729d3fdedda8a9b44b70f8959beea8d7.zip |
dirmngr: New option --no-use-tor and internal changes.
* dirmngr/dns-stuff.c (disable_dns_tormode): New.
* dirmngr/dirmngr.c (oNoUseTor): New const.
(opts): New option --no-use-tor.
(tor_mode): New var.
(parse_rereadable_options): Change to use TOR_MODE.
(dirmngr_use_tor): New.
(set_tor_mode): Call disable_dns_tormode. Implement oNoUseTor.
* dirmngr/dirmngr.h (opt): Remove field 'use_tor'. Replace all
references by a call to dirmngr_use_tor().
* dirmngr/server.c (cmd_getinfo): Distinguish between default and
enforced TOR_MODE.
--
This patch replaces the global variable opt.use_tar by a function
testing a file local mode flag. This patch prepares for a
use-tor-if-available mode.
GnuPG-bug-id: 2935
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'dirmngr/server.c')
-rw-r--r-- | dirmngr/server.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/dirmngr/server.c b/dirmngr/server.c index c9c4ad437..bca3a61e4 100644 --- a/dirmngr/server.c +++ b/dirmngr/server.c @@ -625,7 +625,7 @@ option_handler (assuan_context_t ctx, const char *key, const char *value) else if (!strcmp (key, "honor-keyserver-url-used")) { /* Return an error if we are running in Tor mode. */ - if (opt.use_tor) + if (dirmngr_use_tor ()) err = gpg_error (GPG_ERR_FORBIDDEN); } else @@ -2338,14 +2338,18 @@ cmd_getinfo (assuan_context_t ctx, char *line) } else if (!strcmp (line, "tor")) { - if (opt.use_tor) + int use_tor; + + use_tor = dirmngr_use_tor (); + if (use_tor) { if (!is_tor_running (ctrl)) err = assuan_write_status (ctx, "NO_TOR", "Tor not running"); else err = 0; if (!err) - assuan_set_okay_line (ctx, "- Tor mode is enabled"); + assuan_set_okay_line (ctx, use_tor == 1 ? "- Tor mode is enabled" + /**/ : "- Tor mode is enforced"); } else err = set_error (GPG_ERR_FALSE, "Tor mode is NOT enabled"); |