diff options
Diffstat (limited to 'accel-pptpd/ppp')
-rw-r--r-- | accel-pptpd/ppp/lcp_opt_mru.c | 14 | ||||
-rw-r--r-- | accel-pptpd/ppp/ppp.c | 25 | ||||
-rw-r--r-- | accel-pptpd/ppp/ppp_ccp.c | 13 | ||||
-rw-r--r-- | accel-pptpd/ppp/ppp_fsm.c | 9 | ||||
-rw-r--r-- | accel-pptpd/ppp/ppp_lcp.c | 14 |
5 files changed, 55 insertions, 20 deletions
diff --git a/accel-pptpd/ppp/lcp_opt_mru.c b/accel-pptpd/ppp/lcp_opt_mru.c index 6a8c430f..78e06b5a 100644 --- a/accel-pptpd/ppp/lcp_opt_mru.c +++ b/accel-pptpd/ppp/lcp_opt_mru.c @@ -11,6 +11,7 @@ #include "ppp.h" #include "ppp_lcp.h" #include "log.h" +#include "events.h" #include "memdebug.h" @@ -149,7 +150,7 @@ static void mru_print(void (*print)(const char *fmt,...), struct lcp_option_t *o print("<mru %i>",mru_opt->mru); } -static void __init mru_opt_init() +static void load_config(void) { char *opt; @@ -171,19 +172,24 @@ static void __init mru_opt_init() if (conf_min_mtu > conf_mru) { log_emerg("min-mtu cann't be greater then mtu/mru\n"); - _exit(-1); + conf_min_mtu = conf_mru; } if (conf_min_mtu > 1500) { log_emerg("min-mtu cann't be greater then 1500\n"); - _exit(-1); + conf_min_mtu = 1500; } if (conf_mru > 1500 || conf_mtu > 1500) { log_emerg("mtu/mru cann't be greater then 1500\n"); - _exit(-1); + conf_mru = 1500; } +} +static void __init mru_opt_init() +{ + load_config(); lcp_option_register(&mru_opt_hnd); + triton_event_register_handler(EV_CONFIG_RELOAD, (triton_event_func)load_config); } diff --git a/accel-pptpd/ppp/ppp.c b/accel-pptpd/ppp/ppp.c index 14898981..6cf1c720 100644 --- a/accel-pptpd/ppp/ppp.c +++ b/accel-pptpd/ppp/ppp.c @@ -634,16 +634,9 @@ static void save_seq(void) } } -static void __init init(void) +static void load_config(void) { char *opt; - FILE *f; - - sock_fd = socket(AF_INET, SOCK_DGRAM, 0); - if (sock_fd < 0) { - perror("socket"); - _exit(EXIT_FAILURE); - } opt = conf_get_opt("ppp", "verbose"); if (opt && atoi(opt) > 0) @@ -656,6 +649,18 @@ static void __init init(void) else if (strcmp(opt, "lower")) log_emerg("ppp: sid-case: invalid format\n"); } +} + +static void __init init(void) +{ + char *opt; + FILE *f; + + sock_fd = socket(AF_INET, SOCK_DGRAM, 0); + if (sock_fd < 0) { + perror("socket"); + _exit(EXIT_FAILURE); + } opt = conf_get_opt("ppp", "seq-file"); if (!opt) @@ -666,9 +671,11 @@ static void __init init(void) fscanf(f, "%llu", &seq); fclose(f); } else - //log_emerg("ppp: failed to open seq-file (%s): %s\n", opt, strerror(errno)); seq = (unsigned long long)random() * (unsigned long long)random(); + load_config(); + triton_event_register_handler(EV_CONFIG_RELOAD, (triton_event_func)load_config); + atexit(save_seq); } diff --git a/accel-pptpd/ppp/ppp_ccp.c b/accel-pptpd/ppp/ppp_ccp.c index e5b183dc..721dd9b6 100644 --- a/accel-pptpd/ppp/ppp_ccp.c +++ b/accel-pptpd/ppp/ppp_ccp.c @@ -8,6 +8,7 @@ #include "triton.h" #include "log.h" +#include "events.h" #include "ppp.h" #include "ppp_ccp.h" @@ -739,14 +740,20 @@ static struct ppp_layer_t ccp_layer= .free = ccp_layer_free, }; -static void __init ccp_init(void) +static void load_config(void) { const char *opt; - ppp_register_layer("ccp", &ccp_layer); - opt = conf_get_opt("ppp", "ccp"); if (opt && atoi(opt) >= 0) conf_ccp = atoi(opt); } +static void __init ccp_init(void) +{ + ppp_register_layer("ccp", &ccp_layer); + + load_config(); + triton_event_register_handler(EV_CONFIG_RELOAD, (triton_event_func)load_config); +} + diff --git a/accel-pptpd/ppp/ppp_fsm.c b/accel-pptpd/ppp/ppp_fsm.c index 6daf42c2..c6bc430e 100644 --- a/accel-pptpd/ppp/ppp_fsm.c +++ b/accel-pptpd/ppp/ppp_fsm.c @@ -7,6 +7,7 @@ #include "ppp_fsm.h" #include "ppp_lcp.h" #include "log.h" +#include "events.h" #include "memdebug.h" @@ -514,7 +515,7 @@ static void restart_timer_func(struct triton_timer_t *t) ppp_fsm_timeout1(layer); } -void __init fsm_init(void) +static void load_config(void) { char *opt; @@ -535,3 +536,9 @@ void __init fsm_init(void) conf_timeout = atoi(opt); } +void __init fsm_init(void) +{ + load_config(); + triton_event_register_handler(EV_CONFIG_RELOAD, (triton_event_func)load_config); +} + diff --git a/accel-pptpd/ppp/ppp_lcp.c b/accel-pptpd/ppp/ppp_lcp.c index 0b5a5175..e40e3212 100644 --- a/accel-pptpd/ppp/ppp_lcp.c +++ b/accel-pptpd/ppp/ppp_lcp.c @@ -10,6 +10,7 @@ #include "ppp.h" #include "ppp_lcp.h" +#include "events.h" #include "memdebug.h" @@ -822,12 +823,10 @@ static struct ppp_layer_t lcp_layer= .free = lcp_layer_free, }; -static void __init lcp_init(void) +static void load_config(void) { char *opt; - ppp_register_layer("lcp", &lcp_layer); - opt = conf_get_opt("lcp", "echo-interval"); if (opt && atoi(opt) > 0) conf_echo_interval = atoi(opt); @@ -837,3 +836,12 @@ static void __init lcp_init(void) conf_echo_failure = atoi(opt); } +static void __init lcp_init(void) +{ + load_config(); + + ppp_register_layer("lcp", &lcp_layer); + + triton_event_register_handler(EV_CONFIG_RELOAD, (triton_event_func)load_config); +} + |