tmsgauth1login2.h
来自「游戏《家园》源码」· C头文件 代码 · 共 87 行
H
87 行
#ifndef _TMsgAuth1Login2_H
#define _TMsgAuth1Login2_H
// TMsgAuth1LoginRequest2.h
// Homeworld specific Auth messages
// Auth1LoginRequest begins login for an existing user and is sent from the Client to
// the AuthServer.
// Auth1LoginReply is sent in response to both Auth1LoginRequest and
#include "STRING"
#include "common/won.h"
#include "auth/Auth1PublicKeyBlock.h"
#include "crypt/BFSymmetricKey.h"
#include "crypt/EGPrivateKey.h"
#include "msg/BadMsgException.h"
#include "TMsgAuth1LoginBase2.h"
// Forwards from WONSocket
namespace WONMsg {
// TMsgAuth1LoginRequest2 - begin login for HomeWorld user
// Key Block ID (2 bytes) Must match key block Id in encrypted block
// Session Block Length(2 bytes)
// Session Key Block (variable) Session key Encrypted with AuthPublicKey
// Data Block (variable) encrypted with Session Key
// Before encryption, Data Block contains:
// KeyBlockID (2 bytes) Must match key block Id in message
// NeedKeyFlg (1 byte )
// CreateAcctFlg (1 byte )
// UserName len (2 bytes)
// UserName (variable)
// CommunityNameLen (2 bytes)
// CommunityName (variable)
// NicknameKeyLen (2 bytes)
// NicknameKey (variable)
// Password len (2 bytes)
// Password (var bytes == Password Len)
// NewPassword len (2 Bytes)
// NewPassword (var bytes == newPassword Len) (May be 0)
// NicknameLen (2 bytes)
// Nickname (variable)
// Login data is encrypted with the and stored in the
// raw buffer from the TMsgAuthRawBufferBase class.
class TMsgAuth1LoginRequest2 : public TMsgAuth1LoginBase2
{
public:
// Default ctor
TMsgAuth1LoginRequest2();
// TMessage ctor - will throw if TMessage type is not of this type
explicit TMsgAuth1LoginRequest2(const TMessage& theMsgR);
// Copy ctor
TMsgAuth1LoginRequest2(const TMsgAuth1LoginRequest2& theMsgR);
// Destructor
~TMsgAuth1LoginRequest2();
// Assignment
TMsgAuth1LoginRequest2& operator=(const TMsgAuth1LoginRequest2& theMsgR);
// Virtual Duplicate from TMessage
TRawMsg* Duplicate() const;
// Pack and Unpack the message
// Unpack will throw a BadMsgException is message is not of this type
void* Pack();
void Unpack();
private:
};
inline TRawMsg*
TMsgAuth1LoginRequest2::Duplicate(void) const
{ return new TMsgAuth1LoginRequest2(*this); }
}; // Namespace WONMsg
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?