got strange M2 results
This commit is contained in:
parent
a5c454d6dc
commit
02a88bc273
@ -107,11 +107,6 @@ void RealmSocket::Start(void)
|
|||||||
if(_rhost.empty() || _rport==0 || _instance==NULL)
|
if(_rhost.empty() || _rport==0 || _instance==NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// is here any other socket code neded?
|
|
||||||
// _socket.Init()
|
|
||||||
// _socket.SetHost(_host);
|
|
||||||
// _socket.SetPort(_port);
|
|
||||||
|
|
||||||
bool result=Open(_rhost,_rport);
|
bool result=Open(_rhost,_rport);
|
||||||
//...
|
//...
|
||||||
_valid=true;
|
_valid=true;
|
||||||
@ -199,6 +194,7 @@ void RealmSocket::OnRead(void)
|
|||||||
{
|
{
|
||||||
printf("RealmSocket: Got unknown packet, cmd=%u\n",cmd);
|
printf("RealmSocket: Got unknown packet, cmd=%u\n",cmd);
|
||||||
}
|
}
|
||||||
|
ibuf.Remove(ibuf.GetLength()); // if we have data crap left on the buf, delete it
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -319,6 +315,7 @@ PseuInstance *RealmSocket::GetInstance(void)
|
|||||||
|
|
||||||
void RealmSocket::_HandleLogonChallenge(void)
|
void RealmSocket::_HandleLogonChallenge(void)
|
||||||
{
|
{
|
||||||
|
printf("RealmSocket: Got AUTH_LOGON_CHALLENGE [%u of %u bytes]\n",ibuf.GetLength(),sizeof(sAuthLogonChallenge_S));
|
||||||
sAuthLogonChallenge_S lc;
|
sAuthLogonChallenge_S lc;
|
||||||
ibuf.Read((char*)&lc, sizeof(sAuthLogonChallenge_S));
|
ibuf.Read((char*)&lc, sizeof(sAuthLogonChallenge_S));
|
||||||
|
|
||||||
@ -331,6 +328,7 @@ void RealmSocket::_HandleLogonChallenge(void)
|
|||||||
printf("Account \"%s\" is already logged in!\n",GetInstance()->GetConf()->accname.c_str());
|
printf("Account \"%s\" is already logged in!\n",GetInstance()->GetConf()->accname.c_str());
|
||||||
break;
|
break;
|
||||||
case 0:
|
case 0:
|
||||||
|
{
|
||||||
printf("Login successful, now calculating proof packet...\n");
|
printf("Login successful, now calculating proof packet...\n");
|
||||||
|
|
||||||
// now lets start calculating
|
// now lets start calculating
|
||||||
@ -428,8 +426,8 @@ void RealmSocket::_HandleLogonChallenge(void)
|
|||||||
|
|
||||||
|
|
||||||
////DEBUG3(
|
////DEBUG3(
|
||||||
// printf("--> M1=");printchex((char*)M1hash.GetDigest(),20,true);\
|
printf("--> M1=");printchex((char*)M1hash.GetDigest(),20,true);
|
||||||
// printf("--> M2=");printchex((char*)M2hash.GetDigest(),20,true);\
|
printf("--> M2=");printchex((char*)M2hash.GetDigest(),20,true);
|
||||||
//)
|
//)
|
||||||
|
|
||||||
// Calc CRC & CRC_hash
|
// Calc CRC & CRC_hash
|
||||||
@ -453,19 +451,22 @@ void RealmSocket::_HandleLogonChallenge(void)
|
|||||||
memcpy(this->_m2,M2hash.GetDigest(),M2hash.GetLength()); // save M2 to an extern var to check it later
|
memcpy(this->_m2,M2hash.GetDigest(),M2hash.GetLength()); // save M2 to an extern var to check it later
|
||||||
|
|
||||||
SendBuf((char*)packet.contents(),packet.size());
|
SendBuf((char*)packet.contents(),packet.size());
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
//default:
|
default:
|
||||||
// printf("Unknown realm server response! opcode=0x%x\n",(unsigned char)lc.error);
|
printf("Unknown realm server response! opcode=0x%x\n",(unsigned char)lc.error);
|
||||||
// break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void RealmSocket::_HandleLogonProof(void)
|
void RealmSocket::_HandleLogonProof(void)
|
||||||
{
|
{
|
||||||
|
printf("RealmSocket: Got AUTH_LOGON_PROOF [%u of %u bytes]\n",ibuf.GetLength(),sizeof(sAuthLogonProof_S));
|
||||||
sAuthLogonProof_S lp;
|
sAuthLogonProof_S lp;
|
||||||
ibuf.Read((char*)&lp, sizeof(sAuthLogonProof_S));
|
ibuf.Read((char*)&lp, sizeof(sAuthLogonProof_S));
|
||||||
|
printchex((char*)&lp, sizeof(sAuthLogonProof_S),true);
|
||||||
if(!memcmp(lp.M2,this->_m2,20))
|
if(!memcmp(lp.M2,this->_m2,20))
|
||||||
{
|
{
|
||||||
// auth successful
|
// auth successful
|
||||||
@ -476,8 +477,10 @@ void RealmSocket::_HandleLogonProof(void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// auth failed, M2 differs
|
printf("Auth failed, M2 differs!\n");
|
||||||
//...
|
printf("My M2 :"); printchex((char*)_m2,20,true);
|
||||||
|
printf("Srv M2:"); printchex((char*)lp.M2,20,true);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -33,7 +33,7 @@ public:
|
|||||||
void OnRead(void);
|
void OnRead(void);
|
||||||
//void OnAccept(void);
|
//void OnAccept(void);
|
||||||
void OnConnect(void);
|
void OnConnect(void);
|
||||||
void RealmSocket::OnConnectFailed(void);
|
void OnConnectFailed(void);
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -23,9 +23,19 @@ void printchex(std::string in, bool spaces=true){
|
|||||||
len=in.length();
|
len=in.length();
|
||||||
printf("[");
|
printf("[");
|
||||||
if(spaces)
|
if(spaces)
|
||||||
for(i=0;i<=len-1;i++)printf("%x ",(unsigned char)in[i]);
|
for(i=0;i<len;i++)printf("%x ",(unsigned char)in[i]);
|
||||||
else
|
else
|
||||||
for(i=0;i<=len-1;i++)printf("%x",(unsigned char)in[i]);
|
for(i=0;i<len;i++)printf("%x",(unsigned char)in[i]);
|
||||||
|
printf("]\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
void printchex(char *in, uint32 len, bool spaces=true){
|
||||||
|
unsigned int i;
|
||||||
|
printf("[");
|
||||||
|
if(spaces)
|
||||||
|
for(i=0;i<len;i++)printf("%x ",(unsigned char)in[i]);
|
||||||
|
else
|
||||||
|
for(i=0;i<len;i++)printf("%x",(unsigned char)in[i]);
|
||||||
printf("]\n");
|
printf("]\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -4,23 +4,8 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
|
|
||||||
// old obsoelete functions
|
|
||||||
//char *triml(char*,int);
|
|
||||||
//void nullify(char*,int);
|
|
||||||
void printchex(std::string,bool);
|
void printchex(std::string,bool);
|
||||||
//char *strl(char*,int);
|
void printchex(char *in, uint32 len, bool);
|
||||||
//char *strr(char*,int);
|
|
||||||
//char *trimr(char*,int);
|
|
||||||
//char *genrndstr(int);
|
|
||||||
//char *StrToHex(char*,int);
|
|
||||||
//char *HexToStr(char*,int);
|
|
||||||
//char *NewNullString(int);
|
|
||||||
//char *Reverse(char*,int);
|
|
||||||
//void rawcpy(char*,char*,int);
|
|
||||||
//void rawcat(char*,char*,int,int);
|
|
||||||
//void TrimQuotes(char*);
|
|
||||||
|
|
||||||
// new functions
|
|
||||||
std::string stringToUpper(std::string);
|
std::string stringToUpper(std::string);
|
||||||
std::string stringToLower(std::string);
|
std::string stringToLower(std::string);
|
||||||
std::string toString(uint64);
|
std::string toString(uint64);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user