* output more bignums for debug, added some assertion checks

This commit is contained in:
False.Genesis 2007-03-09 14:26:26 +00:00
parent f80c315307
commit 2583f47e5d

View File

@ -284,7 +284,17 @@ void RealmSocket::_HandleLogonChallenge(void)
salt.SetBinary(lc.salt,32); salt.SetBinary(lc.salt,32);
unk1.SetBinary(lc.unk3,16); unk1.SetBinary(lc.unk3,16);
logdebug("== Server Bignums ==");
logdebug("--> B=%s",B.AsHexStr());
logdebug("--> g=%s",g.AsHexStr());
logdebug("--> N=%s",N.AsHexStr());
logdebug("--> salt=%s",salt.AsHexStr());
logdebug("--> unk=%s",unk1.AsHexStr());
logdebug("== My Bignums ==");
a.SetRand(19*8); a.SetRand(19*8);
ASSERT(a.AsDword() > 0);
logdebug("--> a=%s",a.AsHexStr());
Sha1Hash userhash,xhash,uhash; Sha1Hash userhash,xhash,uhash;
userhash.UpdateData(_authstr); userhash.UpdateData(_authstr);
userhash.Finalize(); userhash.Finalize();
@ -303,6 +313,8 @@ void RealmSocket::_HandleLogonChallenge(void)
logdebug("--> u=%s",u.AsHexStr()); logdebug("--> u=%s",u.AsHexStr());
S=(B - k*g.ModExp(x,N) ).ModExp((a + u * x),N); S=(B - k*g.ModExp(x,N) ).ModExp((a + u * x),N);
logdebug("--> S=%s",S.AsHexStr()); logdebug("--> S=%s",S.AsHexStr());
ASSERT(S.AsDword() > 0);
// calc M1 & M2 // calc M1 & M2
unsigned int i=0; unsigned int i=0;
@ -326,6 +338,7 @@ void RealmSocket::_HandleLogonChallenge(void)
S_hash[i*2+1]=S2hash.GetDigest()[i]; S_hash[i*2+1]=S2hash.GetDigest()[i];
} }
_key.SetBinary((uint8*)S_hash,40); // used later when authing to world _key.SetBinary((uint8*)S_hash,40); // used later when authing to world
logdebug("--> SessionKey=%s",_key.AsHexStr());
char Ng_hash[20]; char Ng_hash[20];
Sha1Hash userhash2,Nhash,ghash; Sha1Hash userhash2,Nhash,ghash;