From: Qian Date: Wed, 26 Apr 2017 00:02:53 +0000 (-0700) Subject: Correctly get runtime LAN ifname and addresses X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=18313cbe6e9315947e1cf83c80c3d8c57b8ec5f6;p=openwrt-packages.git Correctly get runtime LAN ifname and addresses 1. Correctly get LAN runtime ifname and addresses using network functions 2. Do not store ip settings in config files as they may change next time. --- diff --git a/net/ocserv/files/ocserv.init b/net/ocserv/files/ocserv.init old mode 100644 new mode 100755 index bce9339e0..63d0caae0 --- a/net/ocserv/files/ocserv.init +++ b/net/ocserv/files/ocserv.init @@ -3,6 +3,8 @@ START=50 USE_PROCD=1 +. $IPKG_INSTROOT/lib/functions/network.sh + setup_config() { config_get port $1 port "4443" config_get max_clients $1 max_clients "8" @@ -33,26 +35,27 @@ setup_config() { uci set dhcp.lan.start=100 uci set dhcp.lan.limit=91 fi - ip=$(uci get network.lan.ipaddr) + network_get_ipaddr ip lan ipaddr="$(echo $ip|cut -d . -f1,2,3).192" netmask="255.255.255.192" - uci set ocserv.config.ipaddr="$ipaddr" - uci set ocserv.config.netmask="$netmask" - uci commit fi if test -z "$ip6addr";then - ip6addr=$(uci get network.lan.ip6addr 2>/dev/null) - test -n "$ip6addr" && uci set ocserv.config.ip6addr="$ip6addr" - uci commit + network_get_ipaddr6 ip6addr lan + # Append ipv6 prefix + test -n "$ip6addr" && ip6addr="$ip6addr/96" fi ping_leases=1 - test -n "$ipaddr" && sysctl -w "net.ipv4.conf.$(uci get network.lan.ifname).proxy_arp"=1 >/dev/null - test -n "$ip6addr" && sysctl -w "net.ipv6.conf.$(uci get network.lan.ifname).proxy_ndp"=1 >/dev/null + local ifname + network_get_device ifname lan + if test -n "ifname";then + test -n "$ipaddr" && sysctl -w "net.ipv4.conf.$ifname.proxy_arp"=1 >/dev/null + test -n "$ip6addr" && sysctl -w "net.ipv6.conf.$ifname.proxy_ndp"=1 >/dev/null + fi else - test "$ipaddr" = "" && ipaddr="192.168.100.0" - test "$netmask" = "" && ipaddr="255.255.255.0" + test -z "$ipaddr" && ipaddr="192.168.100.0" + test -z "$netmask" && netmask="255.255.255.0" fi enable_default_domain="#" @@ -147,7 +150,7 @@ start_service() { [ -f /etc/config/ocserv-dir/ca-key.pem ] && mv /etc/config/ocserv-dir/ca-key.pem /etc/ocserv/ca-key.pem [ -f /etc/config/ocserv-dir/ca.pem ] && mv /etc/config/ocserv-dir/ca.pem /etc/ocserv/ca.pem [ -f /etc/config/ocserv-dir/server-key.pem ] && mv /etc/config/ocserv-dir/server-key.pem /etc/ocserv/server-key.pem - [ -f /etc/config/ocserv-dir/server-cert.pem ] && mv /etc/config/ocserv-dir/server-cert.pem /etc/ocserv/server-cert.pem + [ -f /etc/config/ocserv-dir/server-cert.pem ] && mv /etc/config/ocserv-dir/server-cert.pem /etc/ocserv/server-cert.pem [ -d /etc/config/ocserv-dir ] && rmdir /etc/config/ocserv-dir [ ! -f /etc/ocserv/ca-key.pem ] && [ -x /usr/bin/certtool ] && {