mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-02-17 01:11:45 +00:00
optionally allow recomte commands from a specified host address
This commit is contained in:
parent
8a7bb9c4a0
commit
62cdbb5fc4
1 changed files with 18 additions and 3 deletions
|
@ -133,6 +133,7 @@ cvar_t *rcon_address;
|
|||
|
||||
cvar_t *cl_writecfg;
|
||||
cvar_t *cl_allow_cmd_pkt;
|
||||
cvar_t *cl_cmd_pkt_adr;
|
||||
cvar_t *cl_paranoid;
|
||||
|
||||
cvar_t *cl_timeout;
|
||||
|
@ -228,7 +229,7 @@ char modellist_name[] = "modellist %i %i";
|
|||
char soundlist_name[] = "soundlist %i %i";
|
||||
|
||||
extern cvar_t *hud_scoreboard_uid;
|
||||
|
||||
static netadr_t cl_cmd_packet_address;
|
||||
|
||||
static void
|
||||
CL_Quit_f (void)
|
||||
|
@ -864,8 +865,13 @@ CL_ConnectionlessPacket (void)
|
|||
if (!cl_allow_cmd_pkt->int_val
|
||||
|| !NET_CompareBaseAdr (net_from, net_local_adr)
|
||||
|| !NET_CompareBaseAdr (net_from, net_loopback_adr)) {
|
||||
Con_Printf ("Command packet from remote host. Ignored.\n");
|
||||
return;
|
||||
if (cl_cmd_pkt_adr->string[0]
|
||||
&& NET_CompareBaseAdr (net_from, cl_cmd_packet_address)) {
|
||||
allowremotecmd = false; // force password checking
|
||||
} else {
|
||||
Con_Printf ("Command packet from remote host. Ignored.\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
s = MSG_ReadString (net_message);
|
||||
|
||||
|
@ -1189,6 +1195,12 @@ cl_usleep_f (cvar_t *var)
|
|||
cl_usleep_cache = var->int_val;
|
||||
}
|
||||
|
||||
static void
|
||||
cl_cmd_pkt_adr_f (cvar_t *var)
|
||||
{
|
||||
NET_StringToAdr (var->string, &cl_cmd_packet_address);
|
||||
}
|
||||
|
||||
static void
|
||||
CL_Init_Cvars (void)
|
||||
{
|
||||
|
@ -1199,6 +1211,9 @@ CL_Init_Cvars (void)
|
|||
"connecting and not connecting on some others.");
|
||||
cl_allow_cmd_pkt = Cvar_Get ("cl_allow_cmd_pkt", "1", CVAR_NONE, NULL,
|
||||
"enables packets from the likes of gamespy");
|
||||
cl_cmd_pkt_adr = Cvar_Get ("cl_cmd_pkt_adr", "", CVAR_NONE,
|
||||
cl_cmd_pkt_adr_f,
|
||||
"allowed address for non-local command packet");
|
||||
cl_paranoid = Cvar_Get ("cl_paranoid", "1", CVAR_NONE, NULL,
|
||||
"print source address of connectionless packets"
|
||||
" even when coming from the server being connected"
|
||||
|
|
Loading…
Reference in a new issue