X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fchanserv.c;h=9358d160a305c46ec36fa7d87a9f6124cf2373c9;hb=25d63694265d44db2b1385e8d03c89d0edbed28d;hp=ec4a485d4df29a13ac7a7ffaeb3b47ac476be544;hpb=455b2a8b15ea97be4bffe3a8ac8b5a3ac8ce39c5;p=srvx.git diff --git a/src/chanserv.c b/src/chanserv.c index ec4a485..9358d16 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -2391,7 +2391,7 @@ static CHANSERV_FUNC(cmd_move) REQUIRE_PARAMS(2); - if(IsProtected(channel->channel_info)) + if(IsProtected(channel->channel_info) && !IsOper(user)) { reply("CSMSG_MOVE_NODELETE", channel->name); return 0; @@ -2699,7 +2699,7 @@ static CHANSERV_FUNC(cmd_merge) return 0; } - if(IsProtected(channel->channel_info)) + if(IsProtected(channel->channel_info) && !IsOper(user)) { reply("CSMSG_MERGE_NODELETE"); return 0; @@ -3287,8 +3287,7 @@ static CHANSERV_FUNC(cmd_opme) return 0; } - struct devnull_class *devnull; - if(user->handle_info->devnull && (devnull = devnull_get(user->handle_info->devnull)) && (devnull->modes & DEVNULL_MODE_OPME)) + if(devnull_user_has_priv(user->handle_info, DEVNULL_PRIV_OPME)) { change.args[0].mode = MODE_CHANOP; errmsg = "CSMSG_ALREADY_OPPED"; @@ -5426,7 +5425,7 @@ static CHANSERV_FUNC(cmd_csuspend) REQUIRE_PARAMS(3); - if(IsProtected(channel->channel_info)) + if(IsProtected(channel->channel_info) && !IsOper(user)) { reply("CSMSG_SUSPEND_NODELETE", channel->name); return 0;