From 3897fada86b8373f0537e3e4debbbc1c58c19553 Mon Sep 17 00:00:00 2001 From: stskeeps Date: Tue, 17 Apr 2007 17:21:22 +0000 Subject: [PATCH] Index: Changes =================================================================== RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v retrieving revision 1.1.1.1.2.1.2.1.2.2356 diff -u -r1.1.1.1.2.1.2.1.2.2356 Changes --- Changes 16 Apr 2007 17:21:19 -0000 1.1.1.1.2.1.2.1.2.2356 +++ Changes 17 Apr 2007 17:21:10 -0000 @@ -1583,4 +1583,6 @@ - #0002844 reported by RandomNumber: Spamfilter bawks on capitalizing actions - #0002404 reported by White_Magic, patched by w00t, removing /addline (which the bug report wasnt about) -- #0002420 reported by KnuX fixed by .. not sure +- #0002420 reported by KnuX fixed by WolfSage +- #0003147 reported by vonitsanet, fixed by djGrrr regarding making + spamfilters work in case of /setname --- Changes | 4 +++- src/modules/m_setname.c | 17 +++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/Changes b/Changes index f4d26290b..6e85811eb 100644 --- a/Changes +++ b/Changes @@ -1583,4 +1583,6 @@ MOTDs - #0002844 reported by RandomNumber: Spamfilter bawks on capitalizing actions - #0002404 reported by White_Magic, patched by w00t, removing /addline (which the bug report wasnt about) -- #0002420 reported by KnuX fixed by .. not sure +- #0002420 reported by KnuX fixed by WolfSage +- #0003147 reported by vonitsanet, fixed by djGrrr regarding making + spamfilters work in case of /setname diff --git a/src/modules/m_setname.c b/src/modules/m_setname.c index 3dacd15dc..5c3933963 100644 --- a/src/modules/m_setname.c +++ b/src/modules/m_setname.c @@ -94,6 +94,10 @@ DLLFUNC int MOD_UNLOAD(m_setname)(int module_unload) */ DLLFUNC CMD_FUNC(m_setname) { + int xx; + char tmpinfo[REALLEN + 1]; + char spamfilter_user[NICKLEN + USERLEN + HOSTLEN + REALLEN + 64]; + if ((parc < 2) || BadPtr(parv[1])) { sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "SETNAME"); @@ -110,8 +114,17 @@ DLLFUNC CMD_FUNC(m_setname) return 0; } - /* set the new name before we check, but don't send to servers unless it is ok */ - strcpy(sptr->info, parv[1]); + /* set temp info for spamfilter check*/ + strcpy(tmpinfo, sptr->info); + /* set the new name before we check, but don't send to servers unless it is ok */ + strcpy(sptr->info, parv[1]); + spamfilter_build_user_string(spamfilter_user, sptr->name, sptr); + xx = dospamfilter(sptr, spamfilter_user, SPAMF_USER, NULL, 0, NULL); + if (xx < 0) { + if (sptr) + strcpy(sptr->info, tmpinfo); + return xx; + } /* Check for n:lines here too */ if (!IsAnOper(sptr) && Find_ban(NULL, sptr->info, CONF_BAN_REALNAME))