summaryrefslogtreecommitdiff
path: root/src/dnsmasq.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dnsmasq.c')
-rw-r--r--src/dnsmasq.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/dnsmasq.c b/src/dnsmasq.c
index 9ac1a37..1c96a0e 100644
--- a/src/dnsmasq.c
+++ b/src/dnsmasq.c
@@ -397,7 +397,7 @@ int main (int argc, char **argv)
piperead = pipefd[0];
pipewrite = pipefd[1];
/* prime the pipe to load stuff first time. */
- send_event(pipewrite, EVENT_RELOAD, 0, NULL);
+ send_event(pipewrite, EVENT_INIT, 0, NULL);
err_pipe[1] = -1;
@@ -667,7 +667,11 @@ int main (int argc, char **argv)
#ifdef HAVE_DNSSEC
if (option_bool(OPT_DNSSEC_VALID))
- my_syslog(LOG_INFO, _("DNSSEC validation enabled"));
+ {
+ my_syslog(LOG_INFO, _("DNSSEC validation enabled"));
+ if (option_bool(OPT_DNSSEC_TIME))
+ my_syslog(LOG_INFO, _("DNSSEC signature timestamps not checked until first cache reload"));
+ }
#endif
if (log_err != 0)
@@ -1130,8 +1134,18 @@ static void async_event(int pipe, time_t now)
switch (ev.event)
{
case EVENT_RELOAD:
+#ifdef HAVE_DNSSEC
+ if (option_bool(OPT_DNSSEC_VALID) && option_bool(OPT_DNSSEC_TIME))
+ {
+ my_syslog(LOG_INFO, _("now checking DNSSEC signature timestamps"));
+ reset_option_bool(OPT_DNSSEC_TIME);
+ }
+#endif
+ /* fall through */
+
+ case EVENT_INIT:
clear_cache_and_reload(now);
-
+
if (daemon->port != 0)
{
if (daemon->resolv_files && option_bool(OPT_NO_POLL))