Compare commits

..

1 Commits

Author SHA1 Message Date
Philippe Blavier
e8990c2ce0 Delete trailing white spaces 2019-05-11 16:16:08 +02:00
65 changed files with 526 additions and 1231 deletions

View File

@@ -11,7 +11,7 @@ PKG_RELEASE:=1
PKG_VERSION:=1.3.0
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dectmngr.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=5a5c94b289c79bc3a635b8d742dd9b73dcc0615f
PKG_SOURCE_VERSION:=637aa9ef231f81d195f7a1b67c70af445ade7fee
PKG_NAME:=dectmngr2

View File

@@ -13,7 +13,7 @@ PKG_VERSION:=1.0.0
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=7522faab4142fe2c0ac8cbf71bb0cc5bd49f0750
PKG_SOURCE_VERSION:=be5b0d0c0a1c2abd335aaf19f01f63284d8cc285
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dslmngr.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
endif

View File

@@ -1,5 +1,7 @@
#!/bin/sh /etc/rc.common
. /lib/functions/iopsys-repeated-macs.sh
START=99
USE_PROCD=1
@@ -89,6 +91,31 @@ create_rule() {
exec_log ebtables -t broute -A BROUTING ${cmd}
}
create_rules() {
protocol=$1; shift
macaddr=$1; shift
prio_num=$1; shift
port=$1
for p in $port; do
if [ "$protocol" == "none" ]; then
create_rule tcp $macaddr $prio_num $p
create_rule udp $macaddr $prio_num $p
else
create_rule $protocol $macaddr $prio_num $p
fi
done
# Create rule for all ports if port is not mentioned in uci
if [ -z "$port" ]; then
if [ "$protocol" == "none" ]; then
create_rule tcp $macaddr $prio_num
create_rule udp $macaddr $prio_num
else
create_rule $protocol $macaddr $prio_num
fi
fi
}
manage_rule() {
local cfg="$1"
local priority macaddr proto port comment prio_num protocol
@@ -100,25 +127,15 @@ manage_rule() {
protocol=$(echo ${proto}|tr [A-Z] [a-z])
prio_num=$(get_priority ${priority})
if [ -n "${macaddr}" -a -n "${prio_num}" ]; then
for p in ${port}; do
if [ "${protocol}" == "none" ]; then
create_rule tcp ${macaddr} ${prio_num} ${p}
create_rule udp ${macaddr} ${prio_num} ${p}
else
create_rule ${protocol} ${macaddr} ${prio_num} ${p}
fi
done
# Create rule for all ports if port is not mentioned in uci
if [ -z "${port}" ]; then
if [ "${protocol}" == "none" ]; then
create_rule tcp ${macaddr} ${prio_num}
create_rule udp ${macaddr} ${prio_num}
else
create_rule ${protocol} ${macaddr} ${prio_num}
fi
fi
fi
[ -n "${macaddr}" -a -n "${prio_num}" ] || return
create_rules ${protocol} ${macaddr} ${prio_num} ${port}
repeated_macs=$(mac_to_repeated ${macaddr})
for mac in $repeated_macs; do
[ "$mac" = "${macaddr}" ] && continue
create_rules ${protocol} $mac ${prio_num} ${port}
done
}
reload_service() {

View File

@@ -85,7 +85,7 @@ get_ipaddress() {
json_get_keys keys
# jshn seems a bit iffy on having : in key, replace by _
json_select "${1//:/_}" 2 > /dev/null
json_select "${1//:/_}"
json_get_var ip ip
echo "$ip"

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=easy-soc-libs
PKG_VERSION:=1.0.1
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=4c204761a38a27ff9ff7021c3c34b92d7e3fdb84
PKG_SOURCE_VERSION:=f6deba973cba01d630fdc40c6e97c384b07e3df5
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/easy-soc-libs.git
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@inteno.se>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz

View File

@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_RELEASE:=1
PKG_VERSION:=0.2
PKG_SOURCE_VERSION:=631e61b7ab5d86f2f4c86756a117badff9fb0f2c
PKG_SOURCE_VERSION:=bafc4f9e81de567965a0d8f2897d390cfb14636b
ifeq ($(CONFIG_ENDPT_OPEN),y)

View File

@@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=icwmp
PKG_VERSION:=4.0-2019-08-17
PKG_VERSION:=4.0-2019-05-08
PKG_FIXUP:=autoreconf
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/icwmp.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=17b9e07a38753eab3964dffd0b0cc7da3118840a
PKG_SOURCE_VERSION:=da50b98f5b0a9539edf97b3ffda4bf5a030dfa18
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
@@ -215,7 +215,6 @@ define Package/icwmp_xmpp/install
$(INSTALL_BIN) $(PKG_BUILD_DIR)/init/icwmp_xmppd $(1)/etc/init.d/icwmp_xmppd
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp_xmpp $(1)/etc/config
$(CP) ./xmpp-files/* $(1)/
endef
define Package/icwmp_udpechoserver/install

View File

@@ -9,7 +9,7 @@
- libz.so
- libcrypto.so
the librairies should be present in the "staging_dir/target-i386_uClibc-0.9.30.1/usr/lib/" or "staging_dir/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/lib"
header files and folders:
- expat.h
- expat_external.h
@@ -33,7 +33,7 @@ this software is composed of 3 packages:
- cwmp kernel package: contains cwmp kernel module. This module could be used by other kernel modules to notify the icwmpd daemon when kernel parameter changes
The three packages should be selected in the make menu config in order to get the three packages compiled.
To compile the three packages: $ make package/cwmpd/compile
To compile the three packages: $ make package/cwmpd/compile
3) OpenWRT settings
in the OpenWRT, Add the following lines in the /usr/share/udhcpc/default.script file:
@@ -49,7 +49,7 @@ in the OpenWRT, Add the following lines in the /usr/share/udhcpc/default.script
- libopenssl package should be installed
- libz package should be installed
- libcrypto package should be installed
Configure the acs url in the /etc/config/icwmp
and then start the cwmpd service: /etc/init.d/icwmpd start
for the help: /etc/init.d/icwmpd

View File

@@ -1,21 +0,0 @@
#!/bin/sh
[ -f /etc/config/cwmp_xmpp ] || exit 0
[ "$ACTION" == "ifup" ] || exit 0
[ "$INTERFACE" == "loopback" ] && exit 0
local defwan=$(uci -q get cwmp.cpe.default_wan_interface)
[ -n "$defwan" -a "$(uci -q get network.$defwan)" == "interface" -a "$defwan" != "$INTERFACE" ] && exit 0
local islan="$(uci -q get network.$INTERFACE.is_lan)"
[ "$islan" == "1" ] && exit 0
local proto="$(uci -q get network.$INTERFACE.proto)"
[ "$proto" == "none" ] && exit 0
local ifname="$(uci -q get network.$INTERFACE.ifname)"
[ "${ifname:0:1}" == "@" ] && exit 0
/etc/init.d/icwmp_xmppd reload &

View File

@@ -3,7 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=netmode
PKG_VERSION:=0.2.0
PKG_SOURCE_VERSION:=6406325e72d7ddd0ff7aaa3a87669519021bdb11
PKG_SOURCE_VERSION:=9fa23664b3bdd963e4556f5921c9f9be1c9c578f
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/netmoded

View File

@@ -12,7 +12,7 @@ start_netmoded() {
procd_open_instance
procd_set_param command $NETMODED
procd_append_param command --verbose warning -i macaddr
procd_append_param command --verbose warning
procd_set_param stdout 1
procd_set_param stderr 1

View File

@@ -12,8 +12,7 @@
"CG300",
"CG301",
"EX400",
"SDX810-AP",
"NORRLAND"
"SDX810-AP"
],
"acl" : [
"admin",

View File

@@ -1,5 +1,6 @@
config wifi-status 'status'
option wlan '1'
option wps '1'
option sched_status '0'
option schedule '0'
@@ -7,6 +8,9 @@ config bandsteering 'bandsteering'
option enabled '0'
option policy '0'
config apsteering 'apsteering'
option enabled '0'
config wifi-device 'wl0'
option type 'broadcom'
option country 'EU/13'
@@ -44,7 +48,7 @@ config wifi-iface
option key '$WPAKEY'
option gtk_rekey '3600'
option macfilter 'disable'
option wps '1'
option wps_pushbutton '1'
option wmf_bss_enable '1'
option maxassoc '32'
option ifname 'wl0'
@@ -84,7 +88,7 @@ config wifi-iface
option key '$WPAKEY'
option gtk_rekey '3600'
option macfilter 'disable'
option wps '1'
option wps_pushbutton '1'
option wmf_bss_enable '1'
option maxassoc '32'
option ifname 'wl1'

View File

@@ -9,8 +9,7 @@
],
"excluded_boards" : [
"*G*",
"F*",
"NORRLAND"
"F*"
],
"uplink_band" : 'a',
"downlink_band" : 'a b',

View File

@@ -1,2 +0,0 @@
uci -q set owsd.ubusproxy.enable="0"
uci -q commit owsd

View File

@@ -1,5 +1,6 @@
config wifi-status 'status'
option wlan '1'
option wps '1'
option sched_status '0'
option schedule '0'
@@ -7,6 +8,9 @@ config bandsteering 'bandsteering'
option enabled '0'
option policy '0'
config apsteering 'apsteering'
option enabled '0'
config wifi-device ra0
option band b
option channel auto
@@ -23,7 +27,7 @@ config wifi-iface
option encryption psk2
option key $WPAKEY
option ifname ra0
option wps 1
option wps_pushbutton 1
config wifi-device rai0
option band a
@@ -42,7 +46,7 @@ config wifi-iface
option encryption psk2
option key $WPAKEY
option ifname rai0
option wps 1
option wps_pushbutton 1
config wifi-iface
option device rai0

View File

@@ -9,8 +9,7 @@
],
"excluded_boards" : [
"EX4*",
"SDX810-AP",
"NORRLAND"
"SDX810-AP"
],
"credentials" : 0
}

View File

@@ -1,5 +1,6 @@
config wifi-status 'status'
option wlan '1'
option wps '1'
option sched_status '0'
option schedule '0'
@@ -7,6 +8,9 @@ config bandsteering 'bandsteering'
option enabled '0'
option policy '0'
config apsteering 'apsteering'
option enabled '0'
config wifi-device 'wl0'
option type 'broadcom'
option country 'EU/13'
@@ -44,7 +48,7 @@ config wifi-iface
option key '$WPAKEY'
option gtk_rekey '3600'
option macfilter 'disable'
option wps '1'
option wps_pushbutton '1'
option wmf_bss_enable '1'
option maxassoc '32'
option ifname 'wl0'
@@ -84,7 +88,7 @@ config wifi-iface
option key '$WPAKEY'
option gtk_rekey '3600'
option macfilter 'disable'
option wps '1'
option wps_pushbutton '1'
option wmf_bss_enable '1'
option maxassoc '32'
option ifname 'wl1'

View File

@@ -9,8 +9,7 @@
],
"excluded_boards" : [
"*G*",
"F*",
"NORRLAND"
"F*"
],
"reboot" : 0,
"credentials" : 0

View File

@@ -0,0 +1,10 @@
config proxy
option scope global
option uplink wan
list downlink lan
config proxy
option scope global
option uplink wan6
list downlink lan

View File

@@ -1,5 +1,6 @@
config wifi-status 'status'
option wlan '1'
option wps '1'
option sched_status '0'
option schedule '0'
@@ -7,6 +8,9 @@ config bandsteering 'bandsteering'
option enabled '0'
option policy '0'
config apsteering 'apsteering'
option enabled '0'
config wifi-device ra0
option band b
option channel auto
@@ -23,7 +27,7 @@ config wifi-iface
option ssid iopsys-$BSSID4
option encryption psk2
option key $WPAKEY
option wps 1
option wps_pushbutton 1
option ifname ra0
config wifi-device rai0
@@ -43,6 +47,6 @@ config wifi-iface
option ssid iopsys-$BSSID4
option encryption psk2
option key $WPAKEY
option wps 1
option wps_pushbutton 1
option ifname rai0

View File

@@ -5,7 +5,6 @@
NMTMPDIR=/var/netmodes
OLD_MODE_FILE=/var/netmodes/old_mode
CONF_BACKUP_DIR=/var/netmodes/backup/
SWITCHMODELOCK="/tmp/switching_mode"
MODEDIR=$(uci -q get netmode.setup.dir)
MTK=0
@@ -121,13 +120,8 @@ run_netmode_scripts() {
local mode=$1
local when=$2
local script
local path
path=$(readlink -f /etc/netmodes/$mode/)
[ "${path:0:14}" == "/etc/netmodes/" ] || exit
if [ -d /etc/netmodes/$mode/scripts/$when ]; then
logger -s -p user.info -t "netmode" "Executing $when netmode scripts" >/dev/console
logger -s -p user.info -t $0 "[netmode] Executing $when netmode scripts" >/dev/console
for script in $(ls /etc/netmodes/$mode/scripts/$when/); do
sh /etc/netmodes/$mode/scripts/$when/$script
done
@@ -185,12 +179,7 @@ switch_netmode() {
run_netmode_scripts $curmode "pre"
# make backup of current config before switching
rm -rf $CONF_BACKUP_DIR
mkdir -p $CONF_BACKUP_DIR
cp -af /etc/config/* $CONF_BACKUP_DIR
logger -s -p user.info -t "netmode" "Copying /etc/netmodes/$curmode in /etc/config" >/dev/console
logger -s -p user.info -t $0 "[netmode] Copying /etc/netmodes/$curmode in /etc/config" >/dev/console
for file in $(ls /etc/netmodes/$curmode/); do
case "$file" in
@@ -215,10 +204,11 @@ switch_netmode() {
case "$curmode" in
repeater*)
touch $SWITCHMODELOCK
logger -s -p user.info -t "netmode" "Switching to $curmode mode" > /dev/console
logger -s -p user.info -t $0 "Switching to $curmode mode" > /dev/console
ubus call leds set '{"state" : "allflash"}'
[ -f /etc/init.d/omcproxy ] && /etc/init.d/omcproxy stop
[ -f /etc/init.d/igmpproxy ] && /etc/init.d/igmpproxy stop
[ -f /etc/init.d/layer2 ] && /etc/init.d/layer2 reload
[ -f /etc/init.d/macoffset ] && /etc/init.d/macoffset reload
ubus call network reload
wifi reload nodat
ubus call router.network reload
@@ -229,7 +219,6 @@ switch_netmode() {
;;
*)
[ -f /etc/init.d/layer2 ] && /etc/init.d/layer2 reload
[ -f /etc/init.d/macoffset ] && /etc/init.d/macoffset reload
ubus call uci commit '{"config":"network"}'
;;
esac
@@ -237,28 +226,6 @@ switch_netmode() {
run_netmode_scripts $curmode "post"
}
revert_netmode() {
local from="$1"
local to="$2"
local rready="$3"
ubus call leds set '{"state" : "allflash"}'
logger -s -p user.info -t "netmode" "Could not switch to '$from' mode; going back to '$to' mode" > /dev/console
uci -q set netmode.setup.curmode="$to"
uci -q set netmode.setup.repeaterready="$rready"
uci commit netmode
cp -af $CONF_BACKUP_DIR/* /etc/config/
sync
rm -rf $CONF_BACKUP_DIR
rm -rf $OLD_MODE_FILE
logger -s -p user.info -t "netmode" "Restarting network services" > /dev/console
ubus call network reload
wifi reload
ubus call router.network reload
ubus call leds set '{"state" : "normal"}'
}
wificontrol_takes_over() {
local ret
[ -f /sbin/wificontrol ] || return
@@ -293,10 +260,10 @@ wait_for_netmode_handler() {
netmode_get_ip_type() {
[ -n "$(echo $1 | grep -E '^(192\.168|10\.|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]\.)')" ] && {
logger -t $0 "netmode_get_ip_type: ip $1 is private"
logger -t "[netmode]" "netmode_get_ip_type: ip $1 is private"
echo "private"
} || {
logger -t $0 "netmode_get_ip_type: ip $1 is public"
logger -t "[netmode]" "netmode_get_ip_type: ip $1 is public"
echo "public"
}
}
@@ -384,7 +351,7 @@ populate_netmodes() {
done
local hardware=$(db get hw.board.hardware)
local keys lang desc exp exclude support
local keys lang desc exp exclude
for mode in $(ls $MODEDIR); do
case "$mode" in
@@ -414,23 +381,6 @@ populate_netmodes() {
done
json_select ..
[ $exclude -eq 1 ] && continue
elif json_select supported_boards; then
support=0
_i=1
while json_get_var board $_i; do
case "$hardware" in
$board)
support=1
break
;;
esac
_i=$((_i+1))
done
json_select ..
[ $support -eq 1 ] || {
uci -q delete netmode.$mode
continue
}
fi
if json_select acl; then

View File

@@ -3,10 +3,6 @@
. /usr/share/libubox/jshn.sh
. /lib/functions.sh
WIFISTA=0
STACONF="/etc/Wireless/iNIC/iNIC_ap.dat"
[ -f $STACONF ] && WIFISTA=1
get_if_creds() {
local section=$1
local network=$2
@@ -88,22 +84,9 @@ duplicate_if_single_radio() {
done
}
get_wifi_iface_cfgstr() {
get_cfgno() {
config_get ifname "$1" ifname
[ "$ifname" == "$2" ] && echo "wireless.$1"
}
config_load wireless
config_foreach get_cfgno wifi-iface $1
}
case "$1" in
list)
if [ $WIFISTA -eq 1 ]; then
echo '{ "get_creds": { "network": "str", "file": "str" }, "set_creds": { "file": "str", "from_gui": "str" }, "connect": { "ssid": "str", "key": "str" }, "forget_network": {}, "wps_enroll": {}, "wps_stop": {} }'
else
echo '{ "get_creds": { "network": "str", "file": "str" }, "set_creds": { "file": "str", "from_gui": "str" } }'
fi
echo '{ "get_creds": { "network": "str", "file": "str" }, "set_creds": { "file": "str", "from_gui": "str" } }'
;;
call)
case "$2" in
@@ -153,88 +136,6 @@ case "$1" in
json_dump
;;
connect)
local ssid key enc auth wetif wetcfg wetssid wetkey code
read input
json_load "$input"
json_get_var ssid ssid
json_get_var key key
code=1
[ $WIFISTA -eq 1 ] && wetif="$(uci -q get wireless.$(uci show wireless | grep 'mode=.*wet.*' | cut -d'.' -f2 | head -1).ifname)"
if [ -s /sys/class/net/$wetif/operstate ]; then
wetcfg="$(get_wifi_iface_cfgstr $wetif)"
wetssid="$(uci -q get $wetcfg.ssid)"
wetkey="$(uci -q get $wetcfg.key)"
ssid="${ssid:-$wetssid}"
key="${key:-$wetkey}"
if [ -n "$key" ]; then
auth="WPA2PSK"
enc="AES"
else
auth="OPEN"
enc="NONE"
fi
iwpriv $wetif set ApCliEnable=0
iwpriv $wetif set ApCliSsid="$ssid"
iwpriv $wetif set ApCliAuthMode="$auth"
iwpriv $wetif set ApCliEncrypType="$enc"
iwpriv $wetif set ApCliWPAPSK="$key"
iwpriv $wetif set ApCliEnable=1
iwpriv $wetif set ApCliAutoConnect=1
code=0
fi
json_init
json_add_int "code" $code
json_dump
;;
forget_network)
local wetif wetcfg code
code=1
[ $WIFISTA -eq 1 ] && wetif="$(uci -q get wireless.$(uci show wireless | grep 'mode=.*wet.*' | cut -d'.' -f2 | head -1).ifname)"
if [ -s /sys/class/net/$wetif/operstate ]; then
wetcfg="$(get_wifi_iface_cfgstr $wetif)"
uci -q set $wetcfg.ssid=""
uci -q set $wetcfg.key=""
uci -q commit wireless
sed -i "s/ApCliSsid=.*/ApCliSsid=/g" $STACONF
sed -i "s/ApCliAuthMode=.*/ApCliAuthMode=/g" $STACONF
sed -i "s/ApCliEncrypType=.*/ApCliEncrypType=/g" $STACONF
sed -i "s/ApCliWPAPSK=.*/ApCliWPAPSK=/g" $STACONF
ifconfig $wetif down
ifconfig $wetif up
code=0
fi
json_init
json_add_int "code" $code
json_dump
;;
wps_enroll)
local wetif
[ $WIFISTA -eq 1 ] && wetif="$(uci -q get wireless.$(uci show wireless | grep 'mode=.*wet.*' | cut -d'.' -f2 | head -1).ifname)"
if [ -n "$wetif" ]; then
iwpriv $wetif set ApCliEnable=0
iwpriv $wetif set WscConfMode=1
iwpriv $wetif set WscMode=2
iwpriv $wetif set ApCliEnable=1
iwpriv $wetif set WscGetConf=1
fi
json_init
json_add_string "ifname" $wetif
json_dump
;;
wps_stop)
local wetif
[ $WIFISTA -eq 1 ] && wetif="$(uci -q get wireless.$(uci show wireless | grep 'mode=.*wet.*' | cut -d'.' -f2 | head -1).ifname)"
if [ -n "$wetif" ]; then
iwpriv $wetif set WscStop=1
fi
json_init
json_add_string "ifname" $wetif
json_dump
;;
esac
;;
esac

View File

@@ -1,52 +0,0 @@
#
# Copyright (C) 2019 IOPSYS
#
include $(TOPDIR)/rules.mk
PKG_NAME:=obuspa
PKG_VERSION:=1.0.0
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=014d7ec63331b3b745e8af53a4be1b52693e2a6f
PKG_SOURCE_URL:=https://dev.iopsys.eu/fork/obuspa.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_FIXUP:=autoreconf
include $(INCLUDE_DIR)/package.mk
define Package/obuspa
SECTION:=utils
CATEGORY:=Utilities
TITLE:=USP agent
DEPENDS:=+libcoap +libopenssl +libcurl +libsqlite3 +libcares +libubox +libubus +libblobmsg-json +uspd
endef
define Package/obuspa/description
OB-USP-AGENT is a system daemon providing a User Services Platform (USP) Agent.
endef
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-D_GNU_SOURCE
ifneq ($(CONFIG_USE_MUSL),)
TARGET_CFLAGS += -DUSE_MUSL
endif
#define Build/Prepare
# $(CP) -rf ./obuspa/* $(PKG_BUILD_DIR)/
#endef
define Package/obuspa/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_BIN) $(PKG_BUILD_DIR)/obuspa $(1)/usr/sbin/
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,obuspa))

View File

@@ -1,14 +0,0 @@
config controller
option endpointid 'self::usp-controller.com'
config mtp
option enable 'true'
option protocol 'STOMP'
option destination 'uspq'
config connection
option host 'usp-controller.com'
option username 'username'
option password 'password'
option encryption 'false'

View File

@@ -1,105 +0,0 @@
#!/bin/sh /etc/rc.common
START=99
USE_PROCD=1
PROG=/usr/sbin/obuspa
CTRL_PATH="Device.LocalAgent.Controller.1."
MTP_PATH="Device.LocalAgent.MTP.1."
CONN_PATH="Device.STOMP.Connection.1."
log() {
echo "${@}"|logger -t obuspa -p debug
}
db_set() {
log "DBSET param|${1}| value|${2}|"
${PROG} -c dbset ${1} ${2}
}
validate_controller_section()
{
uci_validate_section obuspa controller "${1}" \
'endpointid:string:"self:usp-controller.com"'
}
validate_mtp_section()
{
uci_validate_section obuspa mtp "${1}" \
'enable:bool:true' \
'protocol:string:"STOMP"' \
'destination:string:'
}
validate_connection_section()
{
uci_validate_section obuspa connection "${1}" \
'host:string:"usp-controller.com"' \
'username:string:username' \
'password:string:password' \
'encryption:bool:true'
}
configure_controller() {
local endpointid
validate_controller_section "${1}" || {
log "Validation of section failed"
return 1;
}
db_set "${CTRL_PATH}EndpointID" ${endpointid}
}
configure_mtp() {
local protocol enable destination
validate_mtp_section "${1}" || {
log "Validation of section failed"
return 1;
}
db_set "${MTP_PATH}Enable" ${enable}
db_set "${MTP_PATH}Protocol" ${protocol}
db_set "${MTP_PATH}STOMP.Destination" ${destination}
}
configure_connection() {
local host username password encryption
validate_connection_section "${1}" || {
log "Validation of section failed"
return 1;
}
db_set "${CONN_PATH}Host" ${host}
db_set "${CONN_PATH}Username" ${username}
db_set "${CONN_PATH}Password" ${password}
db_set "${CONN_PATH}X_ARRIS-COM_EnableEncryption" ${encryption}
}
db_init() {
[ -f /tmp/usp.db ] && rm -f /tmp/usp.db
config_load obuspa
config_foreach configure_controller controller
config_foreach configure_mtp mtp
config_foreach configure_connection connection
}
start_service() {
db_init
procd_open_instance
procd_set_param command ${PROG}
procd_append_param command -p -v 4
procd_set_param respawn
procd_close_instance
}
reload_service() {
stop
start
}
service_triggers() {
procd_add_config_trigger "config.change" "obuspa" /etc/init.d/obuspa restart
}

View File

@@ -1,9 +1,9 @@
choice
prompt "Select IPC Bus"
prompt "Select Bus"
default OWSD_USE_UBUS
depends on PACKAGE_owsd
help
Select which IPC bus to compile owsd for
Select which bus to compile owsd for
config OWSD_USE_DBUS
bool "Use DBUS"
@@ -15,11 +15,3 @@ config OWSD_USE_DBUS_UBUS
bool "Use UBUS and DBUS"
endchoice
config OWSD_UPROXYD
bool "Enable UBUS Proxy Daemon"
default y if OWSD_USE_UBUS || OWSD_USE_DBUS_UBUS
help
Enabling uproxyd automates detection of other
UBUS-X enabled devices in the network

View File

@@ -5,27 +5,25 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=owsd
PKG_VERSION:=1.1.2
PKG_VERSION:=1.1.1
PKG_RELEASE:=1
PKG_SOURCE_PROTO=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/owsd.git
PKG_SOURCE_VERSION:=f1d6bff1971640006b3137b342fafa1c40cfb835
PKG_SOURCE_VERSION:=f0eedeb6fd061edf3784d6bf86fa60b176bf3fe7
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=${PKG_NAME}-${PKG_VERSION}
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS:=CONFIG_OWSD_USE_DBUS CONFIG_OWSD_USE_UBUS CONFIG_OWSD_USE_DBUS_UBUS CONFIG_OWSD_UPROXYD
PKG_CONFIG_DEPENDS:=CONFIG_OWSD_USE_DBUS CONFIG_OWSD_USE_UBUS CONFIG_OWSD_USE_DBUS_UBUS
USE_UBUS-y:=-DWSD_HAVE_UBUS=ON
USE_DBUS-y:=-DWSD_HAVE_DBUS=ON
USE_BOTH-y:=${USE_UBUS-y} ${USE_DBUS-y}
USE_UPROXYD-y:=-DOWSD_UPROXYD=ON
CMAKE_OPTIONS:=${USE_UBUS-${CONFIG_OWSD_USE_UBUS}} \
${USE_DBUS-${CONFIG_OWSD_USE_DBUS}} \
${USE_BOTH-${CONFIG_OWSD_USE_DBUS_UBUS}} \
${USE_UPROXYD-${CONFIG_OWSD_UPROXYD}}
${USE_BOTH-${CONFIG_OWSD_USE_DBUS_UBUS}}
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
@@ -53,17 +51,14 @@ endef
define Package/owsd/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/owsd $(1)/usr/bin/owsd
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/uproxyd $(1)/sbin/uproxyd
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/owsd.init $(1)/etc/init.d/owsd
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) ./files/owsd.config $(1)/etc/config/owsd
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
$(INSTALL_BIN) ./files/owsd.hotplug $(1)/etc/hotplug.d/iface/55-owsd
ifeq ($(CONFIG_OWSD_UPROXYD),y)
$(CP) ./uproxy-files/* $(1)/
endif
# $(INSTALL_DIR) $(1)/etc/uci-defaults
# $(INSTALL_BIN) ./files/owsd.uci_default $(1)/etc/uci-defaults/55-owsd-interfaces
endef
define Package/owsd-testdata

View File

@@ -5,8 +5,8 @@ config owsd 'global'
# option www_maxage '3600'
# ubusproxy is enbaled if: enable = 1 or peer exists or path exists
#config ubusproxy 'ubusproxy'
# option enable '0'
config ubusproxy 'ubusproxy'
option enable '0'
# list peer 'wss://repeater_hostname/'
# list peer 'wss://192.168.1.101/'
# list object 'router.*'
@@ -30,12 +30,12 @@ config owsd-listen 'lan'
option whitelist_interface_as_origin '1'
option whitelist_dhcp_domains '1'
#config owsd-listen 'lan_8080'
# option port '8080'
# option interface 'lan'
# option ipv6 'on'
# option whitelist_interface_as_origin '1'
# option whitelist_dhcp_domains '1'
config owsd-listen 'lan_8080'
option port '8080'
option interface 'lan'
option ipv6 'on'
option whitelist_interface_as_origin '1'
option whitelist_dhcp_domains '1'
#config owsd-listen 'lan_https'
# option port '443'

View File

@@ -269,49 +269,43 @@ start_service() {
[ -n "${redirect}" ] && procd_append_param command -r"${redirect}"
[ -n "${www_maxage}" ] && procd_append_param command -t"${www_maxage}"
#validate_owsd_ubusproxy || {
# echo "Ubusproxy validation failed"
# return 1
#}
validate_owsd_ubusproxy && {
if [ "${enable}" -eq 1 ]; then
procd_append_param command -U
[ -n "${peer_cert}" ] && procd_append_param command -C"${peer_cert}"
[ -n "${peer_key}" ] && procd_append_param command -K"${peer_key}"
[ -n "${peer_ca}" ] && procd_append_param command -A"${peer_ca}"
append_peer () {
[ -n "$1" ] && procd_append_param command -P"$1"
}
append_object () {
[ -n "$1" ] && procd_append_param command -U"$1"
}
config_list_foreach "ubusproxy" "peer" append_peer
config_list_foreach "ubusproxy" "object" append_object
[ "${prefix}" == "mac" ] && procd_append_param command -F"mac"
fi
validate_owsd_ubusproxy || {
echo "Ubusproxy validation failed"
return 1
}
if [ "${enable}" -eq 1 ]; then
procd_append_param command -U
[ -n "${peer_cert}" ] && procd_append_param command -C"${peer_cert}"
[ -n "${peer_key}" ] && procd_append_param command -K"${peer_key}"
[ -n "${peer_ca}" ] && procd_append_param command -A"${peer_ca}"
append_peer () {
[ -n "$1" ] && procd_append_param command -P"$1"
}
append_object () {
[ -n "$1" ] && procd_append_param command -U"$1"
}
config_list_foreach "ubusproxy" "peer" append_peer
config_list_foreach "ubusproxy" "object" append_object
[ "${prefix}" == "mac" ] && procd_append_param command -F"mac"
fi
config_foreach parse_owsd_iface "owsd-listen"
# procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
if [ "${enable}" -eq 1 ]; then
# Start uproxyd
procd_open_instance
procd_set_param command $UPROXYD
procd_set_param respawn
procd_close_instance
fi
# Start uproxyd
procd_open_instance
procd_set_param command $UPROXYD
procd_set_param respawn
procd_close_instance
}
#stop_service()

View File

@@ -0,0 +1,87 @@
#!/bin/sh
. /lib/functions.sh
MGMT_INTERFACES=""
OWSD_INTERFACES=""
NOT_DEFAULT=0
mgmt_interfaces() {
local interface=$1
[ "$interface" == "loopback" ] && return
[ "$interface" == "lan" ] && return
[ "$interface" == "wan" ] && return
[ "$interface" == "wan6" ] && return
local type proto
config_get type $interface type
config_get proto $interface proto "none"
[ "$type" == "bridge" -a "$proto" == "none" ] && return
local is_lan
config_get is_lan $interface is_lan
[ "$is_lan" == "1" ] && return
local ifname
config_get ifname $interface ifname
[ "${ifname:0:1}" == "@" ] && return
MGMT_INTERFACES="$MGMT_INTERFACES $interface"
}
owsd_interfaces() {
local config=$1
local interface
config_get interface $config interface
[ "$interface" == "loopback" ] && return
[ "$interface" == "lan" ] && return
[ "$interface" == "wan" ] && return
[ "$interface" == "wan6" ] && return
OWSD_INTERFACES="$OWSD_INTERFACES $interface"
NOT_DEFAULT=1
}
not_owsd() {
local interface=$1
local there=0
for owsd in $OWSD_INTERFACES; do
if [ "$interface" == "$owsd" ]; then
there=1
break
fi
done
return $there
}
config_load network
config_foreach mgmt_interfaces interface
config_load owsd
config_foreach owsd_interfaces owsd-listen
if [ $NOT_DEFAULT -eq 0 ]; then
for mgmt in $MGMT_INTERFACES; do
if $(not_owsd $mgmt); then
uci -q set owsd.$mgmt=owsd-listen
uci -q set owsd.$mgmt.port=80
uci -q set owsd.$mgmt.interface="$mgmt"
uci -q set owsd.$mgmt.ipv6="on"
uci -q set owsd.$mgmt.whitelist_interface_as_origin="1"
uci -q set owsd.$mgmt.origin="*"
uci -q set owsd.$mgmt"_8080"=owsd-listen
uci -q set owsd.$mgmt"_8080".port=8080
uci -q set owsd.$mgmt"_8080".interface="$mgmt"
uci -q set owsd.$mgmt"_8080".ipv6="on"
uci -q set owsd.$mgmt"_8080".whitelist_interface_as_origin="1"
uci -q set owsd.$mgmt"_8080".origin="*"
uci commit owsd
fi
done
fi
exit 0

View File

@@ -1,19 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDHzCCAgegAwIBAgIJAKmrHnhgM9CZMA0GCSqGSIb3DQEBCwUAMCYxJDAiBgNV
BAMMG3Jvb3QgQ0EgZm9yIGlvcHN5cyBnYXRld2F5czAeFw0xOTA0MjcxMDQ4MTJa
Fw0yNzA3MTQxMDQ4MTJaMCYxJDAiBgNVBAMMG3Jvb3QgQ0EgZm9yIGlvcHN5cyBn
YXRld2F5czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM7i0RqyVvpl
WVm4ioXV7H/5oII6nmlGb+eQM4p0QBujhyvwtT6z0L0KXwwWRGFdYBNChBfsi9zm
AAhgQaR5D/QPRGDIiB69O3iBd2JFqzxo1rkN/nUMbZ2OplXRscmOs34yT68hV0ov
nv0iAr06bzyoa2sxOfN262Ic2tKYG5UYtRVnbaX40U80DYm1tvoeJfZgTiZmeuky
7t6PrWhJ+tfKdzK+IGDsIQ3k4k+3AfS8dwDEBbGocFhx+sOG/yv5OhGlZ3dH9toz
Gq+xrkawoa0hkKKVOFhNINdHcPG0UH7iET779nsgylT/8OGkQG3vLSBkVJ8rAaAh
j9vKBWdxIG0CAwEAAaNQME4wHQYDVR0OBBYEFMsfty2iwKt5U+WLdsYpgYVX1ZX2
MB8GA1UdIwQYMBaAFMsfty2iwKt5U+WLdsYpgYVX1ZX2MAwGA1UdEwQFMAMBAf8w
DQYJKoZIhvcNAQELBQADggEBALv1l6C94e6Xos4DkiIDToLQasO0nQLcq3eZhsa6
XJgWnBcoe7p4iLXzHzutacwTj/mx+ptbLkyqPzvIsufKeQf3hat5ICtCLZOpOW55
fPc4GY4TMixEJDzt3L5U89BXVFTSh7aY5KbphD9zQgYcy1IpkEEPtSOL8B8KWdHb
lrW1AE9p7YLHb4YgtS6NjEN04a1wHug/flcfes4u9DOnmJzSih9p8UtQP86hjiPK
C9znwLrbbrJANz4D6QSTtTT+qi8iQo68sKXYLyUC10Kp19pq1FMnfY1IkCcBDSip
hbGdxwd4txkrl52YZyuo14mXRGP/c2lvEO0a1P6IpR2kMj4=
-----END CERTIFICATE-----

View File

@@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAzuLRGrJW+mVZWbiKhdXsf/mggjqeaUZv55AzinRAG6OHK/C1
PrPQvQpfDBZEYV1gE0KEF+yL3OYACGBBpHkP9A9EYMiIHr07eIF3YkWrPGjWuQ3+
dQxtnY6mVdGxyY6zfjJPryFXSi+e/SICvTpvPKhrazE583brYhza0pgblRi1FWdt
pfjRTzQNibW2+h4l9mBOJmZ66TLu3o+taEn618p3Mr4gYOwhDeTiT7cB9Lx3AMQF
sahwWHH6w4b/K/k6EaVnd0f22jMar7GuRrChrSGQopU4WE0g10dw8bRQfuIRPvv2
eyDKVP/w4aRAbe8tIGRUnysBoCGP28oFZ3EgbQIDAQABAoIBACYwBcr4ukdT589A
2gjkONhSeocvTMg/4S4MFwdqd97iK3Q35SyiwlfyjyLLBWo3cyF6+Kj118c5iS4C
nns+gWxaWRPIUB/kbBLNSv0PwRDQhTn5VEvEtIMNrrROlZOPzJ/xp3W7IMKn0aAF
5B2LqLa4m8NYfcrr23zruJSA0S6O4O9+E2ilI0bLwMPmSEbrRhDYvOUUTP5bqWAy
DUcOZQp26LIbx9B1gBA9XcQADjSR59ZY0vUCh6Rhd9qmJ2ZVAj78hv7yLkGOUOwS
O9LnvBQjb7AZ9YNntTx/YlNLtbEMLfhv1/tpBZ8jVa9ZvCNBWNmrzpSCIEzhcQUY
jv+WGyECgYEA718+bHissVTet0kcuC18XCbdg7LelOws9aSo0ZgQaRCr7BjTXNMi
NrQPira0QmGyWtQ5eoxLw0s44b8ol0I+zwqA9q5bRMvdNUaZxE01ObC0aaZx0Sex
51exHN7knVyWS94kMGBYQRQW5ElrmOTUUFN9WOVwsIuhx22hUd8XZ4UCgYEA3UHf
jWzbdWlOw8ZB7hOu6MS46IFuKdztblHu3n+qw65x9i6VHy5yL8+dDOiFa8earpyP
bPNuDr0URTj6Xu4OzQ04gLXE3SXghSKZPSOq9UoJ56fw6wXq2Dtz5rFGD4Mt+WHR
/NiWccKSkA+x0bu8ab2hYBIAeURfqSQfAcmiRckCgYEAmTElLBpWuu6L0lTyElTZ
38fnwB87H6e+Zj7I48ojxnmq7WA99IwSu1ulDqs61bjcghCL8IfU/NkpQCAshBEb
TTl1q2mOc4rcuPnD8sNOqusRqwOgl7CFxH50lPt459SXQ1qZYnRmRs/qjpMGT0Uz
M20bLUc5RWM3WAArW9AglFkCgYAdk+XHqSq5SmeeIk3D/tueAFZbtpm8fO08lzVg
hx6T5CkV6OpEbdgT7iQnipnza46RExrVTMGEtOAV1OUbdaWC4eaQxjvX+G1IPvTP
SIpdGhWy4y+Aq5zWZTQ8PayI/FdUBDCnJWkPMhyXp5F04Szx0cjV5/IqQ+qp2MtQ
WN0ZiQKBgQDT7UFw5svbtjzE6pcjImRSDI4BwmA8F6C7bkK3M5mu10k+/kr5jDGG
xgByyY61TY3TpHKLOmuxqKb3nOy8umPlFt3P7xpYTuV5+dZRrbIFKtDy2uKkYi9E
N5xyVfanlXhlU7JoJtc2Xtkdjr5SwESHjNSjR8jDG/sd7opjeltOZg==
-----END RSA PRIVATE KEY-----

View File

@@ -1 +0,0 @@
514CD4028F0A688DAD8236D20F352623455A4D74

View File

@@ -1,18 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIC+zCCAeMCFFFM1AKPCmiNrYI20g81JiNFWk10MA0GCSqGSIb3DQEBCwUAMCYx
JDAiBgNVBAMMG3Jvb3QgQ0EgZm9yIGlvcHN5cyBnYXRld2F5czAeFw0xOTA2MjQx
NzEwMjhaFw0yOTA2MjExNzEwMjhaME4xCzAJBgNVBAYTAlNFMRIwEAYDVQQIDAlT
dG9ja2hvbG0xFTATBgNVBAoMDGlvcHN5cywgSW5jLjEUMBIGA1UEAwwLVUJVUy1Y
IERlbW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDosnAz7cNKUCWZ
9+qFs8PpV1J1o+Eq6Hv3Bc5ceNrPxcEsE2vDWQdl7QXU9Je++xILSxfvljHIUO7D
8AOcH03NO3N0F1H4KhmYIRjTKogQL8y/YIGFkzL4bZXwXRtvzXxMYNtdX4Lbdiyc
AtGTiSWJ3zBtShPGPFqgR4JpYmf3VaVy/f74tRdUL86rnVNaU5OIBMHGLLxwMf2Z
w3MPKSNj1ATcNoegKvMvHpd7FE2o5lDgFkUV3b8QqcAFTrmLXx6mYYpo9Fo1KHrA
6SiUP0KQ/lkQ28yfkvzmN4JpJtLpomzscn9nmJfbI5g3GezSGGFHDAyW/Y2c+VPN
N9C9n/NhAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAFEBujnBMhFVqLUPnDM41Cd0
ZzbY5n/haBN885xQP0tNdCJ9qN0L8dr8bDe1IR02WHZ4UIXzvOj20Nu2+AFP1OCG
CEEPLTQwlaJhaBzhnfLaxb7XCHqVodKBiYDYLQLFNdY9wYOKvyNI5xXMtPbH5fUK
GJA4bZTbL5c4iaqtdXwLE/6a9FCtfGsv9k70tPw+KYR4tcA2t3SS2Oe/bGRrj5yQ
Tjy0P7R033S4GlrsCRa7sRGg8yd7TgNpGsgyncsFRLHDG4V71I9NhOkoHR64oUfT
YVPt/16TIi31vF5FJO4TJtbA2wEpUWPk7x2VjIOvvauMoYE6Hf3YLatzdaIQNHo=
-----END CERTIFICATE-----

View File

@@ -1,16 +0,0 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICkzCCAXsCAQAwTjELMAkGA1UEBhMCU0UxEjAQBgNVBAgMCVN0b2NraG9sbTEV
MBMGA1UECgwMaW9wc3lzLCBJbmMuMRQwEgYDVQQDDAtVQlVTLVggRGVtbzCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOiycDPtw0pQJZn36oWzw+lXUnWj
4Sroe/cFzlx42s/FwSwTa8NZB2XtBdT0l777EgtLF++WMchQ7sPwA5wfTc07c3QX
UfgqGZghGNMqiBAvzL9ggYWTMvhtlfBdG2/NfExg211fgtt2LJwC0ZOJJYnfMG1K
E8Y8WqBHgmliZ/dVpXL9/vi1F1QvzqudU1pTk4gEwcYsvHAx/ZnDcw8pI2PUBNw2
h6Aq8y8el3sUTajmUOAWRRXdvxCpwAVOuYtfHqZhimj0WjUoesDpKJQ/QpD+WRDb
zJ+S/OY3gmkm0umibOxyf2eYl9sjmDcZ7NIYYUcMDJb9jZz5U8030L2f82ECAwEA
AaAAMA0GCSqGSIb3DQEBCwUAA4IBAQDWLgiuSq41EX4J5v5RH2gE3Ywr1FdzPMMe
SCJxYL3JOcIvDl0aNyx2bAd9Gc6Zj8uRXT8gDsB3cEgAoHdGjiZB0uoNV/Auz6kS
mYNnmpcZfAw775cBQpYBZvg2CRFqsv8mD4/OhBmoRjMpoosLkAYPuRmE58U/Ah+6
9MJIzVca6dn7iLMLVWndkCoD9OUwBZNHU+SGTkn0IKUGyMUTmduADPBGbB7mYg6j
DQsHiR1v7/ngb3uaQoVS8QA+XYmTUa1UZ+/83cmzjvf17rG10KwrJZh0lQNVUt5d
gvH8aUvQq92xcXYQlhLfVFkqxmrLZNR0rIEeUVwYvVawPK8ZR+UK
-----END CERTIFICATE REQUEST-----

View File

@@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA6LJwM+3DSlAlmffqhbPD6VdSdaPhKuh79wXOXHjaz8XBLBNr
w1kHZe0F1PSXvvsSC0sX75YxyFDuw/ADnB9NzTtzdBdR+CoZmCEY0yqIEC/Mv2CB
hZMy+G2V8F0bb818TGDbXV+C23YsnALRk4klid8wbUoTxjxaoEeCaWJn91Wlcv3+
+LUXVC/Oq51TWlOTiATBxiy8cDH9mcNzDykjY9QE3DaHoCrzLx6XexRNqOZQ4BZF
Fd2/EKnABU65i18epmGKaPRaNSh6wOkolD9CkP5ZENvMn5L85jeCaSbS6aJs7HJ/
Z5iX2yOYNxns0hhhRwwMlv2NnPlTzTfQvZ/zYQIDAQABAoIBAQC+o9IA+T4R1++2
YMImn8xVk1DfSE/lE2rcSklywSCjMGS+c3rKJFpHSxSID4tyz8dMsUz+4JIQhx3W
MQEEGzFmftprtd9V7UfittrbxfCLMl4QPERg5uPPXBiHQACGbFb1TDTsHp/apMqP
Vk/VC3tRpSTLpPDma/PjdDKHnDOJEXXvIiI6lWzDjkFS8cmb+ZChAVJSAVDpM3v5
OjtH6Cfn7QnlQh5v6OEcScmdHjGKaVstoQnulr9fK632KsWd4DVrPjcs6IYz+AmI
w6iMVWwfXM4HmtBZKmFZDB+QedvkKj3GoIGW7rbUWWWW5Nvk549SbrV4dFLmGjFe
Vg2X59yxAoGBAPfOj/f7aJcltV6Guf4jmt0r9fB+wHAl9Vx1Dg0Etg10LJnjbgEI
2jkvVr4qp71GUg0vTdbAwcX5ha1gjvvLEfH2ikSut7je1L26Lcm7tcyCGnlIIOU5
gwyLwTFArdmK8yn2gC56I+MOdiqsw3xgvGeLaM39BTdAcDYtnJ2E0ysLAoGBAPBj
/G30UVQ3bXcPuP2vZHNUSVBRr3Rsi4YO4Ue+pF4y1tcxaEDHYR+WuD03l/Vnu9mK
xZxHLwQuVjAeogwrzNgbN3CMN9jytGfnwPPG8YOw0umpS7wk4ZBA6wh97R6H8hlI
6rSZYt2i92rBKEDU0i5ciUnR0pjyy/IUhM9o/L7DAoGBAJqKWKCXSl/QpW5g6QdD
3yWFb+hes9Z85aqWWX/m6z4ysEn8WrMMeUNmcVtBMMDKZQtR7+I47d9wQFyitijz
OKrETPCOYYdKeDQmMr33cWYr0STHxbQOjNq7IW18366miAUodEIH6++DKlBs07Dy
hyyv9VlZLPKLHi+7fEuD9UmHAoGBAL/2OCfdx+xGbsV66rC6FK78Cad383I3E5uz
2jYeiMcoNeOV8rh3/pjpFKrd8Bzp/1oStQa82VCvZ+f5LlIlz+hqo3Teo+I8vc+T
g8OnhEkzNNmedXoCwZUeIhGf7XBKAwwp7DLXodl3P7giEvDiggy/nGo0gcXdbPsd
Y4j1P49dAoGAPlVSKQx+s7zfcUwJMG9AqOXvXUEg9+AJZBn/xqVVwbd0jb/yf1lB
7Y+3Q3FndrVF/Gd7kTbgIlwI6sk7l0+CN1jjN1WEHgFenz6O4nlwIcdbQRovw/4S
okAV3yLGjubMCjyKdBP8bpocBcstYdr2PEmrt37XFNhQVL3C8HjdPmU=
-----END RSA PRIVATE KEY-----

View File

@@ -1,29 +0,0 @@
#!/bin/sh
# do not create ubusproxy section if it exists already
[ "$(uci -q get owsd.ubusproxy)" == "ubusproxy" ] && exit 0
uci set owsd.ubusproxy="ubusproxy"
uci set owsd.ubusproxy.enable="1"
uci set owsd.ubusproxy.peer_key="/etc/ubusx/ubusx_demo_only.key"
uci set owsd.ubusproxy.peer_cert="/etc/ubusx/ubusx_demo_only.crt"
uci set owsd.ubusproxy.peer_ca="/etc/ubusx/ubusxDemoCA.crt"
uci commit owsd
# do not create wan_https section if it exists already
[ "$(uci -q get owsd.wan_https)" == "owsd-listen" ] && exit 0
# do not create wan_https section if wan interface doesn't exist
[ "$(uci -q get network.wan)" == "interface" ] || exit 0
uci set owsd.wan_https="owsd-listen"
uci set owsd.wan_https.port="443"
uci set owsd.wan_https.interface="wan"
uci set owsd.wan_https.key="/etc/ubusx/ubusx_demo_only.key"
uci set owsd.wan_https.cert="/etc/ubusx/ubusx_demo_only.crt"
uci set owsd.wan_https.ca="/etc/ubusx/ubusxDemoCA.crt"
uci set owsd.wan_https.whitelist_interface_as_origin="1"
uci del_list owsd.wan_https.origin="*"
uci add_list owsd.wan_https.origin="*"
uci commit owsd

View File

@@ -56,7 +56,7 @@ configure_ethports(){
config_get speed $name speed
config_get ifname $name ifname
config_get pause $name pause
set_port_speed $ifname $speed $name
set_port_speed $ifname $speed
set_port_pause $ifname $pause
}

View File

@@ -6,9 +6,9 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=questd
PKG_VERSION:=4.1.1
PKG_VERSION:=4.0.1
PKG_SOURCE_VERSION:=c1d8ba92f6a8538f7a48960592cfe91c0c057c2b
PKG_SOURCE_VERSION:=d19501b6f80ef649b2ffd2f87132df885ce4581f
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/questd
@@ -44,7 +44,7 @@ export QUESTD_CFLAGS
define Package/questd
CATEGORY:=Utilities
DEPENDS:=+libuci +libubox +ubus +libpthread +TARGET_iopsys_ramips:swconfig +TARGET_iopsys_ramips:libnl-tiny +libopenssl +easy-soc-libs
DEPENDS:=+libuci +libubox +ubus +libpthread +TARGET_iopsys_ramips:swconfig +TARGET_iopsys_ramips:libnl-tiny +libopenssl
TITLE:=router info daemon
endef
@@ -59,6 +59,7 @@ define Package/questd/install
$(INSTALL_BIN) $(PKG_BUILD_DIR)/questd $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/wificontrol $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/graphd $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/uproxyd $(1)/sbin/
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/netcheck $(1)/usr/bin/
endef

View File

@@ -1,12 +0,0 @@
#!/bin/sh
. /lib/functions.sh
add_required_ubusproxy_objects() {
uci -q del_list owsd.ubusproxy.object="wifix"
uci -q add_list owsd.ubusproxy.object="wifix"
uci commit owsd
}
add_required_ubusproxy_objects

View File

@@ -12,7 +12,7 @@ PKG_INSTALL:=1
PKG_SOURCE_PROTO=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/rulengd.git
PKG_SOURCE_VERSION:=ad94ccdd82b22527ab32937ca1a2682030319ed3
PKG_SOURCE_VERSION:=63569245b62d90d3106cc826f2d2b18f51c0b885
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=${PKG_NAME}-${PKG_VERSION}
PKG_INSTALL:=1

View File

@@ -0,0 +1,7 @@
config rule
option event 'test.event'
list event_data "{'test': 1, 'reason': 1}"
list event_data "{'tests': [1, 2, 3]}"
option method 'file->write'
list method_data "{'path': '/tmp/test_event.txt'}"
list method_data "{'data': 'test event received!'}"

View File

@@ -14,10 +14,10 @@ PKG_SOURCE_PROTO:=git
ifdef CONFIG_TARGET_intel_mips
PKG_SOURCE_URL:=git@dev.iopsys.eu:intel/uboot.git
PKG_SOURCE_VERSION:=819227ec4cf4f2f8f7e8d46a3bee58e329089de6
PKG_SOURCE_VERSION:=15e223e20e5680bc446e84b4d8b5bce06b45fb1b
else
PKG_SOURCE_URL:=https://dev.iopsys.eu/fork/uboot.git
PKG_SOURCE_VERSION:=670ad7a30f3c6871b6c8a972e19ca2dd78ea8c9b
PKG_SOURCE_VERSION:=3ef2ba866a99205496e0ce01935c89a1778d9b85
endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
@@ -46,7 +46,7 @@ UBOOT_IMG:=uboot.img
define uboot/ex400
TITLE:=U-Boot for the ex400
DEPENDS:=@TARGET_iopsys_ramips
PKG_RELEASE:=7
PKG_RELEASE:=6
endef
define uboot/sdx810_ap
@@ -74,7 +74,7 @@ define uboot/grx500_norrland
TITLE:=U-Boot for Norrland Board
UBOOT_IMG:=u-boot-nand.bin
DEPENDS:=@TARGET_intel_mips
PKG_RELEASE:=15
PKG_RELEASE:=11
endef
UBOOTS := \

View File

@@ -5,10 +5,10 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=uspd
PKG_VERSION:=1.0.3
PKG_VERSION:=1.0.0
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=f033acb40afd9b087587d3cfba292e1d884600d6
PKG_SOURCE_VERSION:=a5fba2890d05e868605431dacd32ffda4bdc232d
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/uspd.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
@@ -38,9 +38,7 @@ TARGET_CFLAGS += \
define Package/uspd/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_BIN) ./files/uspd.init $(1)/etc/init.d/uspd
$(INSTALL_CONF) ./files/uspd.config $(1)/etc/config/uspd
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/uspd $(1)/usr/sbin/
endef

View File

@@ -1,2 +0,0 @@
config uspd 'usp'
option granularitylevel '0'

View File

@@ -17,9 +17,3 @@ reload_service() {
stop
start
}
service_triggers()
{
procd_add_reload_trigger "cwmp"
procd_add_config_trigger "config.change" "uspd" /etc/init.d/uspd restart
}

View File

@@ -57,7 +57,6 @@ ifeq ($(CONFIG_TARGET_intel_mips),y)
-e 's/brcm/tapi/g' \
-e 's/BRCM/TAPI/g' \
-e 's/broadcom/intel/g' \
-e 's/SWE/ETS/g' \
$(1)/etc/config/voice_client \
$(1)/etc/asterisk_templates/*
sed -i \

View File

@@ -1,138 +1,138 @@
config tel_line 'brcm0'
option extension '0000'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
option sip_account 'sip0'
config 'tel_line' 'brcm0'
option 'extension' '0000'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config tel_line 'brcm1'
option extension '1111'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
option sip_account 'sip0'
config 'tel_line' 'brcm1'
option 'extension' '1111'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config tel_line 'brcm2'
option extension '2222'
option sip_account 'sip0'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
config 'tel_line' 'brcm2'
option 'extension' '2222'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config tel_line 'brcm3'
option extension '3333'
option sip_account 'sip0'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
config 'tel_line' 'brcm3'
option 'extension' '3333'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config tel_line 'brcm4'
option extension '4444'
option sip_account 'sip0'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
config 'tel_line' 'brcm4'
option 'extension' '4444'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config tel_line 'brcm5'
option extension '5555'
option sip_account 'sip0'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
config 'tel_line' 'brcm5'
option 'extension' '5555'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config tel_line 'brcm6'
option extension '6666'
option sip_account 'sip0'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
config 'tel_line' 'brcm6'
option 'extension' '6666'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config tel_line 'brcm7'
option extension '7777'
option sip_account 'sip0'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
config 'tel_line' 'brcm7'
option 'extension' '7777'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config dialplan 'custom_dialplan'
option custom_outgoing_enabled '0'
option custom_incoming_enabled '0'
option custom_hangup_enabled '0'
option all_ports_extension '#123456'
option test_audio_extension '#123457'
option test_echo_extension '#123458'
option record_message_extension '#999999'
config 'dialplan' 'custom_dialplan'
option 'custom_outgoing_enabled' '0'
option 'custom_incoming_enabled' '0'
option 'custom_hangup_enabled' '0'
option 'all_ports_extension' '#123456'
option 'test_audio_extension' '#123457'
option 'test_echo_extension' '#123458'
option 'record_message_extension' '#999999'
config sip_advanced 'SIP'
option rtpstart '10000'
option rtpend '20000'
option dtmfmode 'rfc2833'
option remotehold 'yes'
option contact_line_suffix '1'
option registertimeoutbackoff '512'
option registerattemptsbackoff '0'
option register403timeout '0'
option register503timeout '0'
option registertimeoutguardsecs '15'
option registertimeoutguardlimit '30'
option registertimeoutguardpct '0.2'
config 'sip_advanced' 'SIP'
option 'rtpstart' '10000'
option 'rtpend' '20000'
option 'dtmfmode' 'rfc2833'
option 'remotehold' 'yes'
option 'contact_line_suffix' '1'
option 'registertimeoutbackoff' '512'
option 'registerattemptsbackoff' '0'
option 'register403timeout' '0'
option 'register503timeout' '0'
option 'registertimeoutguardsecs' '15'
option 'registertimeoutguardlimit' '30'
option 'registertimeoutguardpct' '0.2'
option defaultexpiry '300'
option tls_version 'tlsv1'
option tls_cipher 'DES-CBC3-SHA'
option stun_server ''
option dnsmgr 'no'
option dnsmgr_refresh_interval '300'
option srvlookup 'yes'
option 'tls_version' 'tlsv1'
option 'tls_cipher' 'DES-CBC3-SHA'
option 'stun_server' ''
option 'dnsmgr' 'no'
option 'dnsmgr_refresh_interval' '300'
option 'srvlookup' 'yes'
config tel_advanced 'TEL'
option country 'SWE'
option jbenable 'yes'
option jbforce 'no'
option jbmaxsize '500'
option jbimpl 'adaptive'
option genericplc 'yes'
option dialoutmsec '4000'
option cw_enable 'yes'
config 'tel_advanced' 'TEL'
option 'country' 'SWE'
option 'jbenable' 'yes'
option 'jbforce' 'no'
option 'jbmaxsize' '500'
option 'jbimpl' 'adaptive'
option 'genericplc' 'yes'
option 'dialoutmsec' '4000'
option 'cw_enable' 'yes'
config features 'features'
option cbbs_enabled '1'
option callforward_enabled '1'
option callwaiting_enabled '1'
option redial_enabled '1'
option callreturn_enabled '1'
option advanced_register_settings '1'
config 'features' 'features'
option 'cbbs_enabled' '1'
option 'callforward_enabled' '1'
option 'callwaiting_enabled' '1'
option 'redial_enabled' '1'
option 'callreturn_enabled' '1'
option 'advanced_register_settings' '1'
config log 'LOG'
option console 'notice,warning,error'
@@ -146,37 +146,31 @@ config ringing_status 'RINGING_STATUS'
option shouldring '1'
config call_filter 'call_filter0'
option block_foreign '0'
option block_special_rate '0'
option block_outgoing '0'
option block_incoming '0'
option block_foreign '0'
option block_special_rate '0'
option block_outgoing '0'
option block_incoming '0'
config cdr_log 'CDR_LOG'
option cdr_syslog '0'
config sip_service_provider 'sip0'
option name 'Account 1'
option enabled '0'
option codec0 'alaw'
config 'sip_service_provider' 'sip0'
option 'name' 'Account 1'
option 'enabled' '0'
option 'codec0' 'alaw'
option cbbs_key '5'
option cbbs_maxretry '5'
option cbbs_retrytime '300'
option cbbs_waittime '30'
option autoframing '1'
option cfim_on '*21*'
option cfim_off '#21#'
option cfbs_on '*61*'
option cfbs_off '#61#'
option 'autoframing' '1'
option 'cfim_on' '*21*'
option 'cfim_off' '#21#'
option 'cfbs_on' '*61*'
option 'cfbs_off' '#61#'
option cw_on '*43#'
option cw_off '#43#'
option cw_status '*#43#'
option call_return '*69'
option redial '*66'
option is_fax '0'
option transport 'udp'
option 'call_return' '*69'
option 'redial' '*66'
option 'is_fax' '0'
option 'transport' 'udp'
config tone_setting 'toneringbk'
config tone_setting 'tonering'
config tone_setting 'tonebusy'
config cdr_log 'CDR_LOG'
option cdr_syslog '0'

View File

@@ -1,6 +1 @@
rtpstart=$(uci -q get voice_client.SIP.rtpstart)
rtpstart=${rtpstart:-10000}
rtpend=$(uci -q get voice_client.SIP.rtpend)
rtpend=${rtpend:-20000}
iptables -I zone_wan_input -m udp -p udp --dport $rtpstart:$rtpend -m comment --comment "!fw3: Allow-RTP" -j ACCEPT
iptables -I zone_wan_input 4 -m udp -p udp --dport 10000:20000 -m comment --comment "!fw3: Allow-RTP" -j ACCEPT

View File

@@ -1,7 +1,8 @@
#!/bin/sh /etc/rc.common
#
# The purpose of this file is to (re)create asterisk
# configuration files from voice_client UCI config file.
# This file is part of luci-app-voice,
# its purpose is to (re)create asterisk configuration files
# from luci config file(s).
#
. /lib/functions.sh
. /lib/functions/network.sh
@@ -16,13 +17,10 @@ START=60
USE_PROCD=1
# Some global variables
SERIAL="$(getSerial)"
BASEMAC="$(getBaseMAC)"
BASEMAC="${BASEMAC//:}"
LINENAME="$(getLineName)"
CHANNELNAME="$(getChannelName)"
SERIAL=$(getSerial)
BASEMAC=$(getBaseMAC)
MODULENAME=voice
USERAGENT="iopsys_${SERIAL}_${BASEMAC}"
USERAGENT="Inteno_${SERIAL}_${BASEMAC}"
ASTUSER=nobody
ASTGROUP=nogroup
@@ -34,7 +32,7 @@ ASTERISKDIR=/etc/asterisk
WORKDIR=/tmp/$MODULENAME.$$
MD5SUMSFILE=/tmp/$MODULENAME-sums.$$
# Whitespace separated list of $CHANNELNAME feature access codes
# Whitespace separated list of $(getChannelName) feature access codes
CHANNEL_FAC=
#TODO: go through templates, check usage
@@ -84,9 +82,8 @@ TMPL_ACL=$TEMPLATEDIR/acl.conf.TEMPLATE
TMPL_CONFBRIDGE=$TEMPLATEDIR/confbridge.conf.TEMPLATE
TMPL_UDPTL=$TEMPLATEDIR/udptl.conf.TEMPLATE
TMPL_CHANNEL=$TEMPLATEDIR/$LINENAME.conf.TEMPLATE
TMPL_CHANNEL=$TEMPLATEDIR/$(getLineName).conf.TEMPLATE
TMPL_CHANNEL_LINE=$TEMPLATEDIR/tel_line.TEMPLATE
TMPL_TONE_LINE=$TEMPLATEDIR/tone.conf.TEMPLATE
TMPL_MEETME=$TEMPLATEDIR/meetme.conf.TEMPLATE
@@ -185,7 +182,7 @@ assemble_and_copy_config()
mv $WORKDIR/sip_registrations.tmp $WORKDIR/sip_registrations.conf
mv $WORKDIR/sip_providers.tmp $WORKDIR/sip_providers.conf
mv $WORKDIR/sip_users.tmp $WORKDIR/sip_users.conf
mv $WORKDIR/$LINENAME.tmp $WORKDIR/$LINENAME.conf
mv $WORKDIR/$(getLineName).tmp $WORKDIR/$(getLineName).conf
mv $WORKDIR/extensions.tmp $WORKDIR/extensions.conf
mv $WORKDIR/codecs.tmp $WORKDIR/codecs.conf
mv $WORKDIR/rtp.tmp $WORKDIR/rtp.conf
@@ -208,7 +205,7 @@ assemble_and_copy_config()
[ ! -d $ASTERISKDIR/manager.d ] && mkdir -p $ASTERISKDIR/manager.d/
# Get rid of the working directory
rm -rf $WORKDIR
rm -rf $WORKDIR
}
# read configured codecs for a Line section
@@ -255,43 +252,95 @@ read_codecs_ptime()
# returns a list of lines, formatted to replace a tag with sed
# in a Dial() command
#
# For backwards compatibility, if i is only a number (not prefixed by
# "SIP/" or "CHANNEL/") then add "CHANNEL/"
#
read_lines()
{
local line call_lines lineid ldx lines llength clength
local loffset=$(ubus -t 1 call voice.asterisk platform | jsonfilter -e @.lineoffset)
loffset=${loffset:-0}
local lines=""
local call_lines
local fxsIdx fxsEpt dectIdx dectEpt
# Are lines already set by user conf?
config_get call_lines $1 call_lines
for line in $call_lines ; do
# Otherwise set default depending on board HW. This
# is only done at very first boot or a default reset.
if test -z "$call_lines"; then
# Get all FSX voice endpoints. Translate to uppercase with awk
# due to tr [:upper:] doesn't work in our BusyBox.
voicePorts=$(db get hw.board.VoicePortOrder | \
awk '{ print toupper($0) }' | \
sed -e "s/\([[:alpha:]]*\)\([[:digit:]]\)/\1\/\2/g")
voiceNames=$(db get hw.board.VoicePortNames)
hasVoice=0
# convert line format to <LINENAME><LINEID>
case $line in
[0-9])
line="$LINENAME$line"
;;
"$CHANNELNAME"/[0-9])
clength=$(echo $CHANNELNAME | wc -c)
line="$LINENAME${line:$clength}"
;;
if test $(db get hw.board.hasVoice) = "1"; then
# Get the first FSX voice endpoint index by
# searching for the name usually used.
fxsIdx=$(echo $voiceNames | \
awk -e '{
i = 1;
while(i <= NF && tolower($i) !~ /^tel.*$/) {
i++;
}
print i;
}'
)
# Convert index to endpoint ID
if test $fxsIdx -gt 0; then
fxsEpt=$(echo $voicePorts | awk '{ print $'$fxsIdx' }')
fi
hasVoice=1
fi
if test $(db get hw.board.hasDect) = "1"; then
# Get the first Dect voice endpoint index by
# searching for the name usually used.
dectIdx=$(echo $voiceNames | \
awk -e '{
i = 1;
while(i <= NF && tolower($i) !~ /^dect.*$/) {
i++;
}
print i;
}
')
if test $dectIdx -gt 0; then
dectEpt=$(echo $voicePorts | awk '{ print $'$dectIdx' }')
fi
hasVoice=1
fi
if test $hasVoice -eq 1; then
call_lines="$dectEpt $fxsEpt"
# Remove leading/trailing spaces
call_lines=$(echo $call_lines | xargs echo -n)
# If we didn't find any endpoint ID we
# fallback to activate them all.
if test -z "$call_lines"; then
call_lines="$voicePorts"
fi
fi
# Save the endpoint IDs we found where the
# GUI expects to find them.
uci_set voice_client "${1}" "call_lines" "$call_lines"
uci_commit voice_client
fi
for i in $call_lines ; do
case $i in
''|*[!0-9]*) lines=$lines"$i&" ;;
*) lines=$lines"$(getChannelName)/$i&" ;;
esac
# get the index from line name
# llength=$(echo $LINENAME | wc -c)
# lineid="${lineid:$llength}"
# get the index from uci config order
lineid="$(uci show voice_client | grep =tel_line | grep -wn $line | cut -d ':' -f1)"
[ -n "$lineid" ] || continue
# -1 to match the line's uci config index number
# +loffset to match the correct number in channel driver
ldx=$((lineid-1+loffset))
lines="$lines$CHANNELNAME/$ldx&"
done
lines=$(escape_sed_substitution $lines)
echo "${lines%??}"
}
@@ -983,9 +1032,9 @@ configure_queue()
do
local out=""
re='^[0-9]+$'
num=${member#$LINENAME}
num=${member#$(getLineName)}
if [ -z "${num##[0-9]*}" ] ; then
out="$CHANNELNAME/$num"
out="$(getChannelName)/$num"
else
local sip_user
config_get sip_user $member user
@@ -1639,7 +1688,7 @@ configure_extensions_provider()
echo "exten => $user,n(norewrite),NoOp()">> $tmp
# read a list of lines that should be dialled on incoming calls
incoming_lines="$(read_lines $1)"
incoming_lines=$(read_lines $1)
config_get call_queue $1 call_queue
config_get call_ivr $1 call_ivr
if [ -n "$incoming_lines" ]; then
@@ -1688,7 +1737,7 @@ configure_tel_line_extension()
local cbbs_retrytime
local cbbs_waittime
local mailbox
local line_name=$LINENAME
local line_name=$(getLineName)
line=${1:${#line_name}}
config_get extension $1 extension
@@ -1793,11 +1842,11 @@ configure_codecs()
}
#
# Configure default settings for $LINENAME.conf
# Configure default settings for $(getLineName).conf
#
configure_tel()
{
echo "Configuring $CHANNELNAME"
echo "Configuring $(getChannelName)"
local jbenable
local jbforce
local jbmaxsize
@@ -1824,64 +1873,29 @@ configure_tel()
dialoutmsec=4000
fi
sed -i "s/|JBENABLE|/$jbenable/" $WORKDIR/$LINENAME.tmp
sed -i "s/|JBFORCE|/$jbforce/" $WORKDIR/$LINENAME.tmp
sed -i "s/|JBMAXSIZE|/$jbmaxsize/" $WORKDIR/$LINENAME.tmp
sed -i "s/|JBIMPL|/$jbimpl/" $WORKDIR/$LINENAME.tmp
sed -i "s/|DIALOUTMSEC|/$dialoutmsec/" $WORKDIR/$LINENAME.tmp
sed -i "s/|FAC|/$CHANNEL_FAC/" $WORKDIR/$LINENAME.tmp
sed -i "s/|CHANNELS|/$(db get hw.board.VoicePorts)/" $WORKDIR/$LINENAME.tmp
sed -i "s/|ECHOCANCEL|/$(getEchoCancellingValue $echocancel)/" $WORKDIR/$LINENAME.tmp
sed -i "s/|JBENABLE|/$jbenable/" $WORKDIR/$(getLineName).tmp
sed -i "s/|JBFORCE|/$jbforce/" $WORKDIR/$(getLineName).tmp
sed -i "s/|JBMAXSIZE|/$jbmaxsize/" $WORKDIR/$(getLineName).tmp
sed -i "s/|JBIMPL|/$jbimpl/" $WORKDIR/$(getLineName).tmp
sed -i "s/|DIALOUTMSEC|/$dialoutmsec/" $WORKDIR/$(getLineName).tmp
sed -i "s/|FAC|/$CHANNEL_FAC/" $WORKDIR/$(getLineName).tmp
sed -i "s/|CHANNELS|/$(db get hw.board.VoicePorts)/" $WORKDIR/$(getLineName).tmp
sed -i "s/|ECHOCANCEL|/$(getEchoCancellingValue $echocancel)/" $WORKDIR/$(getLineName).tmp
if [ "$dtmfmode" == "compatibility" ] ; then
dtmfcompatibility="1"
else
dtmfcompatibility="0"
fi
sed -i "s/|DTMFCOMPATIBILITY|/$dtmfcompatibility/" $WORKDIR/$LINENAME.tmp
sed -i "s/|DTMFCOMPATIBILITY|/$dtmfcompatibility/" $WORKDIR/$(getLineName).tmp
}
configure_tone_setting()
{
local frequency
local frequency_sec
local impedance
local outputlevel
config_get frequency $1 frequency
config_get frequency_sec $1 frequency_sec
config_get impedance $1 impedance
config_get outputlevel $1 outputlevel
if [ -z "$frequency" ]; then
frequency=100
fi
if [ -z "$frequency_sec" ]; then
frequencyB=200
fi
if [ -z "$impedance" ]; then
impedance=100
fi
if [ -z "$outputlevel" ]; then
outputlevel=350
fi
cp $TMPL_TONE_LINE $WORKDIR/tel_line.tmp
sed -i "s/|SECTION|/$1/" $WORKDIR/tel_line.tmp
sed -i "s/|FREQUENCY|/$frequency/" $WORKDIR/tel_line.tmp
sed -i "s/|FREQUENCY|/$frequency_sec/" $WORKDIR/tel_line.tmp
sed -i "s/|FREQUENCY|/$impedance/" $WORKDIR/tel_line.tmp
sed -i "s/|FREQUENCY|/$outputlevel/" $WORKDIR/tel_line.tmp
cat $WORKDIR/tel_line.tmp >> $WORKDIR/$LINENAME.tmp
rm -f $WORKDIR/tel_line.tmp
}
#
# Configure settings for individual line in $LINENAME.conf
# Configure settings for individual line in $(getLineName).conf
#
configure_tel_line()
{
echo "Configuring $(getChannelName) line $1"
local extension
local sip_provider
local codecs
@@ -1928,7 +1942,6 @@ configure_tel_line()
fi
cp $TMPL_CHANNEL_LINE $WORKDIR/tel_line.tmp
sed -i "s/|SECTION|/$1/" $WORKDIR/tel_line.tmp
sed -i "s/|CALLERID|/$extension/g" $WORKDIR/tel_line.tmp
sed -i "s/|CONTEXT|/$sip_provider/g" $WORKDIR/tel_line.tmp
@@ -1939,9 +1952,9 @@ configure_tel_line()
sed -i "s/|DTMFRELAY|/$dtmfmode/" $WORKDIR/tel_line.tmp
sed -i "s/|CALLWAITING|/$callwaiting/" $WORKDIR/tel_line.tmp
sed -i "s/|CLIR|/$clir/" $WORKDIR/tel_line.tmp
sed -i "s/|LINE_NAME|/$LINENAME/" $WORKDIR/tel_line.tmp
sed -i "s/|LINE_NAME|/$(getLineName)/" $WORKDIR/tel_line.tmp
#Configure CHANNEL line with codecs according to the SIP line settings
#Configure CHANNEL line with codecs according to the SIP line settings
# local is_fax
# config_get is_fax $sip_provider is_fax
# if [ -z "$is_fax" -o "$is_fax" = "1" ] ; then
@@ -1950,7 +1963,7 @@ configure_tel_line()
# sed -i "s/|ALLOW|/$(read_codecs $sip_provider)/" $WORKDIR/tel_line.tmp
# fi
cat $WORKDIR/tel_line.tmp >> $WORKDIR/$LINENAME.tmp
cat $WORKDIR/tel_line.tmp >> $WORKDIR/$(getLineName).tmp
rm -f $WORKDIR/tel_line.tmp
}
@@ -2050,14 +2063,14 @@ pbx_fix_ownership()
}
#
# Calculate a name for each $LINENAME line, depending on port type
# Calculate a name for each $(getLineName) line, depending on port type
# and number. The name is used to make UI look better.
#
set_line_name()
{
local maxlinenum=$2
local curname name_ix ix item lnum
local line_name=$LINENAME
local line_name=$(getLineName)
local line_name_len=${#line_name}
local tel_line=$1
@@ -2163,7 +2176,7 @@ start_service() {
cp $TMPL_SIP $WORKDIR/sip.tmp
cp $TMPL_RTP $WORKDIR/rtp.tmp
cp $TMPL_STUN $WORKDIR/res_stun_monitor.tmp
cp $TMPL_CHANNEL $WORKDIR/$LINENAME.tmp
cp $TMPL_CHANNEL $WORKDIR/$(getLineName).tmp
cp $TMPL_CODECS $WORKDIR/codecs.tmp
cp $TMPL_VOICEMAIL $WORKDIR/voicemail.tmp
cp $TMPL_DNSMGR $WORKDIR/dnsmgr.tmp
@@ -2214,7 +2227,6 @@ start_service() {
config_foreach configure_tel_line_extension tel_line
config_foreach create_extensions_dialtone tel_line
configure_codecs
config_foreach configure_tone_setting tone_setting
###########################
# Voicemail configuration
@@ -2279,17 +2291,16 @@ stop_service() {
reload_service() {
start
# turn off voice led; asterisk will turn it on if there is a registered account
#stop
# turn off voice led; asterisk will turn it on
# if there is a registered account
ubus call led.voice1 set '{"state":"off"}'
# FXS channel module must be reloaded before sip module. Otherwise some attributes like
# line's registration state which is updated by SIP module through callback might be
# reset.
asterisk -rx "$(getChipVendor) reload"
asterisk -rx "config reload $ASTERISKDIR/sip.conf"
sleep 1
asterisk -rx "core reload"
asterisk -rx "dialplan reload"
asterisk -rx "$(getChipVendor) reload"
}
service_triggers() {

View File

@@ -5,7 +5,6 @@
# Adapt to config section name changes
grep -q brcm_line /etc/config/voice_client && sed -i 's/brcm_line/tel_line/g' /etc/config/voice_client
grep -q brcm_advanced /etc/config/voice_client && sed -i 's/brcm_advanced/tel_advanced/g' /etc/config/voice_client
grep -q BRCM /etc/config/voice_client && sed -i 's/BRCM\///g' /etc/config/voice_client
grep -q BRCM /etc/config/voice_client && sed -i 's/BRCM/TEL/g' /etc/config/voice_client
# Add call filter section

View File

@@ -43,32 +43,3 @@ getEchoCancellingValue() {
;;
esac
}
supportedCountries() {
echo "Australia:AUS"
echo "Belgium:BEL"
echo "Brazil:BRA"
echo "Chile:CHL"
echo "China:CHN"
echo "Czech:CZE"
echo "Denmark:DNK"
echo "ETSI:ETS"
echo "Finland:FIN"
echo "France:FRA"
echo "Germany:DEU"
echo "Hungary:HUN"
echo "India:IND"
echo "Italy:ITA"
echo "Japan:JPN"
echo "Netherlands:NLD"
echo "New Zealand:NZL"
echo "North America:USA"
echo "Spain:ESP"
echo "Sweden:SWE"
echo "Switzerland:CHE"
echo "Norway:NOR"
echo "Taiwan:TWN"
echo "United Kingdoms:GRB"
echo "United Arab Emirates:ARE"
echo "CFG TR57:T57"
}

View File

@@ -14,12 +14,12 @@ getLineName() {
}
getSerial() {
sernum="$(fw_printenv -n serial_number 2> /dev/null)"
sernum=$(fw_printenv -n serial_number) 2> /dev/null
if [ $? ]; then
echo $sernum
else
echo 0
else
echo $sernum
fi
}
@@ -50,7 +50,3 @@ getEchoCancellingValue() {
;;
esac
}
supportedCountries() {
echo "ETSI:ETS"
}

View File

@@ -5,7 +5,7 @@
case "$1" in
list)
echo '{ "status" : {}, "lines" : {}, "codecs" : {}, "call_log" : {}, "platform" : {}, "supported_countries" : {} }'
echo '{ "status" : {}, "lines" : {}, "codecs" : {}, "call_log" : {}, "platform" : {} }'
;;
call)
@@ -104,13 +104,11 @@ case "$1" in
from="$(echo $line | cut -d',' -f2)"
to="$(echo $line | cut -d',' -f3)"
callok=0
uci show voice_client | grep user | grep -wq "$from\|$to" && callok=1
uci show voice_client | grep user | grep -wq "$from" && callok=1
uci show voice_client | grep user | grep -wq "$to" && callok=1
[ $callok -eq 0 ] && continue
account="$(echo $line | cut -d',' -f4)"
actok=0
uci show voice_client | grep sip_service_provider | grep -wq "$account" && actok=1
[ "$account" == "call_line" ] && actok=1
[ $actok -eq 0 ] && continue
uci show voice_client | grep sip_service_provider | grep -wq "$account" || continue
timestart="$(echo $line | awk -F',' '{print $(NF-8)}')"
timend="$(echo $line | awk -F',' '{print $(NF-6)}')"
startdate=$(date -u -d "$timestart" +"%s")
@@ -148,22 +146,6 @@ case "$1" in
json_dump
;;
supported_countries)
vcf="/tmp/voice.supported_countries"
supportedCountries > $vcf
json_init
json_add_array countries
while IFS= read -r line
do
json_add_object ""
json_add_string country "$(echo $line | cut -d':' -f1)"
json_add_string code "$(echo $line | cut -d':' -f2)"
json_select ..
done < "$vcf"
json_dump
rm -f $vcf
;;
esac
;;
esac

View File

@@ -49,11 +49,6 @@ set_ringing_schedule() {
stop_hour=$(echo $stop | awk -F ':' '{print$1}')
stop_min=$(echo $stop | awk -F ':' '{print$2}')
[ "${start_min//[0-9]/}" = "" ] || return
[ "${start_hour//[0-9]/}" = "" ] || return
[ "${stop_min//[0-9]/}" = "" ] || return
[ "${stop_hour//[0-9]/}" = "" ] || return
daymatch=0
for day in $days; do
[ "${day:0:3}" == "$current_day" ] && daymatch=1
@@ -61,8 +56,6 @@ set_ringing_schedule() {
[ -n "$dayns" ] && dayns="$dayns,$dayn" || dayns="$dayn"
done
[ "${dayns//[0-6,\-]/}" = "" ] || return
if [ $daymatch -eq 1 -a $current_time -gt ${start/:/} -a $current_time -lt ${stop/:/} ]; then
timematch=1
uci -q set voice_client.RINGING_STATUS.shouldring="$status"

View File

@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=wifilife
PKG_VERSION:=1.0.3
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=37d199b928f444710ab1ad0538f9f40650f5608c
PKG_SOURCE_VERSION:=837631d44eafa3827a1c1c1603540658744f4a9a
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
ifeq ($(CONFIG_WIFILIFE_OPEN),y)
@@ -52,8 +52,10 @@ TARGET_CFLAGS += \
MAKE_PATH:=src
define Package/wifilife/install
$(INSTALL_DIR) $(1)/etc
$(CP) -r ./files/* $(1)/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/wifilife.init $(1)/etc/init.d/wifilife
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) ./files/etc/uci-defaults/* $(1)/etc/uci-defaults/
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/wifiagent $(1)/usr/sbin/
endef

View File

@@ -1,67 +0,0 @@
#!/bin/sh
. /lib/functions/mbid.sh
remove_mbid_rules() {
old_rules="$(cat "/tmp/mbid_rules" 2>/dev/null)"
IFS=$'\n'
for old_rule in $old_rules; do
old_rule=${old_rule/-A /-D }
eval $old_rule 2>/dev/null
done
rm /tmp/mbid_rules
}
# read firewall parental rules and add repeated addresses
append_mbid_rules() {
[ "$(uci -q get owsd.ubusproxy.enable)" == "1" ] || return
octets=$(get_octets)
mobid=$(get_mobid)
[ -z "$mobid" -o -z "$octets" ] && return
rule=""
oct2="$(echo $mobid | awk '{print $1}')"
oct3="$(echo $mobid | awk '{print $2}')"
rules="$(cat /tmp/fw3.rules.ipv4 | grep -i forward | grep -i "\-\-mac\-source")"
[ -z "$rules" ] && return
IFS=$'\n'
for rule in $rules; do
chain="$(echo $rule | awk '{print tolower($5)}')"
[ -z "$chain" -o "$chain" != "forward" ] && continue
# delete rule, replace --append with --delete
del_rule=${rule/-A /-D }
while [ -z "$(eval "$del_rule" 2>&1)" ]; do
:
done
mac=$(echo $rule | awk '{print $9}')
# re-append rule
eval $rule
rpt_macs=$(repeated_macs $octets $oct2 $oct3 $mac | awk '{print toupper($0)}')
> /tmp/mbid_rules
for rpt_mac in $rpt_macs; do
[ -z "$rpt_mac" ] && continue
rpt_rule=${rule/$mac/$rpt_mac}
del_rule=${rpt_rule/-A /-D }
while [ -z "$(eval "$del_rule" 2>&1)" ]; do
:
done
eval $rpt_rule
echo $rpt_rule >> /tmp/mbid_rules
done
done
}
while [ -f /tmp/mbid.lock ]; do
sleep 2
done
touch /tmp/mbid.lock
remove_mbid_rules
append_mbid_rules
rm /tmp/mbid.lock

View File

@@ -1,21 +0,0 @@
{
"if" : [
{
"event": "ubus.object.add",
"regex": true,
"match": {
"path":".*\/wifi\\.agent"
}
}
],
"then" : [
{
"object": "file",
"method":"exec",
"args": {
"command": "sh",
"params": ["/etc/firewall.mbid"]
}
}
]
}

View File

@@ -3,13 +3,11 @@
. /lib/functions.sh
add_owsd_object_wifi() {
uci -q del_list owsd.ubusproxy.object="router.system"
uci -q del_list owsd.ubusproxy.object="wifix"
uci -q del_list owsd.ubusproxy.object="wifi.*"
uci -q add_list owsd.ubusproxy.object="router.system"
uci -q add_list owsd.ubusproxy.object="wifix"
uci -q add_list owsd.ubusproxy.object="wifi.*"
uci commit owsd
local wifi=$(uci -q get owsd.ubusproxy.object | grep wifi*)
if [ -z "$wifi" ]; then
uci -q add_list owsd.ubusproxy.object="wifi*"
uci commit owsd
fi
}
add_dnsmasq_lease_hwmask() {
@@ -20,27 +18,5 @@ add_dnsmasq_lease_hwmask() {
fi
}
add_firewall_mbid() {
local ubusx="$(uci -q get owsd.ubusproxy.enable)"
if [ -f /etc/firewall.mbid ]; then
uci -q get firewall.mbid || {
uci -q set firewall.mbid=include
uci -q set firewall.mbid.path="/etc/firewall.mbid"
uci -q set firewall.mbid.reload=1
uci del_list firewall.mbid._access_w=root
uci add_list firewall.mbid._access_w=root
uci commit firewall
}
fi
}
add_ruleng_section() {
uci -q add ruleng rule
uci -q set ruleng.@rule[-1].recipe='/etc/ruleng/mbid.json'
uci commit ruleng
}
add_owsd_object_wifi
add_dnsmasq_lease_hwmask
add_firewall_mbid
add_ruleng_section

View File

@@ -1,147 +0,0 @@
#!/bin/sh /etc/rc.common
. /usr/share/libubox/jshn.sh
. /lib/functions.sh
mobid_cb() {
local device mobility_domain
config_get device $1 device
[ "$device" != "$2" ] && return;
config_get mobility_domain $1 mobility_domain
echo "$mobility_domain"
}
_get_mobid() {
vif=$1
config_load wireless
mobid="$(config_foreach mobid_cb wifi-iface $vif)"
echo $mobid
}
repeated_macs() {
octets=$1
oct2=$2
oct3=$3
mac=$4
macs=""
oct456=${mac:9}
[ -z "$octets" -o -z "$oct2" -o -z "$oct3" -o -z "$mac" -o -z "$oct456" ] && return
IFS=$' '
for oct1 in $octets; do
macs="$oct1:$oct2:$oct3:$oct456 $macs"
done
echo "$macs"
}
# transform a mac address to all possibly repeated - recommended when parsing one or few MACs
mac_to_repeated() {
mac=$1
octets=""
oct2=""
oct3=""
octets=$(get_octets)
mobid=$(get_mobid)
[ -z "$mobid" -o -z "$octets" ] && return
oct2="$(echo $mobid | awk '{print $1}')"
oct3="$(echo $mobid | awk '{print $2}')"
echo "$(repeated_macs $octets $oct2 $oct3 $mac)"
}
assocl_match_mac() {
mac=$1
res="$(ubus call wifix assoclist 2>/dev/null)"
json_load "$res"
json_select assoclist 2>/dev/null
json_get_keys keys
IFS=$' '
for key in $keys; do
json_select $key 2>/dev/null
json_get_var macaddr macaddr
json_select ..
[ "$macaddr" = "$mac" ] || continue
octet=$(echo $macaddr | cut -c1-2)
echo "$octet"
done
}
get_octet() {
ip=$1
res="$(ubus call router.net arp 2>/dev/null)"
json_load "$res"
json_select table 2>/dev/null
json_get_keys keys
IFS=$' '
for key in $keys; do
json_select $key 2>/dev/null
json_get_var ipaddr ipaddr
json_get_var macaddr macaddr
json_select ..
[ "$ipaddr" = "$ip" ] || continue
echo "$(assocl_match_mac $macaddr)"
done
}
# only get all first octets - use when parsing several MACS
get_octets() {
octets=""
assoclist=""
neighbors=""
objects=$(ubus list | grep -E '.*\/wifix$')
[ -z "$objects" ] && return
for obj in $objects; do
ip=$(echo $obj | cut -d'/' -f1)
octet="$(get_octet $ip)"
[ "$octets" != "${octets/$octet/}" ] && continue
octets="$octet $octets"
done
echo "$octets"
}
# get only mobid - use when parsing several MACS
get_mobid() {
mobid="500"
radios="$(ubus -t1 call wifix radios 2>/dev/null)"
[ -z "$radios" ] && return
json_load "$radios"
json_get_keys keys
IFS=$' '
for key in $keys; do
val="$(_get_mobid $key)"
[ -n "$val" ] && mobid=$val;
done
mobid=$(printf "%04x" $mobid)
# if little endian
if [ "$(echo -n I | hexdump -o | awk '{ print substr($2,6,1); exit}')" = "1" ]; then
oct2=${mobid:2}
oct3=${mobid%??}
else
oct2=${mobid%??}
oct3=${mobid:2}
fi
echo "$oct2 $oct3"
}

View File

View File

@@ -8,7 +8,7 @@ PKG_NAME:=wifimngr
PKG_VERSION:=1.0.2
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=9cd787def3934610ed790d75cfba3208a84fcd81
PKG_SOURCE_VERSION:=659602bc62a244d5b53e452b7ee10ff846f03d01
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/wifimngr.git
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>