diff options
author | Werner Koch <[email protected]> | 2017-01-24 19:45:31 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2017-01-24 19:52:24 +0000 |
commit | 770b75a746836773909af25ccb9b480e61cea677 (patch) | |
tree | a70ef2ab370e36029ac63e96b3a7e5792fb1e3bd /g10/call-dirmngr.c | |
parent | dirmngr: Simplify error returning inside http.c. (diff) | |
download | gnupg-770b75a746836773909af25ccb9b480e61cea677.tar.gz gnupg-770b75a746836773909af25ccb9b480e61cea677.zip |
gpg: Print a warning on Tor problems.
* dirmngr/ks-engine-hkp.c (tor_not_running_p): New.
(map_host): Call that to print a warning.
(handle_send_request_error): Ditto and avoid marking the host dead.
Also print a tor_config_problem warning. Add arg CTRL; adjust callers
to pass that new arg.
* g10/call-dirmngr.c (ks_status_cb): Detect and print the new
warnings.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'g10/call-dirmngr.c')
-rw-r--r-- | g10/call-dirmngr.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/g10/call-dirmngr.c b/g10/call-dirmngr.c index 4be9da117..2f2ba982e 100644 --- a/g10/call-dirmngr.c +++ b/g10/call-dirmngr.c @@ -374,7 +374,8 @@ ks_status_cb (void *opaque, const char *line) { struct ks_status_parm_s *parm = opaque; gpg_error_t err = 0; - const char *s; + const char *s, *s2; + const char *warn; if ((s = has_leading_keyword (line, parm->keyword? parm->keyword : "SOURCE"))) { @@ -385,6 +386,29 @@ ks_status_cb (void *opaque, const char *line) err = gpg_error_from_syserror (); } } + else if ((s = has_leading_keyword (line, "WARNING"))) + { + if ((s2 = has_leading_keyword (s, "tor_not_running"))) + warn = _("Tor is not running"); + else if ((s2 = has_leading_keyword (s, "tor_config_problem"))) + warn = _("Tor is not properly configured"); + else + warn = NULL; + + if (warn) + { + log_info (_("WARNING: %s\n"), warn); + if (s2) + { + while (*s2 && !spacep (s2)) + s2++; + while (*s2 && spacep (s2)) + s2++; + if (*s2) + print_further_info ("%s", s2); + } + } + } return err; } |