mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2026-02-27 14:52:38 +01:00
icwmp: Fix no-wan-tr069-inform issue
This commit is contained in:
parent
975f4e7552
commit
15ab89ef7d
4 changed files with 32 additions and 20 deletions
|
|
@ -8,11 +8,11 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=icwmp
|
||||
PKG_VERSION:=8.2.21
|
||||
PKG_VERSION:=8.2.22
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/icwmp.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=a6b7d8db4d38f3d5785207efa1b206f909baf1f1
|
||||
PKG_SOURCE_VERSION:=a488c1e1b03856bf0416363aa1b0e932c4fe30d4
|
||||
PKG_RELEASE=$(PKG_SOURCE_VERSION)
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_MIRROR_HASH:=skip
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ config acs 'acs'
|
|||
option periodic_inform_enable 'true'
|
||||
option periodic_inform_interval '1800'
|
||||
option periodic_inform_time '0001-01-01T00:00:00Z'
|
||||
option dhcp_discovery 'enable'
|
||||
option dhcp_discovery '1'
|
||||
# compression possible configs: GZIP, Deflate, Disabled
|
||||
option compression 'Disabled'
|
||||
# possible configs interval :[1:65535]
|
||||
|
|
|
|||
|
|
@ -6,16 +6,16 @@ log() {
|
|||
|
||||
handle_icwmp_update() {
|
||||
local defwan=$(uci -q get cwmp.cpe.default_wan_interface)
|
||||
local vendorspecinf=`ubus call network.interface.${defwan} status | jsonfilter -e "@.data.vendorspecinf"`
|
||||
local vendorspecinf=`ifstatus ${defwan} | jsonfilter -e "@.data.vendorspecinf"`
|
||||
|
||||
log "Handling dhcp option value ${vendorspecinf}"
|
||||
[ -n "$vendorspecinf" ] && {
|
||||
local url=""
|
||||
local old_url=$(uci -q get cwmp.acs.dhcp_url)
|
||||
local old_url="$(uci -q get cwmp.acs.dhcp_url)"
|
||||
|
||||
case $vendorspecinf in
|
||||
http://*|https://*)
|
||||
url="$vendorspecinf"
|
||||
url="${vendorspecinf}"
|
||||
;;
|
||||
*)
|
||||
for optval in $vendorspecinf; do
|
||||
|
|
@ -30,9 +30,10 @@ handle_icwmp_update() {
|
|||
|
||||
if [ -n "$url" ]; then
|
||||
log "## icwmp url[${old_url}] changed to [${url}]"
|
||||
if [ -z "${old_url}" -o "${url}" != "${old_url}" ]; then
|
||||
if [ "${url}" != "${old_url}" ]; then
|
||||
log "Restarting icwmp url[${old_url}] changed to [${url}]"
|
||||
uci -q set cwmp.acs.dhcp_url="$url"
|
||||
uci commit cwmp
|
||||
ubus call uci commit '{"config":"cwmp"}'
|
||||
fi
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -57,15 +57,6 @@ wait_for_resolvfile() {
|
|||
done
|
||||
}
|
||||
|
||||
get_default_wan_interface() {
|
||||
local default_wan_interface
|
||||
|
||||
config_load cwmp
|
||||
config_get default_wan_interface cpe default_wan_interface "wan"
|
||||
|
||||
echo ${default_wan_interface}
|
||||
}
|
||||
|
||||
set_wan_interface() {
|
||||
local wan_interface="${1}"
|
||||
local l3_device=""
|
||||
|
|
@ -130,7 +121,7 @@ validate_acs_section()
|
|||
'periodic_inform_time:string' \
|
||||
'url:string' \
|
||||
'dhcp_url:string' \
|
||||
'dhcp_discovery:or("enable", "disable")' \
|
||||
'dhcp_discovery:bool' \
|
||||
'compression:or("GZIP","Deflate","Disabled")' \
|
||||
'retry_min_wait_interval:range(1, 65535)' \
|
||||
'retry_interval_multiplier:range(1000, 65535)' \
|
||||
|
|
@ -189,10 +180,30 @@ validate_defaults() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
boot() {
|
||||
local dhcp_url=""
|
||||
local discovery="1"
|
||||
|
||||
config_load cwmp
|
||||
config_get_bool discovery acs dhcp_discovery 1
|
||||
config_get dhcp_url acs dhcp_url ""
|
||||
|
||||
if [ "${discovery}" -eq 1 -a -z "${dhcp_url}" ]; then
|
||||
log "dhcp discovery enabled but no dhcp url, trigger update"
|
||||
/etc/icwmpd/update.sh
|
||||
fi
|
||||
start
|
||||
}
|
||||
|
||||
start_service() {
|
||||
local enable_cwmp=`uci -q get cwmp.cpe.enable`
|
||||
local wan_interface=$(get_default_wan_interface)
|
||||
local dhcp_discovery=`uci -q get cwmp.acs.dhcp_discovery`
|
||||
local enable_cwmp
|
||||
local wan_interface
|
||||
local dhcp_discovery
|
||||
|
||||
config_load cwmp
|
||||
config_get_bool enable_cwmp cpe enable 1
|
||||
config_get_bool dhcp_discovery acs dhcp_discovery 1
|
||||
config_get wan_interface cpe default_wan_interface "wan"
|
||||
|
||||
if [ "$enable_cwmp" = "0" -o "$enable_cwmp" = "false" ]; then
|
||||
log "CWMP is not enabled"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue