summaryrefslogtreecommitdiff
path: root/src/sockets.cpp
diff options
context:
space:
mode:
authorDukePyrolator <DukePyrolator@anope.org>2011-08-14 21:17:56 +0200
committerDukePyrolator <DukePyrolator@anope.org>2011-08-14 21:21:50 +0200
commit11619be8b97d7d8c28bc1ebbf6d412dff298b23d (patch)
tree92a78779cd4973a22a8156ce0b97e5f3e79436c9 /src/sockets.cpp
parente767ded69f8f00cc2be49215400e2b4638a20140 (diff)
Fixed resolving hosts on connect
Diffstat (limited to 'src/sockets.cpp')
-rw-r--r--src/sockets.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sockets.cpp b/src/sockets.cpp
index b7f0a5f9a..4327076bd 100644
--- a/src/sockets.cpp
+++ b/src/sockets.cpp
@@ -319,7 +319,8 @@ void SocketIO::Bind(Socket *s, const Anope::string &ip, int port)
*/
void SocketIO::Connect(ConnectionSocket *s, const Anope::string &target, int port)
{
- s->conaddr.pton(s->IsIPv6() ? AF_INET6 : AF_INET, target, port);
+ DNSRecord req = DNSManager::BlockingQuery(target, s->IsIPv6() ? DNS_QUERY_AAAA : DNS_QUERY_A);
+ s->conaddr.pton(s->IsIPv6() ? AF_INET6 : AF_INET, req.result, port);
int c = connect(s->GetFD(), &s->conaddr.sa, s->conaddr.size());
if (c == -1)
{