]> git.stg.codes - stg.git/commitdiff
Fix some types and add UserCount method to PROTO
authorMaxim Mamontov <faust@gts.dp.ua>
Tue, 10 May 2011 12:53:32 +0000 (15:53 +0300)
committerMaxim Mamontov <faust@gts.dp.ua>
Tue, 10 May 2011 12:53:32 +0000 (15:53 +0300)
projects/sgauthstress/proto.cpp
projects/sgauthstress/proto.h

index 40762b13b3857ed1d09d0a451c5b7d52f2a4bcb1..b89681f6722c5368eeabff198996ef260601800b 100644 (file)
@@ -15,9 +15,9 @@ PROTO::PROTO(const std::string & server,
              uint16_t port,
              uint16_t localPort,
              int to)
              uint16_t port,
              uint16_t localPort,
              int to)
-    : running(false),
-      stopped(true),
-      timeout(to)
+    : timeout(to),
+      running(false),
+      stopped(true)
 {
 uint32_t ip = inet_addr(server.c_str());
 if (ip == INADDR_NONE)
 {
 uint32_t ip = inet_addr(server.c_str());
 if (ip == INADDR_NONE)
@@ -66,6 +66,7 @@ void * PROTO::Runner(void * data)
 {
 PROTO * protoPtr = static_cast<PROTO *>(data);
 protoPtr->Run();
 {
 PROTO * protoPtr = static_cast<PROTO *>(data);
 protoPtr->Run();
+return NULL;
 }
 
 bool PROTO::Start()
 }
 
 bool PROTO::Start()
@@ -202,6 +203,8 @@ it = processors.find(packetName);
 if (it != processors.end())
     return (this->*it->second)(buffer, user);
 
 if (it != processors.end())
     return (this->*it->second)(buffer, user);
 
+printfd(__FILE__, "PROTO::HandlePacket() - invalid packet signature: '%s'\n", packetName.c_str());
+
 return false;
 }
 
 return false;
 }
 
@@ -320,7 +323,7 @@ bool PROTO::ERR_Proc(const void * buffer, USER * user)
 const ERR_8 * packet = static_cast<const ERR_8 *>(buffer);
 const char * ptr = static_cast<const char *>(buffer);
 
 const ERR_8 * packet = static_cast<const ERR_8 *>(buffer);
 const char * ptr = static_cast<const char *>(buffer);
 
-for (int i = 0; i < sizeof(packet) / 8; i++)
+for (size_t i = 0; i < sizeof(ERR_8) / 8; i++)
     Blowfish_Decrypt(user->GetCtx(), (uint32_t *)(ptr + i * 8), (uint32_t *)(ptr + i * 8 + 4));
 
 //uint32_t len = packet->len;
     Blowfish_Decrypt(user->GetCtx(), (uint32_t *)(ptr + i * 8), (uint32_t *)(ptr + i * 8 + 4));
 
 //uint32_t len = packet->len;
index 0a2fb2de7648ba3f3675d2bbb9f59aa7ddb56b2e..05fe472266ef092f2d6f9539d83a516b4b316b09 100644 (file)
@@ -35,6 +35,8 @@ class PROTO {
 
         bool Connect(uint32_t ip);
         bool Disconnect(uint32_t ip);
 
         bool Connect(uint32_t ip);
         bool Disconnect(uint32_t ip);
+
+        size_t UserCount() const { return users.size(); }
     private:
         BLOWFISH_CTX ctx;
         struct sockaddr_in localAddr;
     private:
         BLOWFISH_CTX ctx;
         struct sockaddr_in localAddr;