X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/b143f5e3bd08c7d257e23dc82661ea26159a685b..457a6dff1a6fbf15951491485491cdd90e7ea53f:/modules/m_grant.c diff --git a/modules/m_grant.c b/modules/m_grant.c index 1c300a8b..0021b7c0 100644 --- a/modules/m_grant.c +++ b/modules/m_grant.c @@ -75,14 +75,6 @@ me_grant(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source return; } - if(!find_shared_conf(source_p->username, source_p->host, - source_p->servptr->name, SHARED_GRANT)) - { - sendto_one(source_p, ":%s NOTICE %s :You don't have an appropriate shared" - "block to grant privilege on this server.", me.name, source_p->name); - return; - } - do_grant(source_p, target_p, parv[2]); } @@ -117,6 +109,12 @@ static int do_grant(struct Client *source_p, struct Client *target_p, const char sendto_one_notice(source_p, ":%s already has privilege set %s.", target_p->name, target_p->user->privset->name); return 0; } + + if (ConfigFileEntry.oper_secure_only && !IsSecureClient(target_p)) + { + sendto_one_notice(source_p, ":Cannot GRANT %s, opers must be using secure connections.", target_p->name); + return 0; + } } if (!dodeoper) @@ -150,10 +148,8 @@ static int do_grant(struct Client *source_p, struct Client *target_p, const char if (dooper) { - struct oper_conf oper; + struct oper_conf oper = {0}; oper.name = ""; - oper.umodes = 0; - oper.snomask = 0; oper.privset = privset; oper_up(target_p, &oper);