1
0
mirror of https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git synced 2025-07-17 10:52:46 +00:00

Merge pull request #226 from Hoikas/no-encryption

Deprecate WDYS Encryption
This commit is contained in:
Branan Purvine-Riley
2012-11-27 17:28:09 -08:00
14 changed files with 18 additions and 254 deletions

View File

@ -53,29 +53,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include <string.h>
void plStatusEncrypt::Encrypt( uint8_t *line, uint8_t hint )
{
// Current encryption scheme: rotate all characters right by 2 bits,
// then rotate the whole damn line by 3 bits to the right
uint32_t i, len = strlen( (char *)line );
uint8_t newHi, hiBits = ( ( line[ len - 1 ] ) << ( 5 - 2 ) ) & 0xe0;
for( i = 0; i < len; i++ )
{
// So each character will be the src char rotated right 2 bits, then shifted
// right 3 bits, or'ed with the last high bits, and the 3 discarded bits
// become the new high bits
// Too bad C doesn't have a bit-rotate op
line[ i ] = ( line[ i ] << 6 ) | ( line[ i ] >> 2 );
newHi = line[ i ] << 5;
line[ i ] = ( line[ i ] >> 3 ) | hiBits;
line[ i ] ^= hint; // Should wrap around
hiBits = newHi;
}
}
void plStatusEncrypt::Decrypt( uint8_t *line, int32_t len, uint8_t hint )
{
// Da reverse, of course!

View File

@ -56,7 +56,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
namespace plStatusEncrypt
{
void Encrypt( uint8_t *line, uint8_t hint );
void Decrypt( uint8_t *line, int32_t length, uint8_t hint );
};

View File

@ -475,12 +475,6 @@ bool plStatusLog::IReOpen( void )
wchar_t fileNoExt[MAX_PATH];
wchar_t* ext=nil;
IParseFileName(file, MAX_PATH, fileNoExt, &ext);
fEncryptMe = false;
#ifdef PLASMA_EXTERNAL_RELEASE
fEncryptMe = ( wcsicmp( fFilename.c_str(), L"chat.log" ) != 0 ) ? true : false;
if( fEncryptMe )
ext = L".elf";
#endif
wchar_t fileToOpen[MAX_PATH];
hsSnwprintf(fileToOpen, MAX_PATH, L"%s.0%s", fileNoExt, ext);
if (!(fFlags & kDontRotateLogs))
@ -497,11 +491,11 @@ bool plStatusLog::IReOpen( void )
if (fFlags & kAppendToLast)
{
fFileHandle = hsWFopen( fileToOpen, fEncryptMe ? L"ab" : L"at" );
fFileHandle = hsWFopen( fileToOpen, L"at" );
}
else
{
fFileHandle = hsWFopen( fileToOpen, fEncryptMe ? L"wb" : L"wt" );
fFileHandle = hsWFopen( fileToOpen, L"wt" );
// if we need to reopen lets just append
fFlags |= kAppendToLast;
}
@ -843,58 +837,18 @@ bool plStatusLog::IPrintLineToFile( const char *line, uint32_t count )
}
size_t remaining = arrsize(buf) - strlen(buf) - 1;
if (!fEncryptMe) remaining -= 1;
remaining -= 1;
if (count <= remaining) {
strncat(buf, line, count);
} else {
strncat(buf, line, remaining);
}
if(!fEncryptMe )
{
strncat(buf, "\n", 1);
}
strncat(buf, "\n", 1);
}
unsigned length = strlen(buf);
#ifdef PLASMA_EXTERNAL_RELEASE
// Print to a separate line, since we have to encrypt it
if( fEncryptMe )
{
// Encrypt!
plStatusEncrypt::Encrypt( (uint8_t *)buf, hint );
// xor the line length, then write it out, then the line, no terminating character
uint16_t encrySize = length ^ ((uint16_t)fSize);
// try the first write, if it fails reopen and try again
int err;
err = fputc( encrySize & 0xff, fFileHandle );
if (err == EOF && IReOpen())
{
err = fputc( encrySize & 0xff, fFileHandle );
}
if (err != EOF)
{
fSize++; // inc for the last putc
err = fputc( encrySize >> 8, fFileHandle );
if (err != EOF)
fSize++; // inc for the last putc
err = fwrite( buf, 1, length, fFileHandle );
fSize += err;
if (!(fFlags & kNonFlushedLog))
fflush(fFileHandle);
}
else
{
ret = false;
}
}
else
#endif
{
int err;
err = fwrite(buf,1,length,fFileHandle);

View File

@ -90,7 +90,6 @@ class plStatusLog
hsSemaphore* fSema;
FILE* fFileHandle;
uint32_t fSize;
bool fEncryptMe;
bool fForceLog;
plStatusLog *fNext, **fBack;