add try-catch to dns resolving of name server to get more precise error
authorChristian Herdtweck <christian.herdtweck@intra2net.com>
Fri, 25 Apr 2014 09:22:38 +0000 (11:22 +0200)
committerChristian Herdtweck <christian.herdtweck@intra2net.com>
Fri, 25 Apr 2014 09:22:38 +0000 (11:22 +0200)
src/dns/dnsresolver.cpp

index 1e9e903..4ac11cb 100644 (file)
@@ -231,7 +231,15 @@ rr_list_t DnsResolver::get_answers_list(
     BOOST_ASSERT( !host_dns_address.empty() );
     BOOST_ASSERT( !name_server.empty() );
 
-    address nameServer( address::from_string( name_server ) );
+    address nameServer;
+    try{
+        nameServer = address::from_string( name_server );
+    }
+    catch ( const std::exception &ex )
+    {
+        GlobalLogger.error() << "Error: name server " << name_server << " does not seem to be an IP address. ";
+        throw;   // forward exception to next handler
+    }
     boost::net::dns::resolve resolver;
     resolver.addServer( nameServer );