summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorom <om@e03df62e-2008-0410-955e-edbf42e46eb7>2007-01-15 08:11:34 +0000
committerom <om@e03df62e-2008-0410-955e-edbf42e46eb7>2007-01-15 08:11:34 +0000
commit9d9c0553476e515550d9aa26e49b880f42dcc85e (patch)
treeddad603bbed5504b0154c4cf7848d810c9cb0321
parent6b23783b71e98bae6aced7144c6730f028873cb6 (diff)
Prepend nick to user->MakeHostIP().
Maybe we should have a GetFullIPHost() or something to match GetFullHost() and GetFullRealHost? git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6346 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules/m_banredirect.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/modules/m_banredirect.cpp b/src/modules/m_banredirect.cpp
index dac9b9d43..269c22db4 100644
--- a/src/modules/m_banredirect.cpp
+++ b/src/modules/m_banredirect.cpp
@@ -97,7 +97,7 @@ class BanRedirect : public ModeWatcher
}
}
- param.assign(mask[NICK]).append("!").append(mask[IDENT]).append("@").append(mask[HOST]);
+ param.assign(mask[NICK]).append(1, '!').append(mask[IDENT]).append(1, '@').append(mask[HOST]);
Srv->Log(DEBUG, "mask[NICK] = '%s', mask[IDENT] = '%s', mask[HOST] = '%s', mask[CHAN] = '%s'", mask[NICK].c_str(), mask[IDENT].c_str(), mask[HOST].c_str(), mask[CHAN].c_str());
@@ -222,7 +222,12 @@ class ModuleBanRedirect : public Module
{
/* We actually had some ban redirects to check */
- std::string ipmask(user->MakeHostIP());
+ /* This was replaced with user->MakeHostIP() when I had a snprintf(), but MakeHostIP() doesn't seem to add the nick.
+ * Maybe we should have a GetFullIPHost() or something to match GetFullHost() and GetFullRealHost?
+ */
+ std::string ipmask(user->nick);
+ ipmask.append(1, '!').append(user->MakeHostIP());
+ Srv->Log(DEBUG, "Matching against %s, %s and %s", user->GetFullRealHost(), user->GetFullHost(), ipmask.c_str());
for(BanRedirectList::iterator redir = redirects->begin(); redir != redirects->end(); redir++)
{