about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2005-08-02 23:19:21 +0000
committerAlexander Barton <alex@barton.de>2005-08-02 23:19:21 +0000
commitb15d906dff84b35ebd05df44aa13e67c9c938fd2 (patch)
treeaa2ce63115c7f90f635049c2f2687b88e9a945c3
parent1c14e2e0a227c1c883ae793e46353a439b325fc4 (diff)
downloadngircd-b15d906dff84b35ebd05df44aa13e67c9c938fd2.tar.gz
ngircd-b15d906dff84b35ebd05df44aa13e67c9c938fd2.zip
The KILL command killed much more than desired (including server links!)
when the target user is connected to a remote server.  [from 0.9.x]
-rw-r--r--ChangeLog8
-rw-r--r--src/ngircd/irc.c4
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 5e7b4cfb..0d58e84c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -21,6 +21,12 @@ ngIRCd CVSHEAD
   - Added new IO layer which (optionally) supports epoll() and kqueue() in
     addition to the select() interface.
 
+ngIRCd 0.9.x
+
+  - The KILL command killed much more than desired (including server links!)
+    when the target user is connected to a remote server. Bug introduced in
+    ngIRCd 0.9.0 ...  Reported by <qssl@fastmail.fm>, Thanks!
+
 ngIRCd 0.9.0 (2005-07-24)
 
   ngIRCd 0.9.0-pre1 (2005-07-09)
@@ -623,4 +629,4 @@ ngIRCd 0.0.1, 31.12.2001
 
 
 -- 
-$Id: ChangeLog,v 1.284 2005/07/31 20:13:07 alex Exp $
+$Id: ChangeLog,v 1.285 2005/08/02 23:19:21 alex Exp $
diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c
index b0328d22..98dda7af 100644
--- a/src/ngircd/irc.c
+++ b/src/ngircd/irc.c
@@ -14,7 +14,7 @@
 
 #include "portab.h"
 
-static char UNUSED id[] = "$Id: irc.c,v 1.127 2005/07/31 20:13:08 alex Exp $";
+static char UNUSED id[] = "$Id: irc.c,v 1.128 2005/08/02 23:19:22 alex Exp $";
 
 #include "imp.h"
 #include <assert.h>
@@ -151,7 +151,7 @@ IRC_KILL( CLIENT *Client, REQUEST *Req )
 		}
 
 		/* Kill client NOW! */
-		conn = Client_Conn( Client_NextHop( c ));
+		conn = Client_Conn( c );
 		Client_Destroy( c, NULL, reason, false );
 		if( conn > NONE )
 			Conn_Close( conn, NULL, reason, true );