From 6ccf0a34289a21b97edbbef3578d5614bad45356 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 3 Jan 2013 13:39:50 -0500 Subject: [PATCH] Fixed os_dns not readding connected servers if configured --- modules/commands/os_dns.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/modules/commands/os_dns.cpp b/modules/commands/os_dns.cpp index c60dd2641..cf5fa6000 100644 --- a/modules/commands/os_dns.cpp +++ b/modules/commands/os_dns.cpp @@ -116,13 +116,20 @@ class DNSServer : public Serializable void SetLimit(unsigned l) { limit = l; } bool Pooled() const { return pooled; } - void Pool(bool p) { pooled = p; } + void Pool(bool p) + { + if (!p) + this->SetActive(p); + pooled = p; + } bool Active() const { return pooled && active; } void SetActive(bool p) { - this->Pool(p); + if (p) + this->Pool(p); active = p; + if (dnsmanager) dnsmanager->UpdateSerial(); } @@ -485,7 +492,7 @@ class CommandOSDNS : public Command if (s->GetIPs().empty()) { s->repool = 0; - s->SetActive(false); + s->Pool(false); } if (s->Active() && dnsmanager) @@ -574,7 +581,7 @@ class CommandOSDNS : public Command return; } - s->SetActive(false); + s->Pool(false); source.Reply(_("Depooled %s."), s->GetName().c_str()); Log(LOG_ADMIN, source, this) << "to depool " << s->GetName();