about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2002-01-07 15:29:11 +0000
committerAlexander Barton <alex@barton.de>2002-01-07 15:29:11 +0000
commit9e18ec30ff1e607a209625012d2a1e00c96d81ca (patch)
treedfdb54eb44dbd2d84ed96f63479581d037657fbe /src
parenta56776892b01b38030a01417d93d9d1b0022befa (diff)
downloadngircd-9e18ec30ff1e607a209625012d2a1e00c96d81ca.tar.gz
ngircd-9e18ec30ff1e607a209625012d2a1e00c96d81ca.zip
- Status-Codes an den Server selber werden ignoriert, besseres Logging.
Diffstat (limited to 'src')
-rw-r--r--src/ngircd/parse.c29
1 files changed, 25 insertions, 4 deletions
diff --git a/src/ngircd/parse.c b/src/ngircd/parse.c
index 62f5f628..ad04717c 100644
--- a/src/ngircd/parse.c
+++ b/src/ngircd/parse.c
@@ -9,11 +9,14 @@
  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
  * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
  *
- * $Id: parse.c,v 1.17 2002/01/06 17:41:44 alex Exp $
+ * $Id: parse.c,v 1.18 2002/01/07 15:29:11 alex Exp $
  *
  * parse.c: Parsen der Client-Anfragen
  *
  * $Log: parse.c,v $
+ * Revision 1.18  2002/01/07 15:29:11  alex
+ * - Status-Codes an den Server selber werden ignoriert, besseres Logging.
+ *
  * Revision 1.17  2002/01/06 17:41:44  alex
  * - die Fehlermeldung "unbekannter Befehl" hatte ein falsches Format.
  *
@@ -269,12 +272,30 @@ LOCAL BOOLEAN Handle_Request( CONN_ID Idx, REQUEST *Req )
 		/* Zielserver ermitteln */
 		if(( Client_Type( client ) == CLIENT_SERVER ) && ( Req->argc > 0 )) target = Client_GetFromID( Req->argv[0] );
 		else target = NULL;
-		if( ! target ) return TRUE;
+		if( ! target )
+		{
+			if( target ) Log( LOG_WARNING, "Unknown target for status code: \"%s\"", Req->argv[0] );
+			else Log( LOG_WARNING, "Unknown target for status code!" );
+			return TRUE;
+		}
+		if( target == Client_ThisServer( ))
+		{
+			Log( LOG_DEBUG, "Ignored status code %s from \"%s\".", Req->command, Client_ID( client ));
+			return TRUE;
+		}
 
 		/* Quell-Client ermitteln */
-		if( ! Req->prefix[0] ) return TRUE;
+		if( ! Req->prefix[0] )
+		{
+			Log( LOG_WARNING, "Got status code without prefix!?" );
+			return TRUE;
+		}
 		else prefix = Client_GetFromID( Req->prefix );
-		if( ! prefix ) return TRUE;
+		if( ! prefix )
+		{
+			Log( LOG_WARNING, "Got status code from unknown source: \"%s\"", Req->prefix );
+			return TRUE;
+		}
 
 		/* Statuscode weiterleiten */
 		strcpy( str, Req->command );