diff options
| author | 2019-05-15 15:11:31 +0100 | |
|---|---|---|
| committer | 2019-05-15 15:26:55 +0100 | |
| commit | 1d5b18de82a90317291a10acb3b9132324c0e98b (patch) | |
| tree | be49087463332fcb617dd88567afce5cea6eb8c6 /src/modules/m_spanningtree/resolvers.cpp | |
| parent | Merge branch 'insp3' into master. (diff) | |
| parent | Document the --disable-auto-extras configure option. (diff) | |
Merge branch 'insp3' into master.
Diffstat (limited to 'src/modules/m_spanningtree/resolvers.cpp')
| -rw-r--r-- | src/modules/m_spanningtree/resolvers.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/modules/m_spanningtree/resolvers.cpp b/src/modules/m_spanningtree/resolvers.cpp index 7e3cf7176..8d1957211 100644 --- a/src/modules/m_spanningtree/resolvers.cpp +++ b/src/modules/m_spanningtree/resolvers.cpp @@ -49,6 +49,14 @@ void ServernameResolver::OnLookupComplete(const DNS::Query *r) return; } + irc::sockets::sockaddrs sa; + if (!irc::sockets::aptosa(ans_record->rdata, MyLink->Port, sa)) + { + // We had a result but it wasn't a valid IPv4/IPv6. + OnError(r); + return; + } + /* Initiate the connection, now that we have an IP to use. * Passing a hostname directly to BufferedSocket causes it to * just bail and set its FD to -1. @@ -56,7 +64,7 @@ void ServernameResolver::OnLookupComplete(const DNS::Query *r) TreeServer* CheckDupe = Utils->FindServer(MyLink->Name); if (!CheckDupe) /* Check that nobody tried to connect it successfully while we were resolving */ { - TreeSocket* newsocket = new TreeSocket(MyLink, myautoconnect, ans_record->rdata); + TreeSocket* newsocket = new TreeSocket(MyLink, myautoconnect, sa); if (newsocket->GetFd() > -1) { /* We're all OK */ |
