Browse Source

Initliaze radius client

Baptiste Jonglez 7 years ago
parent
commit
3c9a0a68c4

+ 14 - 1
src/lib/dhcpsrv/radius_host_data_source.cc

@@ -24,6 +24,8 @@
 #include <boost/pointer_cast.hpp>
 #include <boost/pointer_cast.hpp>
 #include <boost/static_assert.hpp>
 #include <boost/static_assert.hpp>
 
 
+#include <radcli/radcli.h>
+
 #include <stdint.h>
 #include <stdint.h>
 #include <string>
 #include <string>
 
 
@@ -75,7 +77,18 @@ namespace dhcp {
 
 
 RadiusHostDataSource::
 RadiusHostDataSource::
 RadiusHostDataSource(const DatabaseConnection::ParameterMap& parameters) {
 RadiusHostDataSource(const DatabaseConnection::ParameterMap& parameters) {
-    // TODO: radius session inilialisation
+    int res;
+    rh = rc_new();
+    if (rh == NULL) {
+         isc_throw(isc::Exception, "Failed to initialize Radius client");
+    }
+    res = rc_add_config(rh, "authserver", "127.0.0.1", NULL, 0);
+    if (res != 0) {
+         isc_throw(isc::Exception, "Failed to initialize Radius client");
+    }
+    res = rc_add_config(rh, "radius_timeout", "1", NULL, 0);
+    res = rc_add_config(rh, "radius_retries", "2", NULL, 0);
+    res = rc_add_config(rh, "serv-type", "tcp", NULL, 0);
 }
 }
 
 
 RadiusHostDataSource::~RadiusHostDataSource() {
 RadiusHostDataSource::~RadiusHostDataSource() {

+ 4 - 0
src/lib/dhcpsrv/radius_host_data_source.h

@@ -11,6 +11,8 @@
 #include <dhcpsrv/database_connection.h>
 #include <dhcpsrv/database_connection.h>
 #include <dhcpsrv/db_exceptions.h>
 #include <dhcpsrv/db_exceptions.h>
 
 
+#include <radcli/radcli.h>
+
 namespace isc {
 namespace isc {
 namespace dhcp {
 namespace dhcp {
 
 
@@ -299,6 +301,8 @@ public:
 
 
 private:
 private:
 
 
+    /// @brief Pointer to a Radius Client Handle
+    rc_handle *rh;
 };
 };
 
 
 }
 }