diff options
Diffstat (limited to 'src/modules/m_spanningtree')
| -rw-r--r-- | src/modules/m_spanningtree/main.cpp | 6 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/resolvers.cpp | 4 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/treesocket1.cpp | 3 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/uid.cpp | 8 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/utils.cpp | 4 |
5 files changed, 10 insertions, 15 deletions
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp index ad45a2746..520868978 100644 --- a/src/modules/m_spanningtree/main.cpp +++ b/src/modules/m_spanningtree/main.cpp @@ -223,7 +223,7 @@ void ModuleSpanningTree::ConnectServer(std::shared_ptr<Link> x, std::shared_ptr< irc::sockets::sockaddrs sa; if (x->IPAddr.find('/') != std::string::npos) { - if (!irc::sockets::isunix(x->IPAddr) || !irc::sockets::untosa(x->IPAddr, sa)) + if (!irc::sockets::isunix(x->IPAddr) || !sa.from_unix(x->IPAddr)) { // We don't use the family() != AF_UNSPEC check below for UNIX sockets as // that results in a DNS lookup. @@ -235,7 +235,7 @@ void ModuleSpanningTree::ConnectServer(std::shared_ptr<Link> x, std::shared_ptr< else { // If this fails then the IP sa will be AF_UNSPEC. - irc::sockets::aptosa(x->IPAddr, x->Port, sa); + sa.from_ip_port(x->IPAddr, x->Port); } /* Do we already have an IP? If so, no need to resolve it. */ @@ -259,7 +259,7 @@ void ModuleSpanningTree::ConnectServer(std::shared_ptr<Link> x, std::shared_ptr< // Guess start_type from bindip aftype DNS::QueryType start_type = DNS::QUERY_AAAA; irc::sockets::sockaddrs bind; - if ((!x->Bind.empty()) && (irc::sockets::aptosa(x->Bind, 0, bind))) + if (!x->Bind.empty() && bind.from_ip(x->Bind)) { if (bind.family() == AF_INET) start_type = DNS::QUERY_A; diff --git a/src/modules/m_spanningtree/resolvers.cpp b/src/modules/m_spanningtree/resolvers.cpp index 4c449f2c4..e77db55a5 100644 --- a/src/modules/m_spanningtree/resolvers.cpp +++ b/src/modules/m_spanningtree/resolvers.cpp @@ -55,8 +55,8 @@ void ServernameResolver::OnLookupComplete(const DNS::Query *r) return; } - irc::sockets::sockaddrs sa; - if (!irc::sockets::aptosa(ans_record->rdata, MyLink->Port, sa)) + irc::sockets::sockaddrs sa(false); + if (!sa.from_ip_port(ans_record->rdata, MyLink->Port)) { // We had a result but it wasn't a valid IPv4/IPv6. OnError(r); diff --git a/src/modules/m_spanningtree/treesocket1.cpp b/src/modules/m_spanningtree/treesocket1.cpp index 7cf1e170c..f66227084 100644 --- a/src/modules/m_spanningtree/treesocket1.cpp +++ b/src/modules/m_spanningtree/treesocket1.cpp @@ -48,10 +48,9 @@ TreeSocket::TreeSocket(std::shared_ptr<Link> link, std::shared_ptr<Autoconnect> capab->ac = myac; irc::sockets::sockaddrs bind; - memset(&bind, 0, sizeof(bind)); if (!link->Bind.empty() && (dest.family() == AF_INET || dest.family() == AF_INET6)) { - if (!irc::sockets::aptosa(link->Bind, 0, bind)) + if (!bind.from_ip(link->Bind)) { state = I_ERROR; SetError("Bind address '" + link->Bind + "' is not a valid IPv4 or IPv6 address"); diff --git a/src/modules/m_spanningtree/uid.cpp b/src/modules/m_spanningtree/uid.cpp index bd878d488..9fe9069a0 100644 --- a/src/modules/m_spanningtree/uid.cpp +++ b/src/modules/m_spanningtree/uid.cpp @@ -70,12 +70,8 @@ CmdResult CommandUID::HandleServer(TreeServer* remoteserver, CommandBase::Params } } - irc::sockets::sockaddrs sa; - if (params[6].find('/') != std::string::npos) - irc::sockets::untosa(params[6], sa); - else - irc::sockets::aptosa(params[6], 0, sa); - if (sa.family() == AF_UNSPEC) + irc::sockets::sockaddrs sa(false); + if (!sa.from(params[6])) throw ProtocolException("Invalid IP address or UNIX socket path"); /* For remote users, we pass the UUID they sent to the constructor. diff --git a/src/modules/m_spanningtree/utils.cpp b/src/modules/m_spanningtree/utils.cpp index 3afe0fddb..798df840f 100644 --- a/src/modules/m_spanningtree/utils.cpp +++ b/src/modules/m_spanningtree/utils.cpp @@ -212,8 +212,8 @@ void SpanningTreeUtilities::RefreshIPCache() ValidIPs.insert(ValidIPs.end(), L->AllowMasks.begin(), L->AllowMasks.end()); - irc::sockets::sockaddrs dummy; - bool ipvalid = irc::sockets::aptosa(L->IPAddr, L->Port, dummy); + irc::sockets::sockaddrs dummy(false); + bool ipvalid = dummy.from_ip_port(L->IPAddr, L->Port); if ((L->IPAddr == "*") || (isunix) || (ipvalid)) ValidIPs.push_back(L->IPAddr); else if (this->Creator->DNS) |
