From a36ec61fd7ef39588e3f97d0708e2d3a4c0d5255 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 16 Jan 2007 17:39:08 +0000 Subject: [PATCH] r11983@Kushana: nickm | 2007-01-16 10:28:47 -0500 Be even more clever about severity of messages from eventdns: NOTICE when the first nameserver comes up; INFO on subsequent ones. svn:r9364 --- src/or/dns.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/or/dns.c b/src/or/dns.c index c378ad88b1..89d8b1d960 100644 --- a/src/or/dns.c +++ b/src/or/dns.c @@ -172,6 +172,8 @@ static void evdns_log_cb(int warn, const char *msg) { const char *cp; + static int all_down = 0; + int severity = warn ? LOG_WARN : LOG_INFO; if (!strcmpstart(msg, "Resolve requested for") && get_options()->SafeLogging) { log(LOG_INFO, LD_EXIT, "eventdns: Resolve requested."); @@ -185,7 +187,7 @@ evdns_log_cb(int warn, const char *msg) /* Don't warn about a single failed nameserver; we'll warn with 'all * nameservers have failed' if we're completely out of nameservers; * otherwise, the situation is tolerable. */ - warn = 0; + severity = LOG_INFO; control_event_server_status(LOG_NOTICE, "NAMESERVER_STATUS NS=%s STATUS=DOWN ERR=%s", ns, escaped(err)); @@ -193,14 +195,16 @@ evdns_log_cb(int warn, const char *msg) } else if (!strcmpstart(msg, "Nameserver ") && (cp=strstr(msg, " is back up"))) { char *ns = tor_strndup(msg+11, cp-(msg+11)); - warn = 0; /* It's never a warning when a nameserver comes back up. */ + severity = all_down ? LOG_NOTICE : LOG_INFO; + all_down = 0; control_event_server_status(LOG_NOTICE, "NAMESERVER_STATUS NS=%s STATUS=UP", ns); tor_free(ns); } else if (!strcmp(msg, "All nameservers have failed")) { control_event_server_status(LOG_WARN, "NAMESERVER_ALL_DOWN"); + all_down = 1; } - log(warn?LOG_WARN:LOG_INFO, LD_EXIT, "eventdns: %s", msg); + log(severity, LD_EXIT, "eventdns: %s", msg); } #endif