diff options
author | Adam <Adam@anope.org> | 2012-07-01 23:50:38 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2012-07-01 23:50:38 -0400 |
commit | 28aa981464dc5834a04f52314c798adab260c5a4 (patch) | |
tree | 2ccd2da440b8760f76d5c0a295d208767b5a3adf | |
parent | 2b8a09bf55f9d70d1a4ae36d38661cf572e36eed (diff) |
Actually the core can't handle empty realnames, just ignore them
-rw-r--r-- | modules/protocol/inspircd12.cpp | 8 | ||||
-rw-r--r-- | modules/protocol/inspircd20.cpp | 11 |
2 files changed, 12 insertions, 7 deletions
diff --git a/modules/protocol/inspircd12.cpp b/modules/protocol/inspircd12.cpp index d9253720e..e20e9c87d 100644 --- a/modules/protocol/inspircd12.cpp +++ b/modules/protocol/inspircd12.cpp @@ -125,8 +125,10 @@ bool event_setname(const Anope::string &source, const std::vector<Anope::string> Log(LOG_DEBUG) << "SETNAME for nonexistent user " << source; return true; } + else if (params.empty()) + return true; - u->SetRealname(!params.empty() ? params[0] : ""); + u->SetRealname(params[0]); return true; } @@ -139,8 +141,10 @@ bool event_chgname(const Anope::string &source, const std::vector<Anope::string> Log(LOG_DEBUG) << "FNAME for nonexistent user " << source; return true; } + else if (params.empty()) + return true; - u->SetRealname(!params.empty() ? params[0] : ""); + u->SetRealname(params[0]); return true; } diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp index 744596cbd..b1352959c 100644 --- a/modules/protocol/inspircd20.cpp +++ b/modules/protocol/inspircd20.cpp @@ -138,8 +138,10 @@ bool event_chgname(const Anope::string &source, const std::vector<Anope::string> Log(LOG_DEBUG) << "FNAME for nonexistent user " << source; return true; } + else if (params.empty()) + return true; - u->SetRealname(!params.empty() ? params[0] : ""); + u->SetRealname(params[0]); return true; } @@ -241,15 +243,14 @@ bool event_encap(const Anope::string &source, const std::vector<Anope::string> & u->SetDisplayedHost(params[3]); UplinkSocket::Message(u) << "FHOST " << params[3]; } - else if (params[1] == "CHGNAME" && params.size() > 2) + else if (params[1] == "CHGNAME" && params.size() > 3) { User *u = finduser(params[2]); if (!u || u->server != Me) return true; - const Anope::string &name = params.size() > 3 ? params[3] : ""; - u->SetRealname(name); - UplinkSocket::Message(u) << "FNAME " << name; + u->SetRealname(params[3]); + UplinkSocket::Message(u) << "FNAME " << params[3]; } return true; |