initial
This commit is contained in:
78
game/shared/cstrike15/playerdecals_signature.h
Normal file
78
game/shared/cstrike15/playerdecals_signature.h
Normal file
@@ -0,0 +1,78 @@
|
||||
//========= Copyright <20> Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: Player decals signature validation code
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef PLAYERDECALS_SIGNATURE_H
|
||||
#define PLAYERDECALS_SIGNATURE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//
|
||||
// We will be using RSA 1024-bit private signing key
|
||||
// PKCS1 signature length is guaranteed to be 128 bytes
|
||||
//
|
||||
#define PLAYERDECALS_SIGNATURE_VERSION 1
|
||||
#define PLAYERDECALS_SIGNATURE_BYTELEN 128
|
||||
|
||||
#define PLAYERDECALS_NUMCHARGES 50
|
||||
|
||||
#define PLAYERDECALS_UNITS_SIZE 48
|
||||
#define PLAYERDECALS_COOLDOWN_SECONDS 45
|
||||
|
||||
#define PLAYERDECALS_DURATION_SOLID 240
|
||||
#define PLAYERDECALS_DURATION_FADE1 40
|
||||
#define PLAYERDECALS_DURATION_FADE2 120
|
||||
#define PLAYERDECALS_DURATION_APPLY 1.5f
|
||||
|
||||
#define PLAYERDECALS_LIMIT_COUNT 100
|
||||
|
||||
|
||||
|
||||
//
|
||||
// SECURITY INFORMATION: this file is included in DLLs that are
|
||||
// shipping to clients and to community gameservers with the intent
|
||||
// for those processes to verify signatures.
|
||||
// NEVER include/reference private key data in this header!
|
||||
// Private key must be used only on GC.
|
||||
//
|
||||
|
||||
inline bool BClientPlayerDecalSignatureComposeSignBuffer( PlayerDecalDigitalSignature const &data, CUtlBuffer &buf )
|
||||
{
|
||||
if ( data.endpos_size() != 3 ) return false;
|
||||
for ( int k = 0; k < 3; ++ k ) buf.PutFloat( data.endpos( k ) );
|
||||
if ( data.startpos_size() != 3 ) return false;
|
||||
for ( int k = 0; k < 3; ++k ) buf.PutFloat( data.startpos( k ) );
|
||||
if ( data.right_size() != 3 ) return false;
|
||||
for ( int k = 0; k < 3; ++k ) buf.PutFloat( data.right( k ) );
|
||||
if ( data.normal_size() != 3 ) return false;
|
||||
for ( int k = 0; k < 3; ++k ) buf.PutFloat( data.normal( k ) );
|
||||
|
||||
buf.PutInt( data.tx_defidx() );
|
||||
buf.PutInt( data.tint_id() );
|
||||
buf.PutInt( data.entindex() );
|
||||
buf.PutInt( data.hitbox() );
|
||||
|
||||
buf.PutFloat( data.creationtime() );
|
||||
|
||||
buf.PutUnsignedInt( data.accountid() );
|
||||
buf.PutUnsignedInt( data.rtime() );
|
||||
buf.PutUnsignedInt( data.trace_id() );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool BValidateClientPlayerDecalSignature( PlayerDecalDigitalSignature const &data )
|
||||
{
|
||||
CUtlBuffer bufData;
|
||||
bufData.EnsureCapacity( PLAYERDECALS_SIGNATURE_BYTELEN );
|
||||
if ( !BClientPlayerDecalSignatureComposeSignBuffer( data, bufData ) )
|
||||
return false;
|
||||
|
||||
// Removed for partner depot
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif // PLAYERDECALS_SIGNATURE_H
|
||||
Reference in New Issue
Block a user