# # # patch "ChangeLog" # from [1aca4a0308011c18d4cd064b3e43fb815a3e1303] # to [968e5adadf31d948cdfa1ee575043d1377f86255] # # patch "netxx/resolve_getaddrinfo.cxx" # from [5ac3791fe2751ae78f121e9aad0027d301c3d1a0] # to [5cbbb8c8debda2da26c6dc4792516e8094621502] # # patch "netxx/resolve_gethostbyname.cxx" # from [2978e83cbb2327e1e3cf0eac745172b038be551d] # to [437824be17040a618e45076079ed481653a77895] # ============================================================ --- ChangeLog 1aca4a0308011c18d4cd064b3e43fb815a3e1303 +++ ChangeLog 968e5adadf31d948cdfa1ee575043d1377f86255 @@ -1,5 +1,10 @@ 2006-04-08 Richard Levitte + * netxx/resolve_gethostbyname.cxx (resolve_hostname), + * netxx/resolve_getaddrinfo.cxx (resolve_hostname): Include the + error string associated with the error returned by getaddrinfo() + and gethostbyname() in the exception text. + * netsync.cc (serve_connections): When socket() fails in Netxx, it throws a Netxx::Exception rather than a Netxx::NetworkException, so we need to catch that as well. This ============================================================ --- netxx/resolve_getaddrinfo.cxx 5ac3791fe2751ae78f121e9aad0027d301c3d1a0 +++ netxx/resolve_getaddrinfo.cxx 5cbbb8c8debda2da26c6dc4792516e8094621502 @@ -81,8 +81,10 @@ // maintainer knows this. hmm. flags.ai_socktype = SOCK_STREAM; - if (getaddrinfo(hostname, 0, &flags, &info) != 0) { + int gai_error = getaddrinfo(hostname, 0, &flags, &info); + if (gai_error != 0) { std::string error("name resolution failure for "); error += hostname; + error += ": "; error += gai_strerror(gai_error); throw NetworkException(error); } ============================================================ --- netxx/resolve_gethostbyname.cxx 2978e83cbb2327e1e3cf0eac745172b038be551d +++ netxx/resolve_gethostbyname.cxx 437824be17040a618e45076079ed481653a77895 @@ -80,6 +80,7 @@ hostent *he; // WARNING not MT safe if ( (he = gethostbyname(hostname)) == 0) { std::string error("name resolution failure for "); error += hostname; + error += ": "; error += hstrerror(h_errno); throw NetworkException(error); }