From 3fde0c14a2e917698a8a577f93f0115bfedc8857 Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Wed, 2 Jul 2008 00:58:56 +0200 Subject: [PATCH] Do not send kills for unknown prefixes which are nicks. This can happen harmlessly in particular if a SAVE and a nick-prefixed command crossed; then, due to nick changes and nick chasing, it easily causes ghosts that need a kill or split to disappear. Most commands use UID as prefix which does not have this problem and will destroy real ghosts soon enough. --- src/parse.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/parse.c b/src/parse.c index 40dbc54..970ad7f 100644 --- a/src/parse.c +++ b/src/parse.c @@ -533,7 +533,7 @@ remove_unknown(struct Client *client_p, char *lsender, char *lbuffer) { int slen = strlen(lsender); - /* meepfoo is a nickname (KILL) + /* meepfoo is a nickname (ignore) * #XXXXXXXX is a UID (KILL) * #XX is a SID (SQUIT) * meep.foo is a server (SQUIT) @@ -550,7 +550,7 @@ remove_unknown(struct Client *client_p, char *lsender, char *lbuffer) get_id(&me, client_p), lsender, lbuffer, client_p->name); } - else + else if(IsDigit(lsender[0])) sendto_one(client_p, ":%s KILL %s :%s (Unknown Client)", get_id(&me, client_p), lsender, me.name); }