From 7c30d223fb42d7e1df1c2c0106e978877497dcd5 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 21 Jan 2011 23:01:48 -0500 Subject: [PATCH] Bug #1234 - Fix reading resolv.conf if it has multiple spaces or tabs (cherry picked from commit a162f1d18e1807a4d6e6fc8bf1535f946d0c6440) --- src/config.cpp | 16 ++++++++++------ 1 file 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; + } } } }