]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/inspsocket.cpp
Call the OnUserInit hook from earlier in UserManager::AddUser.
[user/henk/code/inspircd.git] / src / inspsocket.cpp
index 9bfc6a73e33104bf0ff64d1df9c4b80000aa98e4..ebbff448ed15bfd791aee08ccb49c3d13b1db6b9 100644 (file)
@@ -48,7 +48,7 @@ BufferedSocket::BufferedSocket(int newfd)
                SocketEngine::AddFd(this, FD_WANT_FAST_READ | FD_WANT_EDGE_WRITE);
 }
 
-void BufferedSocket::DoConnect(const std::string &ipaddr, int aport, unsigned long maxtime, const std::string &connectbindip)
+void BufferedSocket::DoConnect(const std::string& ipaddr, int aport, unsigned int maxtime, const std::string& connectbindip)
 {
        BufferedSocketError err = BeginConnect(ipaddr, aport, maxtime, connectbindip);
        if (err != I_ERR_NONE)
@@ -59,7 +59,7 @@ void BufferedSocket::DoConnect(const std::string &ipaddr, int aport, unsigned lo
        }
 }
 
-BufferedSocketError BufferedSocket::BeginConnect(const std::string &ipaddr, int aport, unsigned long maxtime, const std::string &connectbindip)
+BufferedSocketError BufferedSocket::BeginConnect(const std::string& ipaddr, int aport, unsigned int maxtime, const std::string& connectbindip)
 {
        irc::sockets::sockaddrs addr, bind;
        if (!irc::sockets::aptosa(ipaddr, aport, addr))
@@ -80,15 +80,15 @@ BufferedSocketError BufferedSocket::BeginConnect(const std::string &ipaddr, int
        return BeginConnect(addr, bind, maxtime);
 }
 
-BufferedSocketError BufferedSocket::BeginConnect(const irc::sockets::sockaddrs& dest, const irc::sockets::sockaddrs& bind, unsigned long timeout)
+BufferedSocketError BufferedSocket::BeginConnect(const irc::sockets::sockaddrs& dest, const irc::sockets::sockaddrs& bind, unsigned int timeout)
 {
        if (fd < 0)
-               fd = socket(dest.sa.sa_family, SOCK_STREAM, 0);
+               fd = socket(dest.family(), SOCK_STREAM, 0);
 
        if (fd < 0)
                return I_ERR_SOCKET;
 
-       if (bind.sa.sa_family != 0)
+       if (bind.family() != 0)
        {
                if (SocketEngine::Bind(fd, bind) < 0)
                        return I_ERR_BIND;
@@ -96,7 +96,7 @@ BufferedSocketError BufferedSocket::BeginConnect(const irc::sockets::sockaddrs&
 
        SocketEngine::NonBlocking(fd);
 
-       if (SocketEngine::Connect(this, &dest.sa, dest.sa_size()) == -1)
+       if (SocketEngine::Connect(this, dest) == -1)
        {
                if (errno != EINPROGRESS)
                        return I_ERR_CONNECT;
@@ -293,7 +293,7 @@ void StreamSocket::FlushSendQ(SendQueue& sq)
                                        const SendQueue::Element& elem = *i;
                                        iovecs[j].iov_base = const_cast<char*>(elem.data());
                                        iovecs[j].iov_len = elem.length();
-                                       rv_max += elem.length();
+                                       rv_max += iovecs[j].iov_len;
                                }
                                rv = SocketEngine::WriteV(this, iovecs, bufcount);
                        }
@@ -358,6 +358,11 @@ void StreamSocket::FlushSendQ(SendQueue& sq)
                }
 }
 
+bool StreamSocket::OnSetEndPoint(const irc::sockets::sockaddrs& local, const irc::sockets::sockaddrs& remote)
+{
+       return false;
+}
+
 void StreamSocket::WriteData(const std::string &data)
 {
        if (fd < 0)