From ba2fe23e60c4e12906e125d45f5548a8f83f99ef Mon Sep 17 00:00:00 2001 From: Nicky Date: Sat, 10 Aug 2013 22:45:28 +0200 Subject: [PATCH] Print whatever nameserver ares did decide to use into logs. --- indra/llmessage/llares.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/indra/llmessage/llares.cpp b/indra/llmessage/llares.cpp index 7f74247a13..427d046e5c 100755 --- a/indra/llmessage/llares.cpp +++ b/indra/llmessage/llares.cpp @@ -108,6 +108,43 @@ LLAres::LLAres() : return; } +// Write nameserver info to logs. Need at least ares 1.10.o for ares_inet_ntop +#if (ARES_VERSION >= 0x010A00) + ares_addr_node *pServer(0); + if( ARES_SUCCESS == ares_get_servers( chan_, &pServer ) && pServer ) + { + ares_addr_node *pCur( pServer ); + while( pCur ) + { + std::stringstream strm; + char aBuffer[ INET6_ADDRSTRLEN +1 ] = {0}; + + switch( pCur->family ) + { + case( AF_INET ): + { + ares_inet_ntop( pCur->family, &pCur->addr.addr4, aBuffer, INET6_ADDRSTRLEN ); + strm << "IPv4 nameserver " << aBuffer; + break; + } + case( AF_INET6 ): + { + ares_inet_ntop( pCur->family, &pCur->addr.addr6, aBuffer, INET6_ADDRSTRLEN ); + strm << "IPv6 nameserver " << aBuffer; + break; + } + default: + strm << "Unknown protocol " << pCur->family; + } + + llinfos << strm.str() << llendl; + pCur = pCur->next; + } + ares_free_data( pServer ); + } +#endif +// + mListener = boost::shared_ptr< LLAresListener >(new LLAresListener(this)); mInitSuccess = true;