diff options
author | Adam <Adam@anope.org> | 2011-01-21 23:01:48 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2011-01-21 23:03:27 -0500 |
commit | 7c30d223fb42d7e1df1c2c0106e978877497dcd5 (patch) | |
tree | 0b6962a7e4c72e8704b27dfa7e41a7e2c9d6a078 | |
parent | 0db220812fbeb318778a99357c70403c9d00721a (diff) |
Bug #1234 - Fix reading resolv.conf if it has multiple spaces or tabs
(cherry picked from commit a162f1d18e1807a4d6e6fc8bf1535f946d0c6440)
-rw-r--r-- | src/config.cpp | 16 |
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; + } } } } |