diff options
-rw-r--r-- | include/users.h | 10 | ||||
-rw-r--r-- | src/commands/cmd_motd.cpp | 5 | ||||
-rw-r--r-- | src/commands/cmd_rules.cpp | 5 | ||||
-rw-r--r-- | src/users.cpp | 15 |
4 files changed, 10 insertions, 25 deletions
diff --git a/include/users.h b/include/users.h index 73f1334d2..aaf9b5cda 100644 --- a/include/users.h +++ b/include/users.h @@ -635,11 +635,6 @@ class CoreExport User : public Extensible */ void PurgeEmptyChannels(); - /** Get the connect class which this user belongs to. NULL for remote users. - * @return A pointer to this user's connect class. - */ - virtual ConnectClass* GetClass(); - /** Default destructor */ virtual ~User(); @@ -702,7 +697,10 @@ class CoreExport LocalUser : public User, public InviteBase */ reference<ConnectClass> MyClass; - ConnectClass* GetClass(); + /** Get the connect class which this user belongs to. + * @return A pointer to this user's connect class. + */ + ConnectClass* GetClass() const { return MyClass; } /** Call this method to find the matching \<connect> for a user, and to check them against it. */ diff --git a/src/commands/cmd_motd.cpp b/src/commands/cmd_motd.cpp index 8e227723e..b28e57b2f 100644 --- a/src/commands/cmd_motd.cpp +++ b/src/commands/cmd_motd.cpp @@ -54,8 +54,9 @@ CmdResult CommandMotd::Handle (const std::vector<std::string>& parameters, User return CMD_SUCCESS; ConfigTag* tag = NULL; - if (IS_LOCAL(user)) - tag = user->GetClass()->config; + LocalUser* localuser = IS_LOCAL(user); + if (localuser) + tag = localuser->GetClass()->config; std::string motd_name = tag->getString("motd", "motd"); ConfigFileCache::iterator motd = ServerInstance->Config->Files.find(motd_name); if (motd == ServerInstance->Config->Files.end()) diff --git a/src/commands/cmd_rules.cpp b/src/commands/cmd_rules.cpp index 5d41aa4b8..76ee0061b 100644 --- a/src/commands/cmd_rules.cpp +++ b/src/commands/cmd_rules.cpp @@ -52,8 +52,9 @@ CmdResult CommandRules::Handle (const std::vector<std::string>& parameters, User return CMD_SUCCESS; ConfigTag* tag = NULL; - if (IS_LOCAL(user)) - tag = user->GetClass()->config; + LocalUser* localuser = IS_LOCAL(user); + if (localuser) + tag = localuser->GetClass()->config; std::string rules_name = tag->getString("rules", "rules"); ConfigFileCache::iterator rules = ServerInstance->Config->Files.find(rules_name); if (rules == ServerInstance->Config->Files.end()) diff --git a/src/users.cpp b/src/users.cpp index 3bc196321..b49587b38 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -1278,21 +1278,6 @@ void LocalUser::SetClass(const std::string &explicit_name) } } -/* looks up a users password for their connection class (<ALLOW>/<DENY> tags) - * NOTE: If the <ALLOW> or <DENY> tag specifies an ip, and this user resolves, - * then their ip will be taken as 'priority' anyway, so for example, - * <connect allow="127.0.0.1"> will match joe!bloggs@localhost - */ -ConnectClass* LocalUser::GetClass() -{ - return MyClass; -} - -ConnectClass* User::GetClass() -{ - return NULL; -} - void User::PurgeEmptyChannels() { // firstly decrement the count on each channel |