diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/client/cl_main.c | 8 | ||||
-rw-r--r-- | src/client/cl_net_chan.c | 114 | ||||
-rw-r--r-- | src/server/server.h | 3 | ||||
-rw-r--r-- | src/server/sv_client.c | 19 | ||||
-rw-r--r-- | src/server/sv_net_chan.c | 130 |
5 files changed, 4 insertions, 270 deletions
diff --git a/src/client/cl_main.c b/src/client/cl_main.c index 3244bc7c..9be6f1c8 100644 --- a/src/client/cl_main.c +++ b/src/client/cl_main.c @@ -3800,13 +3800,7 @@ void CL_ServerInfoPacket( netadr_t from, msg_t *msg ) { // if this isn't the correct gamename, ignore it gamename = Info_ValueForKey( infoString, "gamename" ); -#ifdef LEGACY_PROTOCOL - // gamename is optional for legacy protocol - if (com_legacyprotocol->integer && !*gamename) - gameMismatch = qfalse; - else -#endif - gameMismatch = !*gamename || strcmp(gamename, com_gamename->string) != 0; + gameMismatch = !*gamename || strcmp(gamename, com_gamename->string) != 0; if (gameMismatch) { diff --git a/src/client/cl_net_chan.c b/src/client/cl_net_chan.c index 0d057d1d..5248a493 100644 --- a/src/client/cl_net_chan.c +++ b/src/client/cl_net_chan.c @@ -25,110 +25,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include "../qcommon/qcommon.h" #include "client.h" -#ifdef LEGACY_PROTOCOL -/* -============== -CL_Netchan_Encode - - // first 12 bytes of the data are always: - long serverId; - long messageAcknowledge; - long reliableAcknowledge; - -============== -*/ -static void CL_Netchan_Encode( msg_t *msg ) { - int serverId, messageAcknowledge, reliableAcknowledge; - int i, index, srdc, sbit, soob; - byte key, *string; - - if ( msg->cursize <= CL_ENCODE_START ) { - return; - } - - srdc = msg->readcount; - sbit = msg->bit; - soob = msg->oob; - - msg->bit = 0; - msg->readcount = 0; - msg->oob = 0; - - serverId = MSG_ReadLong(msg); - messageAcknowledge = MSG_ReadLong(msg); - reliableAcknowledge = MSG_ReadLong(msg); - - msg->oob = soob; - msg->bit = sbit; - msg->readcount = srdc; - - string = (byte *)clc.serverCommands[ reliableAcknowledge & (MAX_RELIABLE_COMMANDS-1) ]; - index = 0; - // - key = clc.challenge ^ serverId ^ messageAcknowledge; - for (i = CL_ENCODE_START; i < msg->cursize; i++) { - // modify the key with the last received now acknowledged server command - if (!string[index]) - index = 0; - if (string[index] > 127) { - key ^= '.' << (i & 1); - } - else { - key ^= string[index] << (i & 1); - } - index++; - // encode the data with this key - *(msg->data + i) = (*(msg->data + i)) ^ key; - } -} - -/* -============== -CL_Netchan_Decode - - // first four bytes of the data are always: - long reliableAcknowledge; - -============== -*/ -static void CL_Netchan_Decode( msg_t *msg ) { - long reliableAcknowledge, i, index; - byte key, *string; - int srdc, sbit, soob; - - srdc = msg->readcount; - sbit = msg->bit; - soob = msg->oob; - - msg->oob = 0; - - reliableAcknowledge = MSG_ReadLong(msg); - - msg->oob = soob; - msg->bit = sbit; - msg->readcount = srdc; - - string = (byte *) clc.reliableCommands[ reliableAcknowledge & (MAX_RELIABLE_COMMANDS-1) ]; - index = 0; - // xor the client challenge with the netchan sequence number (need something that changes every message) - key = clc.challenge ^ LittleLong( *(unsigned *)msg->data ); - for (i = msg->readcount + CL_DECODE_START; i < msg->cursize; i++) { - // modify the key with the last sent and with this message acknowledged client command - if (!string[index]) - index = 0; - if (string[index] > 127) { - key ^= '.' << (i & 1); - } - else { - key ^= string[index] << (i & 1); - } - index++; - // decode the data with this key - *(msg->data + i) = *(msg->data + i) ^ key; - } -} -#endif - /* ================= CL_Netchan_TransmitNextFragment @@ -153,11 +49,6 @@ CL_Netchan_Transmit void CL_Netchan_Transmit( netchan_t *chan, msg_t* msg ) { MSG_WriteByte( msg, clc_EOF ); -#ifdef LEGACY_PROTOCOL - if(chan->compat) - CL_Netchan_Encode(msg); -#endif - Netchan_Transmit(chan, msg->cursize, msg->data); // Transmit all fragments without delay @@ -179,10 +70,5 @@ qboolean CL_Netchan_Process( netchan_t *chan, msg_t *msg ) { if (!ret) return qfalse; -#ifdef LEGACY_PROTOCOL - if(chan->compat) - CL_Netchan_Decode(msg); -#endif - return qtrue; } diff --git a/src/server/server.h b/src/server/server.h index 732a3c6e..c4c9edd0 100644 --- a/src/server/server.h +++ b/src/server/server.h @@ -133,9 +133,6 @@ typedef enum { typedef struct netchan_buffer_s { msg_t msg; byte msgBuffer[MAX_MSGLEN]; -#ifdef LEGACY_PROTOCOL - char clientCommandString[MAX_STRING_CHARS]; // valid command string for SV_Netchan_Encode -#endif struct netchan_buffer_s *next; } netchan_buffer_t; diff --git a/src/server/sv_client.c b/src/server/sv_client.c index 88231d16..247a1807 100644 --- a/src/server/sv_client.c +++ b/src/server/sv_client.c @@ -65,13 +65,7 @@ void SV_GetChallenge(netadr_t from) gameName = Cmd_Argv(2); -#ifdef LEGACY_PROTOCOL - // gamename is optional for legacy protocol - if (com_legacyprotocol->integer && !*gameName) - gameMismatch = qfalse; - else -#endif - gameMismatch = !*gameName || strcmp(gameName, com_gamename->string) != 0; + gameMismatch = !*gameName || strcmp(gameName, com_gamename->string) != 0; // reject client if the gamename string sent by the client doesn't match ours if (gameMismatch) @@ -1192,15 +1186,8 @@ void SV_UserinfoChanged( client_t *cl ) { } #ifdef USE_VOIP -#ifdef LEGACY_PROTOCOL - if(cl->compat) - cl->hasVoip = qfalse; - else -#endif - { - val = Info_ValueForKey(cl->userinfo, "cl_voip"); - cl->hasVoip = atoi(val); - } + val = Info_ValueForKey(cl->userinfo, "cl_voip"); + cl->hasVoip = atoi(val); #endif // TTimo diff --git a/src/server/sv_net_chan.c b/src/server/sv_net_chan.c index daa8e60a..bcb8b9f2 100644 --- a/src/server/sv_net_chan.c +++ b/src/server/sv_net_chan.c @@ -25,115 +25,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include "../qcommon/qcommon.h" #include "server.h" -#ifdef LEGACY_PROTOCOL -/* -============== -SV_Netchan_Encode - - // first four bytes of the data are always: - long reliableAcknowledge; - -============== -*/ -static void SV_Netchan_Encode(client_t *client, msg_t *msg, const char *clientCommandString) -{ - long i, index; - byte key, *string; - int srdc, sbit; - qboolean soob; - - if ( msg->cursize < SV_ENCODE_START ) { - return; - } - - srdc = msg->readcount; - sbit = msg->bit; - soob = msg->oob; - - msg->bit = 0; - msg->readcount = 0; - msg->oob = qfalse; - - /* reliableAcknowledge = */ MSG_ReadLong(msg); - - msg->oob = soob; - msg->bit = sbit; - msg->readcount = srdc; - - string = (byte *) clientCommandString; - index = 0; - // xor the client challenge with the netchan sequence number - key = client->challenge ^ client->netchan.outgoingSequence; - for (i = SV_ENCODE_START; i < msg->cursize; i++) { - // modify the key with the last received and with this message acknowledged client command - if (!string[index]) - index = 0; - if (string[index] > 127) { - key ^= '.' << (i & 1); - } - else { - key ^= string[index] << (i & 1); - } - index++; - // encode the data with this key - *(msg->data + i) = *(msg->data + i) ^ key; - } -} - -/* -============== -SV_Netchan_Decode - - // first 12 bytes of the data are always: - long serverId; - long messageAcknowledge; - long reliableAcknowledge; - -============== -*/ -static void SV_Netchan_Decode( client_t *client, msg_t *msg ) { - int serverId, messageAcknowledge, reliableAcknowledge; - int i, index, srdc, sbit; - qboolean soob; - byte key, *string; - - srdc = msg->readcount; - sbit = msg->bit; - soob = msg->oob; - - msg->oob = qfalse; - - serverId = MSG_ReadLong(msg); - messageAcknowledge = MSG_ReadLong(msg); - reliableAcknowledge = MSG_ReadLong(msg); - - msg->oob = soob; - msg->bit = sbit; - msg->readcount = srdc; - - string = (byte *)client->reliableCommands[ reliableAcknowledge & (MAX_RELIABLE_COMMANDS-1) ]; - index = 0; - // - key = client->challenge ^ serverId ^ messageAcknowledge; - for (i = msg->readcount + SV_DECODE_START; i < msg->cursize; i++) { - // modify the key with the last sent and acknowledged server command - if (!string[index]) - index = 0; - if (string[index] > 127) { - key ^= '.' << (i & 1); - } - else { - key ^= string[index] << (i & 1); - } - index++; - // decode the data with this key - *(msg->data + i) = *(msg->data + i) ^ key; - } -} -#endif - - - /* ================= SV_Netchan_FreeQueue @@ -165,11 +56,6 @@ void SV_Netchan_TransmitNextInQueue(client_t *client) Com_DPrintf("#462 Netchan_TransmitNextFragment: popping a queued message for transmit\n"); netbuf = client->netchan_start_queue; -#ifdef LEGACY_PROTOCOL - if(client->compat) - SV_Netchan_Encode(client, &netbuf->msg, netbuf->clientCommandString); -#endif - Netchan_Transmit(&client->netchan, netbuf->msg.cursize, netbuf->msg.data); // pop from queue @@ -233,13 +119,6 @@ void SV_Netchan_Transmit( client_t *client, msg_t *msg) netbuf = (netchan_buffer_t *) Z_Malloc(sizeof(netchan_buffer_t)); // store the msg, we can't store it encoded, as the encoding depends on stuff we still have to finish sending MSG_Copy(&netbuf->msg, netbuf->msgBuffer, sizeof( netbuf->msgBuffer ), msg); -#ifdef LEGACY_PROTOCOL - if(client->compat) - { - Q_strncpyz(netbuf->clientCommandString, client->lastClientCommandString, - sizeof(netbuf->clientCommandString)); - } -#endif netbuf->next = NULL; // insert it in the queue, the message will be encoded and sent later *client->netchan_end_queue = netbuf; @@ -247,10 +126,6 @@ void SV_Netchan_Transmit( client_t *client, msg_t *msg) } else { -#ifdef LEGACY_PROTOCOL - if(client->compat) - SV_Netchan_Encode(client, msg, client->lastClientCommandString); -#endif Netchan_Transmit( &client->netchan, msg->cursize, msg->data ); } } @@ -266,11 +141,6 @@ qboolean SV_Netchan_Process( client_t *client, msg_t *msg ) { if (!ret) return qfalse; -#ifdef LEGACY_PROTOCOL - if(client->compat) - SV_Netchan_Decode(client, msg); -#endif - return qtrue; } |