diff options
author | Werner Koch <[email protected]> | 2017-07-26 08:58:15 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2017-07-26 08:58:15 +0000 |
commit | fd68bdb61ec4f8441da6d3023a8da4315df54cec (patch) | |
tree | f832e63f5887ea1e380989857315dfb152fbac0c /dirmngr/dirmngr.c | |
parent | agent,dirmngr: Check for homedir removal also using stat(2). (diff) | |
download | gnupg-fd68bdb61ec4f8441da6d3023a8da4315df54cec.tar.gz gnupg-fd68bdb61ec4f8441da6d3023a8da4315df54cec.zip |
dirmngr: Auto-enable Tor on startup or reload.
* dirmngr/dirmngr.c (dirmngr_use_tor): Test for Tor availibility.
--
GnuPG-bug-id: 2935
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'dirmngr/dirmngr.c')
-rw-r--r-- | dirmngr/dirmngr.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c index 1ddc568a0..0d133c61b 100644 --- a/dirmngr/dirmngr.c +++ b/dirmngr/dirmngr.c @@ -532,7 +532,17 @@ dirmngr_use_tor (void) { if (tor_mode == TOR_MODE_AUTO) { - /* FIXME: Figure out whether Tor is running. */ + /* Figure out whether Tor is running. */ + assuan_fd_t sock; + + sock = assuan_sock_connect_byname (NULL, 0, 0, NULL, ASSUAN_SOCK_TOR); + if (sock == ASSUAN_INVALID_FD) + tor_mode = TOR_MODE_NO; + else + { + tor_mode = TOR_MODE_YES; + assuan_sock_close (sock); + } } if (tor_mode == TOR_MODE_FORCE) |