From: Michael Poole Date: Fri, 1 Jun 2012 01:21:28 +0000 (-0400) Subject: Correctly skip non-servers when evaluating C-rules. X-Git-Url: http://git.pk910.de/?p=ircu2.10.12-pk.git;a=commitdiff_plain;h=dc84c4782beab4f9ed5e63f988fc9e4c73141da0;hp=9a5a983eb43fc918ad5835622afa382817b3ecc5 Correctly skip non-servers when evaluating C-rules. IsMe(acptr) implies !IsServer(acptr), contrary to the apparent assumption in crule_connected() and crule_via(). --- 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;