summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-01-21 23:01:48 -0500
committerAdam <Adam@anope.org>2011-01-21 23:03:27 -0500
commit7c30d223fb42d7e1df1c2c0106e978877497dcd5 (patch)
tree0b6962a7e4c72e8704b27dfa7e41a7e2c9d6a078
parent0db220812fbeb318778a99357c70403c9d00721a (diff)
Bug #1234 - Fix reading resolv.conf if it has multiple spaces or tabs
(cherry picked from commit a162f1d18e1807a4d6e6fc8bf1535f946d0c6440)
-rw-r--r--src/config.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/config.cpp b/src/config.cpp
index 61dfe7bc0..6591bcc4b 100644
--- a/src/config.cpp
+++ b/src/config.cpp
@@ -355,14 +355,18 @@ ServerConfig::ServerConfig() : errstr(""), config_data()
while (f.is_open() && getline(f, server.str()))
{
- if (server.find("nameserver ") == 0)
+ if (server.find("nameserver") == 0)
{
- if (server.substr(11).is_pos_number_only())
+ size_t ip = server.find_first_of("123456789");
+ if (ip != Anope::string::npos)
{
- this->NameServer = server.substr(11);
- Log(LOG_DEBUG) << "Nameserver set to " << this->NameServer;
- success = true;
- break;
+ if (server.substr(ip).is_pos_number_only())
+ {
+ this->NameServer = server.substr(ip);
+ Log(LOG_DEBUG) << "Nameserver set to " << this->NameServer;
+ success = true;
+ break;
+ }
}
}
}