about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2002-03-02 00:49:11 +0000
committerAlexander Barton <alex@barton.de>2002-03-02 00:49:11 +0000
commit0370c4843f3a837460b1c2f2db520f9f57b5ce3e (patch)
tree52372bd547a15d0a16ac83dfefe5931e00620f32 /src
parenta3ee1a9a269efc63d8e339e5ab3267fd5927654e (diff)
downloadngircd-0370c4843f3a837460b1c2f2db520f9f57b5ce3e.tar.gz
ngircd-0370c4843f3a837460b1c2f2db520f9f57b5ce3e.zip
- Bei der USER-Registrierung wird NICK nicht mehr sofort geforwarded,
  sondern erst dann, wenn auch ein gueltiges USER empfangen wurde.
Diffstat (limited to 'src')
-rw-r--r--src/ngircd/irc-login.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c
index 6686dc6f..46670536 100644
--- a/src/ngircd/irc-login.c
+++ b/src/ngircd/irc-login.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-login.c,v 1.1 2002/02/27 23:26:21 alex Exp $
+ * $Id: irc-login.c,v 1.2 2002/03/02 00:49:11 alex Exp $
  *
  * irc-login.c: Anmeldung und Abmeldung im IRC
  *
  * $Log: irc-login.c,v $
+ * Revision 1.2  2002/03/02 00:49:11  alex
+ * - Bei der USER-Registrierung wird NICK nicht mehr sofort geforwarded,
+ *   sondern erst dann, wenn auch ein gueltiges USER empfangen wurde.
+ *
  * Revision 1.1  2002/02/27 23:26:21  alex
  * - Modul aus irc.c bzw. irc.h ausgegliedert.
  *
@@ -396,12 +400,6 @@ GLOBAL BOOLEAN IRC_NICK( CLIENT *Client, REQUEST *Req )
 			if( ! Client_CheckNick( target, Req->argv[0] )) return CONNECTED;
 		}
 
-		/* Nick-Aenderung: allen mitteilen! */
-		
-		if( Client_Type( Client ) == CLIENT_USER ) IRC_WriteStrClientPrefix( Client, Client, "NICK :%s", Req->argv[0] );
-		IRC_WriteStrServersPrefix( Client, target, "NICK :%s", Req->argv[0] );
-		IRC_WriteStrRelatedPrefix( target, target, FALSE, "NICK :%s", Req->argv[0] );
-
 		if(( Client_Type( target ) != CLIENT_USER ) && ( Client_Type( target ) != CLIENT_SERVER ))
 		{
 			/* Neuer Client */
@@ -419,6 +417,11 @@ GLOBAL BOOLEAN IRC_NICK( CLIENT *Client, REQUEST *Req )
 			/* Nick-Aenderung */
 			Log( LOG_INFO, "User \"%s\" changed nick: \"%s\" -> \"%s\".", Client_Mask( target ), Client_ID( target ), Req->argv[0] );
 
+			/* alle betroffenen User und Server ueber Nick-Aenderung informieren */
+			if( Client_Type( Client ) == CLIENT_USER ) IRC_WriteStrClientPrefix( Client, Client, "NICK :%s", Req->argv[0] );
+			IRC_WriteStrServersPrefix( Client, target, "NICK :%s", Req->argv[0] );
+			IRC_WriteStrRelatedPrefix( target, target, FALSE, "NICK :%s", Req->argv[0] );
+			
 			/* neuen Client-Nick speichern */
 			Client_SetID( target, Req->argv[0] );
 		}