X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/f7805a596d2e7c451b997701ee21305a7fe23698..da585bb94c437f06762a2042ef4c52166b8aafce:/projects/stargazer/plugins/other/rscript/rscript.h diff --git a/projects/stargazer/plugins/other/rscript/rscript.h b/projects/stargazer/plugins/other/rscript/rscript.h index e0118638..4fb0ac73 100644 --- a/projects/stargazer/plugins/other/rscript/rscript.h +++ b/projects/stargazer/plugins/other/rscript/rscript.h @@ -22,14 +22,6 @@ #ifndef RSCRIPT_H #define RSCRIPT_H -#include - -#include -#include -#include -#include -#include - #include "stg/plugin.h" #include "stg/module_settings.h" #include "stg/os_int.h" @@ -41,6 +33,14 @@ #include "nrmap_parser.h" +#include +#include +#include +#include +#include + +#include + extern "C" PLUGIN * GetPlugin(); #define RS_DEBUG (1) @@ -60,7 +60,7 @@ class DisconnectUser; //----------------------------------------------------------------------------- class ADD_USER_NONIFIER: public NOTIFIER_BASE { public: - ADD_USER_NONIFIER(REMOTE_SCRIPT & r) + explicit ADD_USER_NONIFIER(REMOTE_SCRIPT & r) : NOTIFIER_BASE(), rs(r) {} virtual ~ADD_USER_NONIFIER() {} void Notify(const USER_PTR & user); @@ -74,7 +74,7 @@ private: //----------------------------------------------------------------------------- class DEL_USER_NONIFIER: public NOTIFIER_BASE { public: - DEL_USER_NONIFIER(REMOTE_SCRIPT & r) + explicit DEL_USER_NONIFIER(REMOTE_SCRIPT & r) : NOTIFIER_BASE(), rs(r) {} virtual ~DEL_USER_NONIFIER() {} void Notify(const USER_PTR & user); @@ -138,8 +138,10 @@ private: //----------------------------------------------------------------------------- struct USER { USER(const std::vector & r, USER_PTR it) - : user(it), + : lastSentTime(0), + user(it), routers(r), + shortPacketsCount(0), ip(user->GetCurrIP()) {} @@ -157,7 +159,7 @@ public: const std::string & GetStrError() const { return errorStr; } int ParseSettings(const MODULE_SETTINGS & s); int GetSendPeriod() const { return sendPeriod; } - int GetPort() const { return port; } + uint16_t GetPort() const { return port; } const std::vector & GetSubnetsMap() const { return netRouters; } const std::vector & GetUserParams() const { return userParams; } const std::string & GetPassword() const { return password; } @@ -166,11 +168,11 @@ public: private: int sendPeriod; uint16_t port; - string errorStr; + std::string errorStr; std::vector netRouters; - std::vector userParams; - string password; - string subnetFile; + std::vector userParams; + std::string password; + std::string subnetFile; }; //----------------------------------------------------------------------------- class REMOTE_SCRIPT : public PLUGIN { @@ -184,18 +186,17 @@ public: int Start(); int Stop(); - int Reload(); + int Reload(const MODULE_SETTINGS & ms); bool IsRunning() { return isRunning; } const std::string & GetStrError() const { return errorStr; } - const std::string GetVersion() const { return "Remote script v 0.3"; } + std::string GetVersion() const { return "Remote script v 0.3"; } uint16_t GetStartPosition() const { return 10; } uint16_t GetStopPosition() const { return 10; } void DelUser(USER_PTR u) { UnSetUserNotifiers(u); } void AddUser(USER_PTR u) { SetUserNotifiers(u); } - void ChangedIP(USER_PTR u, uint32_t oldIP, uint32_t newIP); void AddRSU(USER_PTR user); void DelRSU(USER_PTR user); @@ -214,13 +215,12 @@ private: std::vector IP2Routers(uint32_t ip); bool GetUsers(); - std::string GetUserParam(USER_PTR u, const std::string & paramName) const; void SetUserNotifiers(USER_PTR u); void UnSetUserNotifiers(USER_PTR u); - void InitEncrypt(BLOWFISH_CTX * ctx, const string & password) const; - void Encrypt(BLOWFISH_CTX * ctx, char * dst, const char * src, size_t len8) const; + void InitEncrypt(BLOWFISH_CTX * ctx, const std::string & password) const; + void Encrypt(BLOWFISH_CTX * ctx, void * dst, const void * src, size_t len8) const; mutable BLOWFISH_CTX ctx; @@ -258,7 +258,7 @@ private: //----------------------------------------------------------------------------- class DisconnectUser : public std::unary_function &, void> { public: - DisconnectUser(REMOTE_SCRIPT & rs) : rscript(rs) {} + explicit DisconnectUser(REMOTE_SCRIPT & rs) : rscript(rs) {} void operator()(std::pair & p) { rscript.Send(p.second, true);