CVSROOT    : /cvsroot/undernet-ircu
Module     : ircu2.10
Branch tags: u2_10_11_06
Commit time: 2003-12-02 09:00:47 UTC

Modified files:
  Tag: u2_10_11_06
     ChangeLog ircd/gline.c

Log message:

Author: Isomer <[EMAIL PROTECTED]>
Log message:

Fix find_gline

---------------------- diff included ----------------------
Index: ircu2.10/ChangeLog
diff -u ircu2.10/ChangeLog:1.290.2.129.2.28 ircu2.10/ChangeLog:1.290.2.129.2.29
--- ircu2.10/ChangeLog:1.290.2.129.2.28 Mon Dec  1 02:44:53 2003
+++ ircu2.10/ChangeLog  Tue Dec  2 01:00:28 2003
@@ -1,3 +1,7 @@
+2003-12-02  Perry Lorier <[EMAIL PROTECTED]>
+       * ircd/gline.c: Patch gline_find not to core on the *second* gline
+       added.
+
 2003-12-01  Perry Lorier <[EMAIL PROTECTED]>
        * include/patchlevel.h: Bump patchlevel to pre3
 
Index: ircu2.10/ircd/gline.c
diff -u ircu2.10/ircd/gline.c:1.38.2.8.2.11 ircu2.10/ircd/gline.c:1.38.2.8.2.12
--- ircu2.10/ircd/gline.c:1.38.2.8.2.11 Mon Dec  1 02:28:37 2003
+++ ircu2.10/ircd/gline.c       Tue Dec  2 01:00:31 2003
@@ -17,7 +17,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: gline.c,v 1.38.2.8.2.11 2003/12/01 10:28:37 isomer Exp $
+ * $Id: gline.c,v 1.38.2.8.2.12 2003/12/02 09:00:31 isomer Exp $
  */
 #include "config.h"
 
@@ -618,12 +618,14 @@
             (flags & GLINE_LASTMOD && !gline->gl_lastmod))
       continue;
     else if (flags & GLINE_EXACT) {
-      if (!gline->gl_host && ircd_strcmp(gline->gl_host, host) == 0 &&
+      if (((gline->gl_host && host && ircd_strcmp(gline->gl_host,host) == 0)
+        ||(!gline->gl_host && !host)) &&
          ((!user && ircd_strcmp(gline->gl_user, "*") == 0) ||
           ircd_strcmp(gline->gl_user, user) == 0))
        break;
     } else {
-      if (!gline->gl_host && match(gline->gl_host, host) == 0 &&
+      if (((gline->gl_host && host && ircd_strcmp(gline->gl_host,host) == 0)
+        ||(!gline->gl_host && !host)) &&
          ((!user && ircd_strcmp(gline->gl_user, "*") == 0) ||
           match(gline->gl_user, user) == 0))
       break;
----------------------- End of diff -----------------------

Reply via email to