]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
create a scheduler (always) with hard-coded values
authorAlan T. DeKok <aland@freeradius.org>
Wed, 7 Jun 2017 15:05:48 +0000 (11:05 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 7 Jun 2017 15:05:48 +0000 (11:05 -0400)
TODO: make it configurable

src/include/modules.h
src/main/radiusd.c
src/main/radiusd.mk
src/main/unit_test_module.c
src/main/unit_test_module.mk
src/main/virtual_servers.c

index cafe38e4c8a79837f83150c0e3af17ece9249610..924af4bafd8286ddb42f65cfa705b81d07d6e019 100644 (file)
@@ -30,6 +30,7 @@ RCSIDH(modules_h, "$Id$")
 #include <freeradius-devel/features.h>
 #include <freeradius-devel/pool.h>
 #include <freeradius-devel/exfile.h>
+#include <freeradius-devel/io/schedule.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -205,7 +206,7 @@ rlm_rcode_t process_send_coa(int type, REQUEST *request);
 #endif
 
 int virtual_servers_bootstrap(CONF_SECTION *config);
-int virtual_servers_init(CONF_SECTION *config);
+int virtual_servers_init(fr_schedule_t *sc, CONF_SECTION *config);
 
 /*
  *     In unlang_interpret.c, but here for public consumption.
index 30ca36103492627e2cfaea8ae9759e4a9ad0a277..0d2888f2de250d453de5c7837b07a36397f5a115 100644 (file)
@@ -140,6 +140,7 @@ int main(int argc, char *argv[])
        bool            display_version = false;
        int             from_child[2] = {-1, -1};
        char            *p;
+       fr_schedule_t   *sc;
 
        /*
         *      Setup talloc callbacks so we get useful errors
@@ -170,6 +171,7 @@ int main(int argc, char *argv[])
 
        rad_debug_lvl = 0;
        set_radius_dir(autofree, RADIUS_DIR);
+       fr_time_start();
 
        /*
         *      Ensure that the configuration is initialized.
@@ -548,10 +550,16 @@ int main(int argc, char *argv[])
         */
        if (modules_instantiate(main_config.config) < 0) exit(EXIT_FAILURE);
 
+       sc = fr_schedule_create(NULL, &default_log, 1, 4, NULL, NULL);
+       if (!sc) {
+               exit(EXIT_FAILURE);
+       }
+
+
        /*
         *      And then load the virtual servers.
         */
-       if (virtual_servers_init(main_config.config) < 0) exit(EXIT_FAILURE);
+       if (virtual_servers_init(sc, main_config.config) < 0) exit(EXIT_FAILURE);
 
        /*
         *      Initialise the SNMP stats structures
index 8a453664e8edb8495ea3062c6d73deda011d962f..66ae85b42e1a636a4fd3b27bb9f5269e2ccbff2b 100644 (file)
@@ -31,7 +31,7 @@ SRC_CFLAGS    :=
 TGT_INSTALLDIR  := ${sbindir}
 TGT_LDLIBS     := $(LIBS) $(LCRYPT) $(SYSTEMD_LIBS)
 TGT_LDFLAGS    := $(LDFLAGS) $(SYSTEMD_LDFLAGS)
-TGT_PREREQS    := libfreeradius-server.a libfreeradius-util.a libfreeradius-radius.a
+TGT_PREREQS    := libfreeradius-server.a libfreeradius-util.a libfreeradius-radius.a libfreeradius-io.a
 
 # Libraries can't depend on libraries (oops), so make the binary
 # depend on the EAP code...
index 4fbe0f797f18b9895f62f24d201849a749cfdd3f..4416110c7f6a2c8c41ed3dd392a1a800ba2bdf2e 100644 (file)
@@ -712,6 +712,7 @@ int main(int argc, char *argv[])
 
        rad_debug_lvl = 0;
        set_radius_dir(NULL, RADIUS_DIR);
+       fr_time_start();
 
        /*
         *      Ensure that the configuration is initialized.
@@ -889,7 +890,7 @@ int main(int argc, char *argv[])
        /*
         *      And then load the virtual servers.
         */
-       if (virtual_servers_init(main_config.config) < 0) goto exit_failure;
+       if (virtual_servers_init(NULL, main_config.config) < 0) goto exit_failure;
 
        state = fr_state_tree_init(NULL, main_config.max_requests * 2, 10);
 
index b53f544f560ac21f3b353759f9ed8481e156d3e3..f5557c79b746ad3f243de54aa25fde077aa2d331 100644 (file)
@@ -23,7 +23,7 @@ endif
 
 TGT_INSTALLDIR  :=
 TGT_LDLIBS     := $(LIBS) $(LCRYPT)
-TGT_PREREQS    := libfreeradius-server.a libfreeradius-util.a libfreeradius-radius.a
+TGT_PREREQS    := libfreeradius-server.a libfreeradius-util.a libfreeradius-radius.a libfreeradius-io.a
 
 # Libraries can't depend on libraries (oops), so make the binary
 # depend on the EAP code...
index f04d2893a4db4d5d948a6eef552f4d8fbdbc6a34..678d3b295f24f90a9226b263aa592443563dd514 100644 (file)
@@ -647,7 +647,7 @@ int virtual_servers_bootstrap(CONF_SECTION *config)
 /*
  *     Load all of the virtual servers.
  */
-int virtual_servers_init(CONF_SECTION *config)
+int virtual_servers_init(fr_schedule_t *sc, CONF_SECTION *config)
 {
        CONF_SECTION *cs;
 
@@ -683,7 +683,7 @@ int virtual_servers_init(CONF_SECTION *config)
                                    name2, cf_section_filename(cs));
                        cf_log_info(cs, "  namespace = %s", app->name);
 
-                       if (app->instantiate(NULL, cs, check_config) < 0) {
+                       if (app->instantiate(sc, cs, check_config) < 0) {
                                cf_log_err_cs(cs, "Failed loading virtual server %s", name2);
                                return -1;
                        }