From a83a728b91e3274ec5d367fa33b6f86b2292670d Mon Sep 17 00:00:00 2001 From: brain Date: Tue, 3 May 2005 20:12:47 +0000 Subject: Fix annoying off-by-one error in connection::RecvPacket (nothing like driving to calm the mind :p) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1298 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/commands.cpp | 13 ++++++------- src/connection.cpp | 2 +- 2 files changed, 7 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/commands.cpp b/src/commands.cpp index d28094bf2..2eff8186d 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -2061,7 +2061,7 @@ void handle_M(char token,char* params,serverrec* source,serverrec* reply, char* pars[index++] = parameter; parameter = strtok(NULL," "); } - log(DEBUG,"*** MODE: %s %s",pars[0],pars[1]); + log(DEBUG,"*** MODE: '%s %s'",pars[0],pars[1]); merge_mode(pars,index); if (FindChan(target)) { @@ -2114,7 +2114,8 @@ void handle_m(char token,char* params,serverrec* source,serverrec* reply, char* } log(DEBUG,"Calling merge_mode2"); - merge_mode2(pars,index,user); + if (index) + merge_mode2(pars,index,user); } } @@ -3197,7 +3198,7 @@ void handle_link_packet(char* udp_msg, char* tcp_host, serverrec *serv) char* serverdesc = finalparam+2; if ((!cookie) || (!servername) || (!serverdesc)) - break; + return; WriteOpers("AuthCookie CONNECT from %s (%s)",servername,tcp_host); @@ -3247,9 +3248,7 @@ void handle_link_packet(char* udp_msg, char* tcp_host, serverrec *serv) char* serverdesc = finalparam+2; if ((!servername) || (!password) || (!myport) || (!revision) || (!serverdesc)) - break; - - password = password; + return; WriteOpers("CONNECT from %s (%s) (their port: %d)",servername,tcp_host,atoi(myport)); @@ -3413,7 +3412,7 @@ void handle_link_packet(char* udp_msg, char* tcp_host, serverrec *serv) char* serverdesc = finalparam+2; if ((!password) || (!servername) || (!serverdesc)) - break; + return; char Link_ServerName[1024]; char Link_IPAddr[1024]; diff --git a/src/connection.cpp b/src/connection.cpp index debd3144f..6302b1e7e 100644 --- a/src/connection.cpp +++ b/src/connection.cpp @@ -509,7 +509,7 @@ bool connection::RecvPacket(std::deque &messages, char* recvhost) int ret = poll(&polls,1,1); if (ret <= 0) continue; - rcvsize = recv(this->connectors[i].GetDescriptor(),data,4096,0); + rcvsize = recv(this->connectors[i].GetDescriptor(),data,4090,0); data[rcvsize] = '\0'; if (rcvsize == -1) { -- cgit v1.2.3