]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
SSL is a fucking mess.
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Mon, 19 Dec 2005 13:07:46 +0000 (13:07 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Mon, 19 Dec 2005 13:07:46 +0000 (13:07 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2565 e03df62e-2008-0410-955e-edbf42e46eb7

src/helperfuncs.cpp
src/inspircd.cpp
src/userprocess.cpp
src/users.cpp

index 037a7a3af9d01aeae99347675ae230d7a7cce3f1..c1a53b908614115108184a90ce6a342e6111fe10 100644 (file)
@@ -130,6 +130,7 @@ void Write(int sock,char *text, ...)
                 log(DEFAULT,"*** BUG *** Write was given an invalid parameter");
                 return;
         }
                 log(DEFAULT,"*** BUG *** Write was given an invalid parameter");
                 return;
         }
+       log(DEBUG,"Write: Normal");
         va_list argsPtr;
        char textbuffer[MAXBUF],tb[MAXBUF];
         va_start (argsPtr, text);
         va_list argsPtr;
        char textbuffer[MAXBUF],tb[MAXBUF];
         va_start (argsPtr, text);
@@ -141,6 +142,7 @@ void Write(int sock,char *text, ...)
         {
                if (Config->GetIOHook(fd_ref_table[sock]->port))
                {
         {
                if (Config->GetIOHook(fd_ref_table[sock]->port))
                {
+                       log(DEBUG,"Write: IO Hooked");
                        Config->GetIOHook(fd_ref_table[sock]->port)->OnRawSocketWrite(sock,tb,bytes);
                }
                else
                        Config->GetIOHook(fd_ref_table[sock]->port)->OnRawSocketWrite(sock,tb,bytes);
                }
                else
@@ -163,6 +165,7 @@ void WriteServ(int sock, char* text, ...)
                 log(DEFAULT,"*** BUG *** WriteServ was given an invalid parameter");
                 return;
         }
                 log(DEFAULT,"*** BUG *** WriteServ was given an invalid parameter");
                 return;
         }
+       log(DEBUG,"WriteServ: normal");
         va_list argsPtr;
         va_start (argsPtr, text);
        char textbuffer[MAXBUF],tb[MAXBUF];
         va_list argsPtr;
         va_start (argsPtr, text);
        char textbuffer[MAXBUF],tb[MAXBUF];
@@ -174,6 +177,7 @@ void WriteServ(int sock, char* text, ...)
         {
                if (Config->GetIOHook(fd_ref_table[sock]->port))
                {
         {
                if (Config->GetIOHook(fd_ref_table[sock]->port))
                {
+                       log(DEBUG,"WriteServ: IO Hooked");
                        Config->GetIOHook(fd_ref_table[sock]->port)->OnRawSocketWrite(sock,tb,bytes);
                }
                else
                        Config->GetIOHook(fd_ref_table[sock]->port)->OnRawSocketWrite(sock,tb,bytes);
                }
                else
@@ -196,6 +200,7 @@ void WriteFrom(int sock, userrec *user,char* text, ...)
                 log(DEFAULT,"*** BUG *** WriteFrom was given an invalid parameter");
                 return;
         }
                 log(DEFAULT,"*** BUG *** WriteFrom was given an invalid parameter");
                 return;
         }
+       log(DEBUG,"WriteFrom: normal");
         va_list argsPtr;
         va_start (argsPtr, text);
        char textbuffer[MAXBUF],tb[MAXBUF];
         va_list argsPtr;
         va_start (argsPtr, text);
        char textbuffer[MAXBUF],tb[MAXBUF];
@@ -207,6 +212,7 @@ void WriteFrom(int sock, userrec *user,char* text, ...)
         {
                if (Config->GetIOHook(fd_ref_table[sock]->port))
                {
         {
                if (Config->GetIOHook(fd_ref_table[sock]->port))
                {
+                       log(DEBUG,"WriteFrom: IO hooked");
                        Config->GetIOHook(fd_ref_table[sock]->port)->OnRawSocketWrite(sock,tb,bytes);
                }
                else
                        Config->GetIOHook(fd_ref_table[sock]->port)->OnRawSocketWrite(sock,tb,bytes);
                }
                else
index c370c7f842d462f0fa6610dcbfc35f4f3e33c3a6..e65816f48bbcf07daad8e3e6bbdef505b467743c 100644 (file)
@@ -527,6 +527,7 @@ int InspIRCd::Run()
                                                 */
                                                if (incomingSockfd >= 0)
                                                {
                                                 */
                                                if (incomingSockfd >= 0)
                                                {
+                                                       NonBlocking(incomingSockfd);
                                                        if (Config->GetIOHook(in_port))
                                                        {
                                                                Config->GetIOHook(in_port)->OnRawSocketAccept(incomingSockfd, target, in_port);
                                                        if (Config->GetIOHook(in_port))
                                                        {
                                                                Config->GetIOHook(in_port)->OnRawSocketAccept(incomingSockfd, target, in_port);
index 31cb6b68ee70a37f48f67cd22827697971939769..6fc62cbdbb4942244a74e4db6feead8a5b44484a 100644 (file)
@@ -83,18 +83,17 @@ void ProcessUser(userrec* cu)
         log(DEBUG,"Processing user with fd %d",cu->fd);
        if (Config->GetIOHook(cu->port))
        {
         log(DEBUG,"Processing user with fd %d",cu->fd);
        if (Config->GetIOHook(cu->port))
        {
-               int MOD_RESULT = 0;
                int result2 = 0;
                int result2 = 0;
-               Config->GetIOHook(cu->port)->OnRawSocketRead(cu->fd,data,65535,result2);
-               if (!MOD_RESULT)
-               {
-                       result = cu->ReadData(data, 65535);
-               }
-               else
-               {
-                       log(DEBUG,"Data result returned by module: %d",MOD_RESULT);
-                       result = result2;
-               }
+               int MOD_RESULT = Config->GetIOHook(cu->port)->OnRawSocketRead(cu->fd,data,65535,result2);
+                log(DEBUG,"Data result returned by module: %d",MOD_RESULT);
+               if (MOD_RESULT < 0)
+               {
+                       result = EAGAIN;
+               }
+               else
+               {
+                       result = result2;
+               }
        }
        else
        {
        }
        else
        {
index 6388b456b381632da367d1c129bb74221a58c436..6706e8fef70f1aa12358113cddc92167d90baefc 100644 (file)
@@ -555,7 +555,6 @@ void AddClient(int socket, char* host, int port, bool iscached, char* ip)
          */
         clientlist[tempnick] = new userrec();
 
          */
         clientlist[tempnick] = new userrec();
 
-        NonBlocking(socket);
         log(DEBUG,"AddClient: %lu %s %d %s",(unsigned long)socket,host,port,ip);
 
         clientlist[tempnick]->fd = socket;
         log(DEBUG,"AddClient: %lu %s %d %s",(unsigned long)socket,host,port,ip);
 
         clientlist[tempnick]->fd = socket;