diff options
author | Peter Powell <petpow@saberuk.com> | 2018-01-20 12:24:35 +0000 |
---|---|---|
committer | Peter Powell <petpow@saberuk.com> | 2018-01-20 12:24:35 +0000 |
commit | b7ecd18b73a301b28c61e3ac62cd6f7e4ed5c43e (patch) | |
tree | d4df98eff2af90a0d9fa7c5387037f76efc09ed8 | |
parent | b18e6b5556f2deedf6ebf154477c4d69dcf02638 (diff) |
Pass an irc::socket::sockaddrs to SocketEngine::SendTo().
-rw-r--r-- | include/socketengine.h | 5 | ||||
-rw-r--r-- | src/coremods/core_dns.cpp | 2 | ||||
-rw-r--r-- | src/socketengine.cpp | 4 |
3 files changed, 5 insertions, 6 deletions
diff --git a/include/socketengine.h b/include/socketengine.h index 8549da612..01afb8f91 100644 --- a/include/socketengine.h +++ b/include/socketengine.h @@ -484,11 +484,10 @@ public: * @param buf The buffer in which the data that is sent is stored. * @param len The size of the buffer. * @param flags A flag value that controls the sending of the data. - * @param to The remote IP address and port. - * @param tolen The size of the to parameter. + * @param address The remote IP address and port. * @return This method should return exactly the same values as the system call it emulates. */ - static int SendTo(EventHandler* fd, const void *buf, size_t len, int flags, const sockaddr *to, socklen_t tolen); + static int SendTo(EventHandler* fd, const void* buf, size_t len, int flags, const irc::sockets::sockaddrs& address); /** Abstraction for BSD sockets connect(2). * This function should emulate its namesake system call exactly. diff --git a/src/coremods/core_dns.cpp b/src/coremods/core_dns.cpp index 1040bb036..0a835a67a 100644 --- a/src/coremods/core_dns.cpp +++ b/src/coremods/core_dns.cpp @@ -502,7 +502,7 @@ class MyManager : public Manager, public Timer, public EventHandler // Update name in the original request so question checking works for PTR queries req->question.name = p.question.name; - if (SocketEngine::SendTo(this, buffer, len, 0, &this->myserver.sa, this->myserver.sa_size()) != len) + if (SocketEngine::SendTo(this, buffer, len, 0, this->myserver) != len) throw Exception("DNS: Unable to send query"); // Add timer for timeout diff --git a/src/socketengine.cpp b/src/socketengine.cpp index e02261bad..10a0e51a2 100644 --- a/src/socketengine.cpp +++ b/src/socketengine.cpp @@ -244,9 +244,9 @@ int SocketEngine::Recv(EventHandler* fd, void *buf, size_t len, int flags) return nbRecvd; } -int SocketEngine::SendTo(EventHandler* fd, const void *buf, size_t len, int flags, const sockaddr *to, socklen_t tolen) +int SocketEngine::SendTo(EventHandler* fd, const void* buf, size_t len, int flags, const irc::sockets::sockaddrs& address) { - int nbSent = sendto(fd->GetFd(), (const char*)buf, len, flags, to, tolen); + int nbSent = sendto(fd->GetFd(), (const char*)buf, len, flags, &address.sa, address.sa_size()); stats.UpdateWriteCounters(nbSent); return nbSent; } |