//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
RADIUS::RADIUS()
- : nonstop(false),
+ : ctx(),
+ errorStr(),
+ radSettings(),
+ settings(),
+ authServices(),
+ acctServices(),
+ sessions(),
+ nonstop(false),
isRunning(false),
users(NULL),
stgSettings(NULL),
store(NULL),
- sock(-1)
+ thread(),
+ mutex(),
+ sock(-1),
+ packet()
{
InitEncrypt(&ctx, "");
}
//-----------------------------------------------------------------------------
-void RADIUS::SetUsers(USERS * u)
-{
-users = u;
-}
-//-----------------------------------------------------------------------------
-void RADIUS::SetStgSettings(const SETTINGS * s)
-{
-stgSettings = s;
-}
-//-----------------------------------------------------------------------------
-void RADIUS::SetSettings(const MODULE_SETTINGS & s)
-{
-settings = s;
-}
-//-----------------------------------------------------------------------------
-void RADIUS::SetStore(STORE * s)
-{
-store = s;
-}
-//-----------------------------------------------------------------------------
int RADIUS::ParseSettings()
{
int ret = radSettings.ParseSettings(settings);
return ret;
}
//-----------------------------------------------------------------------------
-bool RADIUS::IsRunning()
-{
-return isRunning;
-}
-//-----------------------------------------------------------------------------
-const std::string RADIUS::GetVersion() const
-{
-return "RADIUS data access plugin v 0.6";
-}
-//-----------------------------------------------------------------------------
-uint16_t RADIUS::GetStartPosition() const
-{
-// Start before any authorizers!!!
-return 20;
-}
-//-----------------------------------------------------------------------------
-uint16_t RADIUS::GetStopPosition() const
-{
-return 20;
-}
-//-----------------------------------------------------------------------------
int RADIUS::PrepareNet()
{
sock = socket(AF_INET, SOCK_DGRAM, 0);
//-----------------------------------------------------------------------------
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);
};
//-----------------------------------------------------------------------------
struct RAD_SESSION {
+ RAD_SESSION() : userName(), serviceType() {}
std::string userName;
std::string serviceType;
};
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 20; }
+ uint16_t GetStopPosition() const { return 20; }
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();