Inside
void Cmd_CallVote_f( gentity_t *ent ) in
g_cmds.c
Look for this line:
Code:
if( strchr( arg1, ';' ) || strchr( arg2, ';' ) ) {
And replace it with:
Code:
if(strchr(arg1, ';') || strchr(arg2, ';') || strchr(arg1, '\r') || strchr(arg2, '\r')) {
As you may know already, packets were being modified to make the server execute multiple commands via the use of the \r line feed character.
Exploiters used modified clients to do this most of the time by replacing ; in their callvote string with \r.
So /callvote timelimit "60;set rconPassword lol" was in fact being changed to /callvote timelimit "60\rset rconPassword lol"
The code I gave you will block the use of the \r line feed character, therefore patching the callvote exploit
If you wanted to be really harsh you could kick the player from the server in that if statement if you wanted.
