about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--src/ngircd/irc-mode.c4
2 files changed, 6 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index ab898ecd..296d15b5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,9 @@
 
 ngIRCd CVSHEAD
 
+  - Changed the reply of the MODE command to match the syntax of the
+    original ircd exactly: the unnecessary but missing ":" before the last
+    parameter has been added.
   - Fixed TRACE: don't output "Serv" lines for ourself; display more info.
   - Results of the resolver (hostnames and IDENT names) are discarded after
     the client is successfully registered with the server.
@@ -505,4 +508,4 @@ ngIRCd 0.0.1, 31.12.2001
 
 
 -- 
-$Id: ChangeLog,v 1.228 2004/02/28 02:18:16 alex Exp $
+$Id: ChangeLog,v 1.229 2004/02/29 16:28:44 alex Exp $
diff --git a/src/ngircd/irc-mode.c b/src/ngircd/irc-mode.c
index 5586989c..28e5327e 100644
--- a/src/ngircd/irc-mode.c
+++ b/src/ngircd/irc-mode.c
@@ -14,7 +14,7 @@
 
 #include "portab.h"
 
-static char UNUSED id[] = "$Id: irc-mode.c,v 1.32 2003/11/05 23:24:48 alex Exp $";
+static char UNUSED id[] = "$Id: irc-mode.c,v 1.33 2004/02/29 16:28:44 alex Exp $";
 
 #include "imp.h"
 #include <assert.h>
@@ -225,7 +225,7 @@ client_exit:
 		else
 		{
 			/* Send reply to client and inform other servers */
-			ok = IRC_WriteStrClientPrefix( Client, Origin, "MODE %s %s", Client_ID( Target ), the_modes );
+			ok = IRC_WriteStrClientPrefix( Client, Origin, "MODE %s :%s", Client_ID( Target ), the_modes );
 			IRC_WriteStrServersPrefix( Client, Origin, "MODE %s :%s", Client_ID( Target ), the_modes );
 		}
 		Log( LOG_DEBUG, "User \"%s\": Mode change, now \"%s\".", Client_Mask( Target ), Client_Modes( Target ));