- std::string oldserver = DNSServer;
- DNSServer = ServerInstance->Config->ConfValue("dns")->getString("server");
+ ConfigTag* tag = ServerInstance->Config->ConfValue("dns");
+ if (!tag->getBool("enabled", true))
+ {
+ // Clear these so they get reset if DNS is enabled again.
+ DNSServer.clear();
+ SourceIP.clear();
+ SourcePort = 0;
+
+ this->manager.Close();
+ return;
+ }
+
+ const std::string oldserver = DNSServer;
+ DNSServer = tag->getString("server");
+
+ const std::string oldip = SourceIP;
+ SourceIP = tag->getString("sourceip");
+
+ const unsigned int oldport = SourcePort;
+ SourcePort = tag->getUInt("sourceport", 0, 0, UINT16_MAX);
+