aboutsummaryrefslogtreecommitdiffstats
path: root/src/users.cpp
diff options
context:
space:
mode:
authorGravatar brain2005-12-02 16:05:59 +0000
committerGravatar brain2005-12-02 16:05:59 +0000
commit3d8f1d6834843482d388daafff26b30be5e3cbe8 (patch)
tree947d27647489278c7f227d905db5c93d5ac6fdde /src/users.cpp
parentFixed splitter algorithm to not trim off spaces in a 'final' parameter (diff)
downloadinspircd++-3d8f1d6834843482d388daafff26b30be5e3cbe8.tar.gz
inspircd++-3d8f1d6834843482d388daafff26b30be5e3cbe8.tar.bz2
inspircd++-3d8f1d6834843482d388daafff26b30be5e3cbe8.zip
Allowed ulined servers to by pass all oper permissions checking
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2118 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/users.cpp')
-rw-r--r--src/users.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/users.cpp b/src/users.cpp
index 19d6a37f4..2c36a444c 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -161,6 +161,15 @@ bool userrec::HasPermission(char* command)
char* savept;
char* savept2;
+ // users on u-lined 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))
+ return true;
+
// are they even an oper at all?
if (strchr(this->modes,'o'))
{