diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/ms_info.c | 2 | ||||
-rw-r--r-- | src/core/ms_sendall.c | 6 | ||||
-rw-r--r-- | src/core/ms_set.c | 2 | ||||
-rw-r--r-- | src/core/ms_staff.c | 6 |
4 files changed, 14 insertions, 2 deletions
diff --git a/src/core/ms_info.c b/src/core/ms_info.c index 68cf9e11d..1f531a0f9 100644 --- a/src/core/ms_info.c +++ b/src/core/ms_info.c @@ -33,7 +33,7 @@ class CommandMSInfo : public Command int is_servadmin = is_services_admin(u); int hardmax = 0; - if (is_servadmin && name && *name != '#') + if (name && *name != '#' && u->nc->HasPriv("memoserv/info")) { na = findnick(name); if (!na) diff --git a/src/core/ms_sendall.c b/src/core/ms_sendall.c index c94a48776..c359eb491 100644 --- a/src/core/ms_sendall.c +++ b/src/core/ms_sendall.c @@ -30,6 +30,12 @@ class CommandMSSendAll : public Command NickCore *nc; const char *text = params[0].c_str(); + if (!u->nc->HasCommand("memoserv/sendall")) + { + // XXX: error? + return MOD_CONT; + } + if (readonly) { notice_lang(s_MemoServ, u, MEMO_SEND_DISABLED); diff --git a/src/core/ms_set.c b/src/core/ms_set.c index 67d792047..64d897187 100644 --- a/src/core/ms_set.c +++ b/src/core/ms_set.c @@ -75,7 +75,7 @@ class CommandMSSet : public Command int32 limit; NickCore *nc = u->nc; ChannelInfo *ci = NULL; - int is_servadmin = is_services_admin(u); + bool is_servadmin = u->nc->HasPriv("memoserv/set-limit"); if (*p1 == '#') { diff --git a/src/core/ms_staff.c b/src/core/ms_staff.c index aa1e4a358..38506981c 100644 --- a/src/core/ms_staff.c +++ b/src/core/ms_staff.c @@ -30,6 +30,12 @@ class CommandMSStaff : public Command int i, z = 0; const char *text = params[0].c_str(); + if (!u->nc->HasCommand("memoserv/staff")) + { + // XXX: error? + return MOD_CONT; + } + if (readonly) { notice_lang(s_MemoServ, u, MEMO_SEND_DISABLED); |