From dc714c5879e87aa5809efdd78294f8d19b2f4ae7 Mon Sep 17 00:00:00 2001 From: guy <guy@c028cbd2-c16b-5b4b-a496-9718f37d4682> Date: Wed, 2 Jul 2003 09:55:22 +0000 Subject: [PATCH] Patch level : 2.0 518 Files correlati : authoriz.exe Ricompilazione Demo : [ ] Commento : Accettava un utente in meno del massimo previsto sulla chiave di protezione. git-svn-id: svn://10.65.10.50/trunk@11304 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- server/authoriz.cpp | 2 +- server/dongle.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/server/authoriz.cpp b/server/authoriz.cpp index 1e53feb02..f59d23839 100755 --- a/server/authoriz.cpp +++ b/server/authoriz.cpp @@ -729,7 +729,7 @@ void TAuthorizationServer::ProcessUserLogin(wxString cmd, wxSocketBase& sock) } else { - if (m_Users.GetCount() >= m_Dongle.MaxUsers()) + if (m_Users.Find(sock, strUser) == NULL && m_Users.GetCount() >= m_Dongle.MaxUsers()) num = 0; else { diff --git a/server/dongle.cpp b/server/dongle.cpp index 5913918a1..1cac3e66b 100755 --- a/server/dongle.cpp +++ b/server/dongle.cpp @@ -299,7 +299,7 @@ unsigned long TEutronFooter::checksum(bool set) unsigned long cs = 0; for (unsigned short i = 0; i < len; i++, ptr++) - cs += *ptr | ~(*ptr << 8); + cs += *ptr | ~(short(*ptr << 8)); if (set) _checksum = cs; return cs; } @@ -407,7 +407,7 @@ bool TDongle::already_programmed() const unsigned long cs = 0; for (byte* ptr = (byte*)_eprom; ptr < (byte*)&eh->_checksum; ptr++) - cs += *ptr | ~(*ptr << 8); + cs += *ptr | ~(short(*ptr << 8)); if (eh->_checksum != cs) return false; // Malicious programming! } @@ -885,7 +885,7 @@ bool TDongle::burn_eutron() unsigned long cs = 0; for (unsigned char* ptr = (unsigned char*)_eprom; ptr < (unsigned char*)&eh->_checksum; ptr++) - cs += *ptr | ~(*ptr << 8); + cs += *ptr | ~(short(*ptr << 8)); eh->_checksum = cs; const unsigned short otb = sizeof(TEutronHeader) / 2;