aboutsummaryrefslogtreecommitdiff
path: root/src/server/authserver/Server/AuthSocket.cpp
diff options
context:
space:
mode:
authorQAston <qaston@gmail.com>2013-08-18 16:06:29 +0200
committerQAston <qaston@gmail.com>2013-08-18 17:44:03 +0200
commit2a3370929d4eeb22fbe9b03806fedcb28886d310 (patch)
tree2430b88bc9b108c5f9fb0826637bed98f8df047c /src/server/authserver/Server/AuthSocket.cpp
parent8160633e12a5596a3a608cdc87ee9d51a78720c8 (diff)
Fix BigNumber::AsByteArray function by returning Auto_Ptr.
Remove mutex from BigNumber class - it didn't do what it was advertised to do - consider using the "locked" array outside of the function in which it was "locked".
Diffstat (limited to 'src/server/authserver/Server/AuthSocket.cpp')
-rw-r--r--src/server/authserver/Server/AuthSocket.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/server/authserver/Server/AuthSocket.cpp b/src/server/authserver/Server/AuthSocket.cpp
index 6bfe918643c..c2131f5dbf7 100644
--- a/src/server/authserver/Server/AuthSocket.cpp
+++ b/src/server/authserver/Server/AuthSocket.cpp
@@ -267,12 +267,12 @@ void AuthSocket::_SetVSFields(const std::string& rI)
uint8 mDigest[SHA_DIGEST_LENGTH];
memset(mDigest, 0, SHA_DIGEST_LENGTH);
if (I.GetNumBytes() <= SHA_DIGEST_LENGTH)
- memcpy(mDigest, I.AsByteArray(), I.GetNumBytes());
+ memcpy(mDigest, I.AsByteArray().get(), I.GetNumBytes());
std::reverse(mDigest, mDigest + SHA_DIGEST_LENGTH);
SHA1Hash sha;
- sha.UpdateData(s.AsByteArray(), s.GetNumBytes());
+ sha.UpdateData(s.AsByteArray().get(), s.GetNumBytes());
sha.UpdateData(mDigest, SHA_DIGEST_LENGTH);
sha.Finalize();
BigNumber x;
@@ -484,13 +484,13 @@ bool AuthSocket::_HandleLogonChallenge()
pkt << uint8(WOW_FAIL_VERSION_INVALID);
// B may be calculated < 32B so we force minimal length to 32B
- pkt.append(B.AsByteArray(32), 32); // 32 bytes
+ pkt.append(B.AsByteArray(32).get(), 32); // 32 bytes
pkt << uint8(1);
- pkt.append(g.AsByteArray(), 1);
+ pkt.append(g.AsByteArray().get(), 1);
pkt << uint8(32);
- pkt.append(N.AsByteArray(32), 32);
- pkt.append(s.AsByteArray(), s.GetNumBytes()); // 32 bytes
- pkt.append(unk3.AsByteArray(16), 16);
+ pkt.append(N.AsByteArray(32).get(), 32);
+ pkt.append(s.AsByteArray().get(), s.GetNumBytes()); // 32 bytes
+ pkt.append(unk3.AsByteArray(16).get(), 16);
uint8 securityFlags = 0;
pkt << uint8(securityFlags); // security flags (0x0...0x04)
@@ -574,7 +574,7 @@ bool AuthSocket::_HandleLogonProof()
uint8 t[32];
uint8 t1[16];
uint8 vK[40];
- memcpy(t, S.AsByteArray(32), 32);
+ memcpy(t, S.AsByteArray(32).get(), 32);
for (int i = 0; i < 16; ++i)
t1[i] = t[i * 2];
@@ -629,7 +629,7 @@ bool AuthSocket::_HandleLogonProof()
M.SetBinary(sha.GetDigest(), 20);
// Check if SRP6 results match (password is correct), else send an error
- if (!memcmp(M.AsByteArray(), lp.M1, 20))
+ if (!memcmp(M.AsByteArray().get(), lp.M1, 20))
{
TC_LOG_DEBUG(LOG_FILTER_AUTHSERVER, "'%s:%d' User '%s' successfully authenticated", socket().getRemoteAddress().c_str(), socket().getRemotePort(), _login.c_str());
@@ -800,7 +800,7 @@ bool AuthSocket::_HandleReconnectChallenge()
pkt << uint8(AUTH_RECONNECT_CHALLENGE);
pkt << uint8(0x00);
_reconnectProof.SetRand(16 * 8);
- pkt.append(_reconnectProof.AsByteArray(16), 16); // 16 bytes random
+ pkt.append(_reconnectProof.AsByteArray(16).get(), 16); // 16 bytes random
pkt << uint64(0x00) << uint64(0x00); // 16 bytes zeros
socket().send((char const*)pkt.contents(), pkt.size());
return true;