X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fchanserv.c;h=0ebed1b8d33504c411a1c85bb506e934fe751337;hb=2817677c02e88e4c8f02a7ce611dd0b2f060bb9b;hp=4e41784b0aa289a7506251bd28bb6667740dcf5a;hpb=7078de864edb36df047c3b11d90f2fe47353e8dd;p=srvx.git diff --git a/src/chanserv.c b/src/chanserv.c index 4e41784..0ebed1b 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -2382,7 +2382,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; @@ -2690,7 +2690,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; @@ -4421,10 +4421,10 @@ static CHANSERV_FUNC(cmd_topic) if(!isdigit(topic[pos])) break; } - if(advtopic_index < 0 || advtopic_index > MAXADVTOPICENTRIES) + if(advtopic_index < 0 || advtopic_index >= MAXADVTOPICENTRIES) { //invalid id! - reply("CSMSG_ADVTOPIC_INVALID_ID", advtopic_index); + reply("CSMSG_ADVTOPIC_INVALID_ID", advtopic_index+1); return 0; } if(cData->advtopic[advtopic_index]) @@ -5409,7 +5409,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;