X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/73f478b15a61946b2c78843b968ba69b95551c09..d2fc992c13b7684957b4bfa4b409389e9383d333:/projects/stargazer/plugins/authorization/inetaccess/inetaccess.h diff --git a/projects/stargazer/plugins/authorization/inetaccess/inetaccess.h b/projects/stargazer/plugins/authorization/inetaccess/inetaccess.h index 08fd6512..fb851f52 100644 --- a/projects/stargazer/plugins/authorization/inetaccess/inetaccess.h +++ b/projects/stargazer/plugins/authorization/inetaccess/inetaccess.h @@ -27,17 +27,6 @@ #ifndef INETACCESS_H #define INETACCESS_H -#include -#include - -#include -#include -#include -#include -#include -#include -#include - #include "stg/os_int.h" #include "stg/auth.h" #include "stg/store.h" @@ -51,7 +40,16 @@ #include "stg/utime.h" #include "stg/logger.h" -extern "C" PLUGIN * GetPlugin(); +#include +#include +#include +#include +#include +#include +#include + +#include +#include #define IA_PROTO_VER (6) @@ -94,7 +92,6 @@ public: void SetPhase2(); void SetPhase3(); void SetPhase4(); - void SetPhase5(); int GetPhase() const; void UpdateTime(); @@ -123,7 +120,7 @@ struct IA_USER { user(NULL), phase(), lastSendAlive(0), - rnd(random()), + rnd(static_cast(random())), port(0), ctx(), messagesToSend(), @@ -138,7 +135,7 @@ struct IA_USER { #ifdef IA_DEBUG aliveSent = false; #endif - }; + } IA_USER(const IA_USER & u) : login(u.login), @@ -156,7 +153,7 @@ struct IA_USER { aliveSent = u.aliveSent; #endif memcpy(&ctx, &u.ctx, sizeof(BLOWFISH_CTX)); - }; + } IA_USER(const std::string & l, CONST_USER_PTR u, @@ -166,7 +163,7 @@ struct IA_USER { user(u), phase(), lastSendAlive(0), - rnd(random()), + rnd(static_cast(random())), port(p), ctx(), messagesToSend(), @@ -204,13 +201,14 @@ private: class AUTH_IA_SETTINGS { public: AUTH_IA_SETTINGS(); - virtual ~AUTH_IA_SETTINGS() {}; - const std::string & GetStrError() const { return errorStr; }; + virtual ~AUTH_IA_SETTINGS() {} + const std::string & GetStrError() const { return errorStr; } int ParseSettings(const MODULE_SETTINGS & s); - int GetUserDelay() const { return userDelay; }; - int GetUserTimeout() const { return userTimeout; }; - int GetUserPort() const { return port; }; - FREEMB GetFreeMbShowType() const { return freeMbShowType; }; + UTIME GetUserDelay() const { return UTIME(userDelay); } + UTIME GetUserTimeout() const { return UTIME(userTimeout); } + uint16_t GetUserPort() const { return port; } + FREEMB GetFreeMbShowType() const { return freeMbShowType; } + bool LogProtocolErrors() const { return logProtocolErrors; } private: int userDelay; @@ -218,13 +216,14 @@ private: uint16_t port; std::string errorStr; FREEMB freeMbShowType; + bool logProtocolErrors; }; //----------------------------------------------------------------------------- class AUTH_IA; //----------------------------------------------------------------------------- class DEL_USER_NOTIFIER: public NOTIFIER_BASE { public: - DEL_USER_NOTIFIER(AUTH_IA & a) : auth(a) {} + explicit DEL_USER_NOTIFIER(AUTH_IA & a) : auth(a) {} virtual ~DEL_USER_NOTIFIER() {} void Notify(const USER_PTR & user); @@ -248,11 +247,11 @@ public: int Start(); int Stop(); - int Reload() { return 0; } + int Reload(const MODULE_SETTINGS & ms); bool IsRunning() { return isRunningRunTimeouter || isRunningRun; } const std::string & GetStrError() const { return errorStr; } - const std::string GetVersion() const { return "InetAccess authorization plugin v.1.4"; } + std::string GetVersion() const { return "InetAccess authorization plugin v.1.4"; } uint16_t GetStartPosition() const { return 30; } uint16_t GetStopPosition() const { return 30; } @@ -268,8 +267,8 @@ private: int FinalizeNet(); void DelUser(USER_PTR u); int RecvData(char * buffer, int bufferSize); - int CheckHeader(const char * buffer, int * protoVer); - int PacketProcessor(char * buff, int dataLen, uint32_t sip, uint16_t sport, int protoVer, USER_PTR user); + int CheckHeader(const char * buffer, uint32_t sip, int * protoVer); + int PacketProcessor(void * buff, size_t dataLen, uint32_t sip, uint16_t sport, int protoVer, USER_PTR user); int Process_CONN_SYN_6(CONN_SYN_6 * connSyn, IA_USER * iaUser, uint32_t sip); int Process_CONN_SYN_7(CONN_SYN_7 * connSyn, IA_USER * iaUser, uint32_t sip); @@ -290,15 +289,15 @@ private: int Process_DISCONN_ACK_6(DISCONN_ACK_6 * disconnSyn, IA_USER * iaUser, uint32_t sip, - map::iterator it); + std::map::iterator it); int Process_DISCONN_ACK_7(DISCONN_ACK_7 * disconnSyn, IA_USER * iaUser, uint32_t sip, - map::iterator it); + std::map::iterator it); int Process_DISCONN_ACK_8(DISCONN_ACK_8 * disconnSyn, IA_USER * iaUser, uint32_t sip, - map::iterator it); + std::map::iterator it); int Send_CONN_SYN_ACK_6(IA_USER * iaUser, uint32_t sip); int Send_CONN_SYN_ACK_7(IA_USER * iaUser, uint32_t sip); @@ -312,14 +311,14 @@ private: int Send_DISCONN_SYN_ACK_7(IA_USER * iaUser, uint32_t sip); int Send_DISCONN_SYN_ACK_8(IA_USER * iaUser, uint32_t sip); - int Send_FIN_6(IA_USER * iaUser, uint32_t sip, map::iterator it); - int Send_FIN_7(IA_USER * iaUser, uint32_t sip, map::iterator it); - int Send_FIN_8(IA_USER * iaUser, uint32_t sip, map::iterator it); + int Send_FIN_6(IA_USER * iaUser, uint32_t sip, std::map::iterator it); + int Send_FIN_7(IA_USER * iaUser, uint32_t sip, std::map::iterator it); + int Send_FIN_8(IA_USER * iaUser, uint32_t sip, std::map::iterator it); int Timeouter(); int SendError(uint32_t ip, uint16_t port, int protoVer, const std::string & text); - int Send(uint32_t ip, uint16_t port, const char * buffer, int len); + int Send(uint32_t ip, uint16_t port, const char * buffer, size_t len); int RealSendMessage6(const STG_MSG & msg, uint32_t ip, IA_USER & user); int RealSendMessage7(const STG_MSG & msg, uint32_t ip, IA_USER & user); int RealSendMessage8(const STG_MSG & msg, uint32_t ip, IA_USER & user); @@ -370,7 +369,7 @@ private: //----------------------------------------------------------------------------- class UnauthorizeUser : std::unary_function &, void> { public: - UnauthorizeUser(AUTH_IA * a) : auth(a) {} + explicit UnauthorizeUser(AUTH_IA * a) : auth(a) {} UnauthorizeUser(const UnauthorizeUser & rvalue) : auth(rvalue.auth) {} void operator()(const std::pair & p) {