about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2002-02-25 13:21:25 +0000
committerAlexander Barton <alex@barton.de>2002-02-25 13:21:25 +0000
commitc90cf7c9ed3984f2cc5e6f86aa2c4138de9d23ca (patch)
tree1723ab1ba5e6d45db69bcf33121782c154648af7
parented1dac585dfbf13576165a6833df4c91de63c198 (diff)
downloadngircd-c90cf7c9ed3984f2cc5e6f86aa2c4138de9d23ca.tar.gz
ngircd-c90cf7c9ed3984f2cc5e6f86aa2c4138de9d23ca.zip
- WHOIS wird nicht mehr automatisch an den "Original-Server" weiterge-
  leitet: war eh nicht RFC-konform und machte Probleme mit Clients.
-rw-r--r--src/ngircd/irc.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c
index 2ecdfaeb..4859623b 100644
--- a/src/ngircd/irc.c
+++ b/src/ngircd/irc.c
@@ -9,11 +9,15 @@
  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
  * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
  *
- * $Id: irc.c,v 1.66 2002/02/23 21:39:48 alex Exp $
+ * $Id: irc.c,v 1.67 2002/02/25 13:21:25 alex Exp $
  *
  * irc.c: IRC-Befehle
  *
  * $Log: irc.c,v $
+ * Revision 1.67  2002/02/25 13:21:25  alex
+ * - WHOIS wird nicht mehr automatisch an den "Original-Server" weiterge-
+ *   leitet: war eh nicht RFC-konform und machte Probleme mit Clients.
+ *
  * Revision 1.66  2002/02/23 21:39:48  alex
  * - IRC-Befehl KILL sowie Kills bei Nick Collsisions implementiert.
  *
@@ -1722,17 +1726,11 @@ GLOBAL BOOLEAN IRC_WHOIS( CLIENT *Client, REQUEST *Req )
 		if( ! target ) return IRC_WriteStrClient( from, ERR_NOSUCHSERVER_MSG, Client_ID( from ), Req->argv[1] );
 		ptr = Req->argv[1];
 	}
-#ifndef STRICT_RFC
-	else if( Client_Conn( c ) == NONE )
-	{
-		/* Client ist nicht von uns. Ziel-Server suchen */
-		target = c;
-		ptr = Req->argv[0];
-	}
-#endif
-	else target = NULL;
+	else target = Client_ThisServer( );
+
+	assert( target != NULL );
 	
-	if( target && ( Client_NextHop( target ) != Client_ThisServer( )) && ( Client_Type( Client_NextHop( target )) == CLIENT_SERVER )) return IRC_WriteStrClientPrefix( target, from, "WHOIS %s :%s", Req->argv[0], ptr );
+	if(( Client_NextHop( target ) != Client_ThisServer( )) && ( Client_Type( Client_NextHop( target )) == CLIENT_SERVER )) return IRC_WriteStrClientPrefix( target, from, "WHOIS %s :%s", Req->argv[0], ptr );
 	
 	/* Nick, User und Name */
 	if( ! IRC_WriteStrClient( from, RPL_WHOISUSER_MSG, Client_ID( from ), Client_ID( c ), Client_User( c ), Client_Hostname( c ), Client_Info( c ))) return DISCONNECTED;