From: Michael Poole Date: Thu, 7 Jan 2010 02:55:33 +0000 (+0000) Subject: If a server sends us a new, expired G-line, create it deactivated (fixes SF #2840365). X-Git-Url: http://git.pk910.de/?p=ircu2.10.12-pk.git;a=commitdiff_plain;h=e471b5cc12c5c0eb40422df1e755123e534f0934 If a server sends us a new, expired G-line, create it deactivated (fixes SF #2840365). git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/branches/u2_10_12_branch@1936 c9e4aea6-c8fd-4c43-8297-357d70d61c8c --- diff --git a/ChangeLog b/ChangeLog index ff7157f..092c2c6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-01-06 Michael Poole + + * ircd/gline.c (gline_add): If a forced G-line has already + expired, create it in a deactivated state. + 2010-01-06 Michael Poole * ircd/m_burst.c (ms_burst): Gracefully handle the case where a diff --git a/ircd/gline.c b/ircd/gline.c index 5b5c5b1..dfbf77d 100644 --- a/ircd/gline.c +++ b/ircd/gline.c @@ -503,6 +503,9 @@ gline_add(struct Client *cptr, struct Client *sptr, char *userhost, if (!IsServer(sptr) && MyConnect(sptr)) send_reply(sptr, ERR_BADEXPIRE, expire); return 0; + } else if (expire <= CurrentTime) { + /* This expired G-line was forced to be added, so mark it inactive. */ + flags &= ~GLINE_ACTIVE; } if (!lifetime) /* no lifetime set, use expiration time */