aboutsummaryrefslogtreecommitdiff
path: root/src/or/dns.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2007-01-16 17:39:08 +0000
committerNick Mathewson <nickm@torproject.org>2007-01-16 17:39:08 +0000
commita36ec61fd7ef39588e3f97d0708e2d3a4c0d5255 (patch)
tree9333334e0def22760b9b7e0afe2fb7e06747d785 /src/or/dns.c
parent093d71762c9a80cccdd759c83731c014b53c4435 (diff)
downloadtor-a36ec61fd7ef39588e3f97d0708e2d3a4c0d5255.tar.gz
tor-a36ec61fd7ef39588e3f97d0708e2d3a4c0d5255.zip
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
Diffstat (limited to 'src/or/dns.c')
-rw-r--r--src/or/dns.c10
1 files 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