From 40226d26b23886e619a3884ffdedd0a8964c86cf Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Sun, 17 Dec 2006 23:04:45 +0000 Subject: [PATCH] revert to last good revision again 8-/ --- src/ngircd/conn.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c index 30b86b1a..4d5afa6c 100644 --- a/src/ngircd/conn.c +++ b/src/ngircd/conn.c @@ -17,7 +17,7 @@ #include "portab.h" #include "io.h" -static char UNUSED id[] = "$Id: conn.c,v 1.199 2006/12/17 22:55:07 fw Exp $"; +static char UNUSED id[] = "$Id: conn.c,v 1.200 2006/12/17 23:04:45 fw Exp $"; #include "imp.h" #include @@ -998,18 +998,23 @@ New_Connection( int Sock ) c = Client_NewLocal( new_sock, inet_ntoa( new_addr.sin_addr ), CLIENT_UNKNOWN, false ); if( ! c ) { Log( LOG_ALERT, "Can't accept connection: can't create client structure!" ); - goto out; + Simple_Message( new_sock, "ERROR :Internal error" ); + close( new_sock ); + return -1; } - /* register callback */ - if (!io_event_create( new_sock, IO_WANTREAD, cb_clientserver)) - goto out; - Init_Conn_Struct( new_sock ); My_Connections[new_sock].sock = new_sock; My_Connections[new_sock].addr = new_addr; My_Connections[new_sock].client = c; + /* register callback */ + if (!io_event_create( new_sock, IO_WANTREAD, cb_clientserver)) { + Simple_Message( new_sock, "ERROR :Internal error" ); + Conn_Close( new_sock, "io_event_create() failed", NULL, false ); + return -1; + } + Log( LOG_INFO, "Accepted connection %d from %s:%d on socket %d.", new_sock, inet_ntoa( new_addr.sin_addr ), ntohs( new_addr.sin_port), Sock ); @@ -1025,11 +1030,7 @@ New_Connection( int Sock ) /* Penalty-Zeit setzen */ Conn_SetPenalty( new_sock, 4 ); return new_sock; - out: - Simple_Message( new_sock, "ERROR :Internal error" ); - close( new_sock ); - return -1; -}/* New_Connection */ +} /* New_Connection */ static CONN_ID -- 2.39.2