diff options
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) |