]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/socket.cpp
Fixed broken syncing for glines and elines using idents - thanks to dotslasher for...
[user/henk/code/inspircd.git] / src / socket.cpp
index eaa8e0d8cb0e164735972728dbab507548f7408d..6d7fc45d6108be4deb84f0b3683d1e6da2df86d4 100644 (file)
@@ -51,7 +51,7 @@ ListenSocket::ListenSocket(InspIRCd* Instance, int sockfd, insp_sockaddr client,
        }
 }
 
-void ListenSocket::HandleEvent(EventType et)
+void ListenSocket::HandleEvent(EventType et, int errornum)
 {
        insp_sockaddr sock_us;  // our port number
        socklen_t uslen;        // length of our port number
@@ -215,6 +215,7 @@ bool irc::sockets::MatchCIDR(const char* address, const char* cidr_mask, bool ma
        else
        {
                /* No 'number of bits' field! */
+               free(mask);
                return false;
        }
 
@@ -388,13 +389,15 @@ bool InspIRCd::HasPort(int port, char* addr)
 }
 
 /* XXX: Probably belongs in class InspIRCd */
-int InspIRCd::BindPorts(bool bail)
+int InspIRCd::BindPorts(bool bail, int &ports_found)
 {
        char configToken[MAXBUF], Addr[MAXBUF], Type[MAXBUF];
        insp_sockaddr client, server;
        int clientportcount = 0;
        int BoundPortCount = 0;
 
+       ports_found = 0;
+
        if (!bail)
        {
                int InitialPortCount = stats->BoundPortCount;
@@ -408,6 +411,7 @@ int InspIRCd::BindPorts(bool bail)
 
                        if (((!*Type) || (!strcmp(Type,"clients"))) && (!HasPort(atoi(configToken),Addr)))
                        {
+                               ports_found++;
                                // modules handle server bind types now
                                Config->ports[clientportcount+InitialPortCount] = atoi(configToken);
                                if (*Addr == '*')
@@ -467,6 +471,7 @@ int InspIRCd::BindPorts(bool bail)
 
                if ((!*Type) || (!strcmp(Type,"clients")))
                {
+                       ports_found++;
                        // modules handle server bind types now
                        Config->ports[clientportcount] = atoi(configToken);