]> git.stg.codes - stg.git/commitdiff
Merge branch 'stg-2.409' into stg-2.409-radius
authorMaxim Mamontov <faust.madf@gmail.com>
Sat, 20 Aug 2016 10:24:56 +0000 (13:24 +0300)
committerMaxim Mamontov <faust.madf@gmail.com>
Sat, 20 Aug 2016 10:24:56 +0000 (13:24 +0300)
1  2 
projects/stargazer/plugins/other/radius/radius.h
projects/stargazer/settings_impl.cpp
projects/stargazer/settings_impl.h

index 742923f0f4fa86840be797a04a16b55a5e3cbac2,0f1c95fcda66563c592f3238e611b337ed645b54..52da138ec6eeab1a21c25e71e3e2eed31d14740a
  #include "stg/os_int.h"
  #include "stg/auth.h"
  #include "stg/module_settings.h"
 -#include "stg/notifer.h"
 -#include "stg/user_ips.h"
 -#include "stg/user.h"
 -#include "stg/users.h"
 -#include "stg/blowfish.h"
 -#include "stg/rad_packets.h"
  #include "stg/logger.h"
  
 -extern "C" PLUGIN * GetPlugin();
 +#include "config.h"
 +#include "conn.h"
  
 -#define RAD_DEBUG (1)
 +#include <string>
 +#include <deque>
 +#include <set>
  
 -class RADIUS;
 -//-----------------------------------------------------------------------------
 -class RAD_SETTINGS {
 -public:
 -    RAD_SETTINGS()
 -        : port(0), errorStr(), password(),
 -          authServices(), acctServices()
 -    {}
 -    virtual ~RAD_SETTINGS() {}
 -    const std::string & GetStrError() const { return errorStr; }
 -    int ParseSettings(const MODULE_SETTINGS & s);
 -    uint16_t GetPort() const { return port; }
 -    const std::string & GetPassword() const { return password; }
 -    const std::list<std::string> & GetAuthServices() const { return authServices; }
 -    const std::list<std::string> & GetAcctServices() const { return acctServices; }
 +#include <pthread.h>
 +#include <unistd.h>
 +#include <sys/select.h>
 +#include <sys/types.h>
  
 -private:
 -    int ParseServices(const std::vector<std::string> & str, std::list<std::string> * lst);
 +extern "C" PLUGIN * GetPlugin();
  
 -    uint16_t port;
 -    std::string errorStr;
 -    std::string password;
 -    std::list<std::string> authServices;
 -    std::list<std::string> acctServices;
 -};
 -//-----------------------------------------------------------------------------
 -struct RAD_SESSION {
 -    RAD_SESSION() : userName(), serviceType() {}
 -    std::string userName;
 -    std::string serviceType;
 -};
 -//-----------------------------------------------------------------------------
 -class RADIUS :public AUTH {
 +class STORE;
 +class USERS;
 +
 +class RADIUS : public AUTH {
  public:
 -                        RADIUS();
 -    virtual             ~RADIUS() {}
 +    RADIUS();
 +    virtual ~RADIUS() {}
  
 -    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();
 +    void SetUsers(USERS* u) { m_users = u; }
 +    void SetStore(STORE* s) { m_store = s; }
 +    void SetStgSettings(const SETTINGS*) {}
 +    void SetSettings(const MODULE_SETTINGS& s) { m_settings = s; }
 +    int ParseSettings();
  
 -    int                 Start();
 -    int                 Stop();
 -    int                 Reload(const MODULE_SETTINGS & /*ms*/) { return 0; }
 -    bool                IsRunning() { return isRunning; }
 +    int Start();
 +    int Stop();
-     int Reload() { return 0; }
++    int Reload(const MODULE_SETTINGS & /*ms*/) { return 0; }
 +    bool IsRunning() { return m_running; }
  
 -    const std::string & GetStrError() const { return errorStr; }
 -    std::string         GetVersion() const { return "RADIUS data access plugin v 0.6"; }
 -    uint16_t            GetStartPosition() const { return 30; }
 -    uint16_t            GetStopPosition() const { return 30; }
 +    const std::string& GetStrError() const { return m_error; }
 +    std::string GetVersion() const { return "RADIUS data access plugin v. 2.0"; }
 +    uint16_t GetStartPosition() const { return 30; }
 +    uint16_t GetStopPosition() const { return 30; }
  
 -    int SendMessage(const STG_MSG &, uint32_t) const { return 0; }
 +    int SendMessage(const STG_MSG&, uint32_t) const { return 0; }
 +
 +    void authorize(const USER& user);
 +    void unauthorize(const std::string& login, const std::string& reason);
  
  private:
      RADIUS(const RADIUS & rvalue);
Simple merge
index bab818c6ed473d3ce544eb879184481d1a8a696d,253b8bbccbcc70c0a41d4b09e464780b60c32b90..68fb9b0de7defa2491da639a429f8384e8d0d0aa
@@@ -25,8 -41,8 +25,9 @@@
  #include <vector>
  
  #include "stg/settings.h"
+ #include "stg/common.h"
  #include "stg/module_settings.h"
 +#include "stg/ref.h"
  
  //-----------------------------------------------------------------------------
  enum DETAIL_STAT_PERIOD {
@@@ -42,7 -58,10 +43,10 @@@ class DOTCONFDocumentNode
  class SETTINGS_IMPL : public SETTINGS {
  public:
      SETTINGS_IMPL(const std::string &);
 -    SETTINGS_IMPL(const SETTINGS_IMPL &);
++    SETTINGS_IMPL(const SETTINGS_IMPL & rhs);
      virtual ~SETTINGS_IMPL() {}
+     SETTINGS_IMPL & operator=(const SETTINGS_IMPL &);
      int Reload() { return ReadSettings(); }
      int ReadSettings();
  
          { return modulesSettings; }
      const std::vector<std::string> & GetScriptParams() const { return scriptParams; }
  
 -private:
++    int ParseModuleSettings(const DOTCONFDocumentNode * node, std::vector<PARAM_VALUE> * params);
 -    int ParseDetailStatWritePeriod(const std::string & str);
 -    int ParseModuleSettings(const DOTCONFDocumentNode * dirNameNode, std::vector<PARAM_VALUE> * params);
 +private:
  
      static void ErrorCallback(void * data, const char * buf);