X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/13121b693bd98a04532195b9631b862b6136b3c7..068f824958f4864fb9c6f03484bf470e0cb61098:/projects/stargazer/plugins/other/radius/radius.h diff --git a/projects/stargazer/plugins/other/radius/radius.h b/projects/stargazer/plugins/other/radius/radius.h index 2a60f117..8281b1ae 100644 --- a/projects/stargazer/plugins/other/radius/radius.h +++ b/projects/stargazer/plugins/other/radius/radius.h @@ -47,6 +47,7 @@ #include "stg/users.h" #include "stg/blowfish.h" #include "stg/rad_packets.h" +#include "stg/logger.h" extern "C" PLUGIN * GetPlugin(); @@ -56,7 +57,10 @@ class RADIUS; //----------------------------------------------------------------------------- class RAD_SETTINGS { public: - RAD_SETTINGS() : port(0) {} + RAD_SETTINGS() + : port(0), errorStr(), password(), + authServices(), acctServices() + {} virtual ~RAD_SETTINGS() {} const string & GetStrError() const { return errorStr; } int ParseSettings(const MODULE_SETTINGS & s); @@ -76,6 +80,7 @@ private: }; //----------------------------------------------------------------------------- struct RAD_SESSION { + RAD_SESSION() : userName(), serviceType() {} std::string userName; std::string serviceType; }; @@ -83,27 +88,30 @@ struct RAD_SESSION { class RADIUS :public AUTH { public: RADIUS(); - virtual ~RADIUS() {}; + virtual ~RADIUS() {} - void SetUsers(USERS * u); - void SetStore(STORE * ); - void SetStgSettings(const SETTINGS * s); - void SetSettings(const MODULE_SETTINGS & s); + void SetUsers(USERS * u) { users = u; } + void SetStore(STORE * s) { store = s; } + void SetStgSettings(const SETTINGS *) {} + void SetSettings(const MODULE_SETTINGS & s) { settings = s; } int ParseSettings(); int Start(); int Stop(); int Reload() { return 0; } - bool IsRunning(); + bool IsRunning() { return isRunning; } const std::string & GetStrError() const { return errorStr; } - const std::string GetVersion() const; - uint16_t GetStartPosition() const; - uint16_t GetStopPosition() const; + const std::string GetVersion() const { return "RADIUS data access plugin v 0.6"; } + uint16_t GetStartPosition() const { return 30; } + uint16_t GetStopPosition() const { return 30; } int SendMessage(const STG_MSG &, uint32_t) const { return 0; } private: + RADIUS(const RADIUS & rvalue); + RADIUS & operator=(const RADIUS & rvalue); + static void * Run(void *); int PrepareNet(); int FinalizeNet(); @@ -125,8 +133,6 @@ private: bool CanAcctService(const std::string & svc) const; bool IsAllowedService(const std::string & svc) const; - bool WaitPackets(int sd) const; - void PrintServices(const std::list & svcs); struct Printer : public unary_function @@ -167,6 +173,7 @@ private: RAD_PACKET packet; + PLUGIN_LOGGER logger; }; //-----------------------------------------------------------------------------