From dc84c4782beab4f9ed5e63f988fc9e4c73141da0 Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Thu, 31 May 2012 21:21:28 -0400 Subject: [PATCH] Correctly skip non-servers when evaluating C-rules. IsMe(acptr) implies !IsServer(acptr), contrary to the apparent assumption in crule_connected() and crule_via(). --- ChangeLog | 6 ++++++ ircd/crule.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f2f8282..eb65436 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-04-29 Michael Poole + + * ircd/crule.c (crule_connected): Fix logic for ignoring + non-server Client structures. + (crule_via): Likewise. + 2012-04-29 Michael Poole * */.cvsignore: Rename to .gitignore. diff --git a/ircd/crule.c b/ircd/crule.c index 6cfb8ab..1a1fd21 100644 --- a/ircd/crule.c +++ b/ircd/crule.c @@ -228,7 +228,7 @@ static int crule_connected(int numargs, void *crulearg[]) /* taken from m_links */ for (acptr = GlobalClientList; acptr; acptr = cli_next(acptr)) { - if (!IsServer(acptr) && !IsMe(acptr)) + if (!IsServer(acptr) || IsMe(acptr)) continue; if (match((char *)crulearg[0], cli_name(acptr))) continue; @@ -276,7 +276,7 @@ static int crule_via(int numargs, void *crulearg[]) /* adapted from m_links */ for (acptr = GlobalClientList; acptr; acptr = cli_next(acptr)) { - if (!IsServer(acptr) && !IsMe(acptr)) + if (!IsServer(acptr) || IsMe(acptr)) continue; if (match((char *)crulearg[1], cli_name(acptr))) continue; -- 2.20.1