mxoemu/Reality/Source/SignedDataStruct.h
rajkosto 3de69bc911 Damn it TW you broke half of the multi-user stuff...had to fix it all back.
Also modified Sockets library not to deconstruct margin client objects on MXO's half-closed connection after session establishment.
2010-08-11 15:23:10 +02:00

47 lines
No EOL
1.9 KiB
C

// ***************************************************************************
//
// Reality - The Matrix Online Server Emulator
// Copyright (C) 2006-2010 Rajko Stojadinovic
// http://mxoemu.info
//
// ---------------------------------------------------------------------------
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
// ---------------------------------------------------------------------------
//
// ***************************************************************************
#ifndef MXOSIM_SIGNEDDATASTRUCT_H
#define MXOSIM_SIGNEDDATASTRUCT_H
#include "Common.h"
#pragma pack(push,1)
typedef struct
{
uint8 unknownByte; //always 01
uint32 userId1; //4 bytes, last byte is 00 on real server, unique per user
char userName[33]; //32 for actual text, 1 for null terminator (if max len)
uint16 unknownShort; //always 256
uint32 padding1; //4 bytes of 0 padding
uint32 expiryTime; //10 minutes ahead of current time
byte padding2[32]; //32 bytes of 0 padding
uint16 publicExponent; //17 for cryptopp, but big endian format here
byte modulus[96]; //768bit public modulus of user RSA key
uint32 timeCreated; //4 bytes, unique per user, users registered later have this number higher
} signedDataStruct;
#pragma pack(pop)
#endif