diff options
Diffstat (limited to 'src/listensocket.cpp')
-rw-r--r-- | src/listensocket.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/listensocket.cpp b/src/listensocket.cpp index 663f912e6..df252f18b 100644 --- a/src/listensocket.cpp +++ b/src/listensocket.cpp @@ -25,12 +25,18 @@ ListenSocketBase::ListenSocketBase(InspIRCd* Instance, int port, const std::stri { irc::sockets::sockaddrs bind_to; - bind_addr = addr; - bind_port = port; - // canonicalize address if it is defined - if (!addr.empty() && irc::sockets::aptosa(addr.c_str(), port, &bind_to)) + if (irc::sockets::aptosa(addr.c_str(), port, &bind_to)) + { irc::sockets::satoap(&bind_to, bind_addr, bind_port); + bind_desc = irc::sockets::satouser(&bind_to); + } + else + { + bind_addr = addr; + bind_port = port; + bind_desc = addr + ":" + ConvToStr(port); + } this->SetFd(irc::sockets::OpenTCPSocket(bind_addr.c_str())); if (this->GetFd() > -1) |