aboutsummaryrefslogtreecommitdiffstats
path: root/src/users.cpp
diff options
context:
space:
mode:
authorGravatar brain2006-03-02 09:44:15 +0000
committerGravatar brain2006-03-02 09:44:15 +0000
commit86499a92b6ede0fc80ee36e14a2a248a088e5e43 (patch)
tree0a2468f1dfe484226a52f0a7287df4e306968bec /src/users.cpp
parentMake ./inspircd ignore SIGPIPE and start running without the user having to t... (diff)
downloadinspircd++-86499a92b6ede0fc80ee36e14a2a248a088e5e43.tar.gz
inspircd++-86499a92b6ede0fc80ee36e14a2a248a088e5e43.tar.bz2
inspircd++-86499a92b6ede0fc80ee36e14a2a248a088e5e43.zip
Extra checks that should prevent desyncs if you stuff up your type/class tags between servers
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3413 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/users.cpp')
-rw-r--r--src/users.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/users.cpp b/src/users.cpp
index 44f6d0cc6..d6e44c494 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -201,13 +201,11 @@ bool userrec::HasPermission(std::string &command)
char* savept;
char* savept2;
- // users on u-lined servers can completely bypass
+ // users on remote servers can completely bypass
// all permissions based checks.
- //
- // of course, if this is sent to a remote server and this
- // server is not ulined there, then that other server
- // silently drops the command.
- if (is_uline(this->server))
+ // This prevents desyncs when one server has different
+ // type/class tags to another.
+ if (!IS_LOCAL(this))
return true;
// are they even an oper at all?