X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/a5709854a8f0dc833598a2e1aefbd3000aeefb41..d49162286e811faacd7d7f3277da61efdfb635db:/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 e55733c1..08fd6512 100644 --- a/projects/stargazer/plugins/authorization/inetaccess/inetaccess.h +++ b/projects/stargazer/plugins/authorization/inetaccess/inetaccess.h @@ -49,6 +49,7 @@ #include "stg/blowfish.h" #include "stg/logger.h" #include "stg/utime.h" +#include "stg/logger.h" extern "C" PLUGIN * GetPlugin(); @@ -120,9 +121,12 @@ struct IA_USER { IA_USER() : login(), user(NULL), + phase(), lastSendAlive(0), rnd(random()), port(0), + ctx(), + messagesToSend(), protoVer(0), password("NO PASSWORD") { @@ -143,6 +147,7 @@ struct IA_USER { lastSendAlive(u.lastSendAlive), rnd(u.rnd), port(u.port), + ctx(), messagesToSend(u.messagesToSend), protoVer(u.protoVer), password(u.password) @@ -191,6 +196,9 @@ struct IA_USER { #ifdef IA_DEBUG bool aliveSent; #endif + +private: + IA_USER & operator=(const IA_USER & rvalue); }; //----------------------------------------------------------------------------- class AUTH_IA_SETTINGS { @@ -221,6 +229,9 @@ public: void Notify(const USER_PTR & user); private: + DEL_USER_NOTIFIER(const DEL_USER_NOTIFIER & rvalue); + DEL_USER_NOTIFIER & operator=(const DEL_USER_NOTIFIER & rvalue); + AUTH_IA & auth; }; //----------------------------------------------------------------------------- @@ -242,12 +253,15 @@ public: const std::string & GetStrError() const { return errorStr; } const std::string GetVersion() const { return "InetAccess authorization plugin v.1.4"; } - uint16_t GetStartPosition() const { return 50; } - uint16_t GetStopPosition() const { return 50; } + uint16_t GetStartPosition() const { return 30; } + uint16_t GetStopPosition() const { return 30; } int SendMessage(const STG_MSG & msg, uint32_t ip) const; private: + AUTH_IA(const AUTH_IA & rvalue); + AUTH_IA & operator=(const AUTH_IA & rvalue); + static void * Run(void *); static void * RunTimeouter(void * d); int PrepareNet(); @@ -345,23 +359,27 @@ private: std::map packetTypes; - STG_LOGGER & WriteServLog; - uint32_t enabledDirs; DEL_USER_NOTIFIER onDelUserNotifier; - class UnauthorizeUser : std::unary_function &, void> { - public: - UnauthorizeUser(AUTH_IA * a) : auth(a) {} - void operator()(const std::pair & p) - { - auth->users->Unauthorize(p.second.user->GetLogin(), auth); - } - private: - AUTH_IA * auth; - }; + PLUGIN_LOGGER logger; + friend class UnauthorizeUser; +}; +//----------------------------------------------------------------------------- +class UnauthorizeUser : std::unary_function &, void> { + public: + UnauthorizeUser(AUTH_IA * a) : auth(a) {} + UnauthorizeUser(const UnauthorizeUser & rvalue) : auth(rvalue.auth) {} + void operator()(const std::pair & p) + { + auth->users->Unauthorize(p.second.user->GetLogin(), auth); + } + private: + UnauthorizeUser & operator=(const UnauthorizeUser & rvalue); + + AUTH_IA * auth; }; //----------------------------------------------------------------------------- inline