mirror of
https://github.com/SWG-Source/src.git
synced 2026-08-03 03:16:01 -04:00
hopefully fix the more serious ones
This commit is contained in:
@@ -229,7 +229,7 @@ bool ConnectionServer::decryptToken(const KeyShare::Token & token, char* session
|
||||
unsigned char * keyBuffer = new unsigned char[len + 1];
|
||||
unsigned char * keyBufferPointer = keyBuffer;
|
||||
NOT_NULL(keyBuffer);
|
||||
memset(keyBuffer, 0, sizeof(keyBuffer));
|
||||
memset(keyBuffer, 0, sizeof(*keyBuffer));
|
||||
|
||||
|
||||
bool retval = cs.loginServerKeys->decipherToken(token, keyBuffer, len);
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
#include "UdpLogicalPacket.h"
|
||||
|
||||
|
||||
#define LEFT_SHIFT(a, b) ((b) >= CHAR_BIT * sizeof(a)? 0 : (a) << (b))
|
||||
|
||||
namespace UdpLibrary
|
||||
{
|
||||
|
||||
@@ -87,10 +89,10 @@ int UdpMisc::Crc32(const void *buffer, int bufferLen, int encryptValue)
|
||||
0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D};
|
||||
|
||||
int crc = 0xffffffff;
|
||||
crc = (crc >> 8 & 0x00FFFFFFL) ^ crc32_table[(crc ^ (encryptValue & 0xff)) & 0x000000FFL];
|
||||
crc = (crc >> 8 & 0x00FFFFFFL) ^ crc32_table[(crc ^ ((encryptValue >> 8) & 0xff)) & 0x000000FFL];
|
||||
crc = (crc >> 8 & 0x00FFFFFFL) ^ crc32_table[(crc ^ ((encryptValue >> 16) & 0xff)) & 0x000000FFL];
|
||||
crc = (crc >> 8 & 0x00FFFFFFL) ^ crc32_table[(crc ^ ((encryptValue >> 24) & 0xff)) & 0x000000FFL];
|
||||
crc = ((LEFT_SHIFT(crc, 8) & 0x00FFFFFFL)) ^ crc32_table[(crc ^ (encryptValue & 0xff)) & 0x000000FFL];
|
||||
crc = ((LEFT_SHIFT(crc, 8) & 0x00FFFFFFL)) ^ crc32_table[(crc ^ ((encryptValue >> 8) & 0xff)) & 0x000000FFL];
|
||||
crc = ((LEFT_SHIFT(crc, 8) & 0x00FFFFFFL)) ^ crc32_table[(crc ^ ((encryptValue >> 16) & 0xff)) & 0x000000FFL];
|
||||
crc = ((LEFT_SHIFT(crc, 8) & 0x00FFFFFFL)) ^ crc32_table[(crc ^ ((encryptValue >> 24) & 0xff)) & 0x000000FFL];
|
||||
|
||||
const udp_uchar *bufPtr = (const udp_uchar *)buffer;
|
||||
const udp_uchar *endPtr = (const udp_uchar *)buffer + bufferLen;
|
||||
|
||||
+7
-4
@@ -6,6 +6,9 @@
|
||||
|
||||
#include "UdpLibrary.hpp"
|
||||
|
||||
#define LEFT_SHIFT(a, b) ((b) >= CHAR_BIT * sizeof(a)? 0 : (a) << (b))
|
||||
|
||||
|
||||
#if defined(WIN32)
|
||||
#pragma warning(disable : 4710)
|
||||
#if defined(UDPLIBRARY_WINSOCK2)
|
||||
@@ -4178,10 +4181,10 @@ int UdpMisc::Crc32(const void *buffer, int bufferLen, int encryptValue)
|
||||
0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D};
|
||||
|
||||
int crc = 0xffffffff;
|
||||
crc = (crc >> 8 & 0x00FFFFFFL) ^ crc32_table[(crc ^ (encryptValue & 0xff)) & 0x000000FFL];
|
||||
crc = (crc >> 8 & 0x00FFFFFFL) ^ crc32_table[(crc ^ ((encryptValue >> 8) & 0xff)) & 0x000000FFL];
|
||||
crc = (crc >> 8 & 0x00FFFFFFL) ^ crc32_table[(crc ^ ((encryptValue >> 16) & 0xff)) & 0x000000FFL];
|
||||
crc = (crc >> 8 & 0x00FFFFFFL) ^ crc32_table[(crc ^ ((encryptValue >> 24) & 0xff)) & 0x000000FFL];
|
||||
crc = ((LEFT_SHIFT(crc, 8) & 0x00FFFFFFL)) ^ crc32_table[(crc ^ (encryptValue & 0xff)) & 0x000000FFL];
|
||||
crc = ((LEFT_SHIFT(crc, 8) & 0x00FFFFFFL)) ^ crc32_table[(crc ^ ((encryptValue >> 8) & 0xff)) & 0x000000FFL];
|
||||
crc = ((LEFT_SHIFT(crc, 8) & 0x00FFFFFFL)) ^ crc32_table[(crc ^ ((encryptValue >> 16) & 0xff)) & 0x000000FFL];
|
||||
crc = ((LEFT_SHIFT(crc, 8) & 0x00FFFFFFL)) ^ crc32_table[(crc ^ ((encryptValue >> 24) & 0xff)) & 0x000000FFL];
|
||||
|
||||
const uchar *bufPtr = (const uchar *)buffer;
|
||||
const uchar *endPtr = (const uchar *)buffer + bufferLen;
|
||||
|
||||
Reference in New Issue
Block a user