From 9176c3c67a70a7451aed2ed444c942d30f600a07 Mon Sep 17 00:00:00 2001 From: Vladislav Grishenko Date: Thu, 29 Aug 2019 17:33:07 +0500 Subject: ppp/ipoe: cleanup cleck-ip support let check-ip setting from [ppp]/[ipoe] sections has prio over [common] for compatibility with older configs. --- accel-pppd/accel-ppp.conf.5 | 2 +- accel-pppd/ctrl/ipoe/ipoe.c | 6 ++++-- accel-pppd/ppp/ipcp_opt_ipaddr.c | 13 +++++-------- accel-pppd/ppp/ipv6cp_opt_intfid.c | 2 ++ 4 files changed, 12 insertions(+), 11 deletions(-) (limited to 'accel-pppd') diff --git a/accel-pppd/accel-ppp.conf.5 b/accel-pppd/accel-ppp.conf.5 index 6533ef59..3ac7511b 100644 --- a/accel-pppd/accel-ppp.conf.5 +++ b/accel-pppd/accel-ppp.conf.5 @@ -124,7 +124,7 @@ Path to file for sessions sequence number. Start sequence number may be set ther Specifies maximum sessions which server may processed (default 0, disabled) .TP .BI "check-ip=" 0|1 -Specifies whether accel-ppp should check if IP already assigned to other ppp interface (default 0). +Specifies whether accel-ppp should check if IP already assigned to other client interface (default 0). .SH [ppp] .br PPP module configuration. diff --git a/accel-pppd/ctrl/ipoe/ipoe.c b/accel-pppd/ctrl/ipoe/ipoe.c index 9880162c..1316b615 100644 --- a/accel-pppd/ctrl/ipoe/ipoe.c +++ b/accel-pppd/ctrl/ipoe/ipoe.c @@ -3954,8 +3954,10 @@ static void load_config(void) else conf_weight = 0; - opt = conf_get_opt("common", "check-ip"); - if (opt && atoi(opt) >= 0) + opt = conf_get_opt("ipoe", "check-ip"); + if (!opt) + opt = conf_get_opt("common", "check-ip"); + if (opt && opt >= 0) conf_check_exists = atoi(opt) > 0; #ifdef RADIUS diff --git a/accel-pppd/ppp/ipcp_opt_ipaddr.c b/accel-pppd/ppp/ipcp_opt_ipaddr.c index 03eb418f..5656c813 100644 --- a/accel-pppd/ppp/ipcp_opt_ipaddr.c +++ b/accel-pppd/ppp/ipcp_opt_ipaddr.c @@ -171,14 +171,11 @@ static void load_config(void) { const char *opt; - opt = conf_get_opt("common", "check-ip"); - if (opt && atoi(opt) > 0) - conf_check_exists = atoi(opt); - else { - opt = conf_get_opt("ppp", "check-ip"); - if (opt && atoi(opt) >= 0) - conf_check_exists = atoi(opt) > 0; - } + opt = conf_get_opt("ppp", "check-ip"); + if (!opt) + opt = conf_get_opt("common", "check-ip"); + if (opt && atoi(opt) >= 0) + conf_check_exists = atoi(opt) > 0; } static void ipaddr_opt_init() diff --git a/accel-pppd/ppp/ipv6cp_opt_intfid.c b/accel-pppd/ppp/ipv6cp_opt_intfid.c index 4f019b63..bc7fae89 100644 --- a/accel-pppd/ppp/ipv6cp_opt_intfid.c +++ b/accel-pppd/ppp/ipv6cp_opt_intfid.c @@ -317,6 +317,8 @@ static void load_config(void) const char *opt; opt = conf_get_opt("ppp", "check-ip"); + if (!opt) + opt = conf_get_opt("common", "check-ip"); if (opt && atoi(opt) >= 0) conf_check_exists = atoi(opt) > 0; -- cgit v1.2.3