From d4db2b84f250b98ec3422f2be9951f567e6dc97e Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 25 Aug 2011 00:36:04 -0400 Subject: Made the IsValidHost checks configurable --- modules/commands/bs_bot.cpp | 6 +++--- modules/commands/hs_request.cpp | 2 +- modules/commands/hs_set.cpp | 32 ++++++++++---------------------- modules/commands/os_jupe.cpp | 2 +- 4 files changed, 15 insertions(+), 27 deletions(-) (limited to 'modules/commands') diff --git a/modules/commands/bs_bot.cpp b/modules/commands/bs_bot.cpp index 02af6b340..e4f88856f 100644 --- a/modules/commands/bs_bot.cpp +++ b/modules/commands/bs_bot.cpp @@ -69,8 +69,8 @@ class CommandBSBot : public Command return; } - /* Check the host is valid re RFC 2812 */ - if (!isValidHost(host, 3)) + /* Check the host is valid */ + if (!IsValidHost(host)) { source.Reply(_("Bot Hosts may only contain valid host characters.")); return; @@ -186,7 +186,7 @@ class CommandBSBot : public Command return; } - if (!host.empty() && !isValidHost(host, 3)) + if (!host.empty() && !IsValidHost(host)) { source.Reply(_("Bot Hosts may only contain valid host characters.")); return; diff --git a/modules/commands/hs_request.cpp b/modules/commands/hs_request.cpp index 861448240..75bb7994d 100644 --- a/modules/commands/hs_request.cpp +++ b/modules/commands/hs_request.cpp @@ -99,7 +99,7 @@ class CommandHSRequest : public Command return; } - if (!isValidHost(host, 3)) + if (!IsValidHost(host)) { source.Reply(HOST_SET_ERROR); return; diff --git a/modules/commands/hs_set.cpp b/modules/commands/hs_set.cpp index 4711022db..44a501cc1 100644 --- a/modules/commands/hs_set.cpp +++ b/modules/commands/hs_set.cpp @@ -56,22 +56,16 @@ class CommandHSSet : public Command if (!user.empty()) { - if (user.length() > Config->UserLen) + if (!ircd->vident) { - source.Reply(HOST_SET_IDENTTOOLONG, Config->UserLen); + source.Reply(HOST_NO_VIDENT); return; } - else if (!ircd->vident) + else if (!IsValidIdent(user)) { - source.Reply(HOST_NO_VIDENT); + source.Reply(HOST_SET_IDENT_ERROR); return; } - for (Anope::string::iterator s = user.begin(), s_end = user.end(); s != s_end; ++s) - if (!isvalidchar(*s)) - { - source.Reply(HOST_SET_IDENT_ERROR); - return; - } } if (host.length() > Config->HostLen) @@ -80,7 +74,7 @@ class CommandHSSet : public Command return; } - if (!isValidHost(host, 3)) + if (!IsValidHost(host)) { source.Reply(HOST_SET_ERROR); return; @@ -163,22 +157,16 @@ class CommandHSSetAll : public Command if (!user.empty()) { - if (user.length() > Config->UserLen) + if (!ircd->vident) { - source.Reply(HOST_SET_IDENTTOOLONG, Config->UserLen); + source.Reply(HOST_NO_VIDENT); return; } - else if (!ircd->vident) + else if (!IsValidIdent(user)) { - source.Reply(HOST_NO_VIDENT); + source.Reply(HOST_SET_IDENT_ERROR); return; } - for (Anope::string::iterator s = user.begin(), s_end = user.end(); s != s_end; ++s) - if (!isvalidchar(*s)) - { - source.Reply(HOST_SET_IDENT_ERROR); - return; - } } if (host.length() > Config->HostLen) @@ -187,7 +175,7 @@ class CommandHSSetAll : public Command return; } - if (!isValidHost(host, 3)) + if (!IsValidHost(host)) { source.Reply(HOST_SET_ERROR); return; diff --git a/modules/commands/os_jupe.cpp b/modules/commands/os_jupe.cpp index a689b33e2..b11b975d8 100644 --- a/modules/commands/os_jupe.cpp +++ b/modules/commands/os_jupe.cpp @@ -29,7 +29,7 @@ class CommandOSJupe : public Command const Anope::string &reason = params.size() > 1 ? params[1] : ""; Server *server = Server::Find(jserver); - if (!isValidHost(jserver, 3)) + if (!IsValidHost(jserver) || jserver.find('.') == Anope::string::npos) source.Reply(_("Please use a valid server name when juping")); else if (server && (server == Me || server == Me->GetLinks().front())) source.Reply(_("You can not jupe your services server or your uplink server.")); -- cgit