X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/58d030a0db2b320459ce55d5a7b7b440d873d1d1..refs/heads/master:/projects/stargazer/plugins/other/radius/radius.h?ds=inline diff --git a/projects/stargazer/plugins/other/radius/radius.h b/projects/stargazer/plugins/other/radius/radius.h index 8eedace1..59cbf0d5 100644 --- a/projects/stargazer/plugins/other/radius/radius.h +++ b/projects/stargazer/plugins/other/radius/radius.h @@ -2,37 +2,22 @@ #include "stg/auth.h" #include "stg/plugin.h" +#include "config.h" #include "stg/module_settings.h" #include "stg/subscriptions.h" #include "stg/logger.h" +#include "server.h" +#include #include +#include #include #include #include //uint8_t, uint32_t namespace STG { - struct Settings; - - class RAD_SETTINGS - { - public: - RAD_SETTINGS(); - virtual ~RAD_SETTINGS() {} - const std::string & GetStrError() const { return m_errorStr; } - int ParseSettings(const ModuleSettings & s); - - uint16_t GetPort() const { return m_port; } - const std::string & GetDictionaries() const { return m_dictionaries; } - const std::string & GetSecret() const { return m_secret; } - - private: - std::string m_errorStr; - uint16_t m_port; - std::string m_dictionaries; - std::string m_secret; - }; + class Users; class RADIUS : public Auth { @@ -41,36 +26,40 @@ namespace STG RADIUS(const RADIUS&) = delete; RADIUS& operator=(const RADIUS&) = delete; - void SetSettings(const ModuleSettings & s) override { m_settings = s; } + void SetUsers(Users* u) override { m_users = u; } + void SetSettings(const ModuleSettings& s) override { m_settings = s; } int ParseSettings() override; int Start() override; int Stop() override; - int Reload(const ModuleSettings & /*ms*/) override { return 0; } + int Reload(const ModuleSettings& /*ms*/) override { return 0; } bool IsRunning() override; - void SetRunning(bool val); - const std::string & GetStrError() const override { return m_errorStr; } + const std::string& GetStrError() const override { return m_errorStr; } std::string GetVersion() const override; uint16_t GetStartPosition() const override { return 0; } uint16_t GetStopPosition() const override { return 0; } - int SendMessage(const Message & msg, uint32_t ip) const override { return 0; } + int SendMessage(const Message& /*msg*/, uint32_t /*ip*/) const override { return 0; } private: std::mutex m_mutex; + boost::asio::io_context m_ioContext; + void SetRunning(bool val); int Run(std::stop_token token); mutable std::string m_errorStr; - RAD_SETTINGS m_radSettings; + Config m_config; ModuleSettings m_settings; bool m_running; std::jthread m_thread; - + Users* m_users; PluginLogger m_logger; + + std::unique_ptr m_server; }; }