mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-25 11:33:53 +08:00
Compare commits
98 Commits
netmode_de
...
release-4.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
96b37bdc8e | ||
|
|
97f1fe5b4e | ||
|
|
c3304df752 | ||
|
|
4cfc1561b5 | ||
|
|
67c65e34a0 | ||
|
|
3742f46d8b | ||
|
|
6a239cbe26 | ||
|
|
15abb21724 | ||
|
|
d3e0ee8f61 | ||
|
|
f518a0e99b | ||
|
|
53f8fb4bd1 | ||
|
|
d716c6cf33 | ||
|
|
599e2571e2 | ||
|
|
2f56e18c17 | ||
|
|
b6cac117d2 | ||
|
|
988c839f07 | ||
|
|
356786fc7c | ||
|
|
fbaea1e0bd | ||
|
|
78c9324100 | ||
|
|
3e9566d524 | ||
|
|
1108eb3870 | ||
|
|
1d178c2595 | ||
|
|
a4d0901657 | ||
|
|
caa85e8e95 | ||
|
|
13453642c0 | ||
|
|
3232de2cce | ||
|
|
d38f0b3928 | ||
|
|
0f6a084dc6 | ||
|
|
ada3f19ee7 | ||
|
|
03ffddecb0 | ||
|
|
5ff63b50be | ||
|
|
5e6e53fd23 | ||
|
|
efba9ffd18 | ||
|
|
19498a8b8b | ||
|
|
93e3f244c6 | ||
|
|
583cf16c17 | ||
|
|
0ba552ccd6 | ||
|
|
83ba0ce4e2 | ||
|
|
2be1987584 | ||
|
|
fb0b485c75 | ||
|
|
fa54aa62ce | ||
|
|
ba5c622190 | ||
|
|
3508679b87 | ||
|
|
b70824f551 | ||
|
|
0a0d08e799 | ||
|
|
2f1edb86cb | ||
|
|
a483e38fc2 | ||
|
|
72c5659ff5 | ||
|
|
9837a2291d | ||
|
|
a49d19a109 | ||
|
|
40c426ca09 | ||
|
|
5f284ef085 | ||
|
|
f1bfa0ba6c | ||
|
|
35ba7ccc5f | ||
|
|
217f0688bd | ||
|
|
a60bc76a51 | ||
|
|
26dca67171 | ||
|
|
a5e8074128 | ||
|
|
1a260973a6 | ||
|
|
5a885bbe43 | ||
|
|
d0ae324c7e | ||
|
|
3eee217141 | ||
|
|
e8e585a97e | ||
|
|
3ac5877e48 | ||
|
|
c3e0749ec4 | ||
|
|
36aea45a9d | ||
|
|
0c944171db | ||
|
|
c206a94467 | ||
|
|
84c725ffc9 | ||
|
|
a88886fe01 | ||
|
|
45cdb5e693 | ||
|
|
914d5a3c95 | ||
|
|
25e1f14ac5 | ||
|
|
25e6850872 | ||
|
|
44fe86afc4 | ||
|
|
ef888ca6df | ||
|
|
158360fb0f | ||
|
|
f1ec27c981 | ||
|
|
53e76b07fc | ||
|
|
89cec74db5 | ||
|
|
bd0a60d108 | ||
|
|
feb648a8c5 | ||
|
|
dc660a7ad9 | ||
|
|
742cdbcf2d | ||
|
|
2f3551e643 | ||
|
|
29e635516d | ||
|
|
d4c6078f24 | ||
|
|
8ad83b1252 | ||
|
|
0e2154bb0d | ||
|
|
dbc9aa37c7 | ||
|
|
e0687449cc | ||
|
|
fc9a912cb5 | ||
|
|
54d5855ad9 | ||
|
|
b0054ba9c7 | ||
|
|
a5a3f56ee7 | ||
|
|
2fc025e8c5 | ||
|
|
44cf5757fc | ||
|
|
0cf9177ea3 |
@@ -103,18 +103,18 @@ validate_rule_section()
|
||||
|
||||
# Clear existing rules before applying new rules
|
||||
clear_existing_rules() {
|
||||
local rule=$(iptables -t mangle -S OUTPUT|grep -m 1 MARK |sed 's/-A/-D/1')
|
||||
local rule=$(iptables -t mangle -S PREROUTING | grep -m 1 MARK |sed 's/-A/-D/1')
|
||||
while [ -n "${rule}" ]; do
|
||||
exec_log iptables -t mangle ${rule}
|
||||
rule=$(iptables -t mangle -S OUTPUT|grep -m 1 MARK |sed 's/-A/-D/1')
|
||||
rule=$(iptables -t mangle -S PREROUTING | grep -m 1 MARK |sed 's/-A/-D/1')
|
||||
done
|
||||
}
|
||||
|
||||
check_and_create() {
|
||||
iptables -t mangle -C OUTPUT ${@} 2>/dev/null
|
||||
iptables -t mangle -C PREROUTING ${@} 2>/dev/null
|
||||
# Create rule if not exists
|
||||
if [ ${?} -ne 0 ]; then
|
||||
exec_log iptables -t mangle -A OUTPUT ${@}
|
||||
exec_log iptables -t mangle -A PREROUTING ${@}
|
||||
else
|
||||
log "Rule exists for ${@}"
|
||||
fi
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=easy-soc-libs
|
||||
PKG_VERSION:=1.0.1
|
||||
PKG_VERSION:=1.0.14
|
||||
PKG_RELEASE:=1
|
||||
|
||||
LOCAL_DEV=0
|
||||
ifneq ($(LOCAL_DEV),1)
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=a0ec330f74d0ef5ec6d7e61ac4079de9c93f36ab
|
||||
PKG_SOURCE_VERSION:=76a0b60abe97499e4fe83bffd5fd698ba8b336bc
|
||||
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
|
||||
|
||||
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=0.2
|
||||
PKG_SOURCE_VERSION:=631e61b7ab5d86f2f4c86756a117badff9fb0f2c
|
||||
PKG_SOURCE_VERSION:=ef49d57c3824df4dfb4921d39461e2bd14f918a7
|
||||
|
||||
|
||||
ifeq ($(CONFIG_ENDPT_OPEN),y)
|
||||
@@ -17,8 +17,9 @@ BRCM_KERNEL_PROFILE=$(shell echo $(CONFIG_BCM_KERNEL_PROFILE) | sed s/\"//g)
|
||||
PKG_SOURCE:=endptmngr-$(BRCM_KERNEL_PROFILE)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://iopsys.inteno.se/iopsys/consumer/
|
||||
PKG_NAME:=endptmngr-open
|
||||
PATCH_DIR:=
|
||||
else
|
||||
PKG_SOURCE_URL:=git@dev.iopsys.eu:iopsys/endptmngr
|
||||
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/endptmngr.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_NAME:=endptmngr
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#include <linux/types.h>
|
||||
|
||||
#define SK9822_DEFAULT_NUM_LEDS 32 // U16, used if DT param fails
|
||||
#define SK9822_DEFAULT_BRIGHTNESS 1 // 5-bit brightness, 0-31
|
||||
#define SK9822_DEFAULT_BRIGHTNESS 15 // 5-bit brightness, 0-31
|
||||
|
||||
typedef struct {
|
||||
uint8_t b;
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
|
||||
config ICE_OPEN
|
||||
bool "Use pre-compiled version for Open SDK"
|
||||
default n
|
||||
1046
ice-client/Makefile
1046
ice-client/Makefile
File diff suppressed because it is too large
Load Diff
@@ -1,74 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
grep -rq "^ice:" /etc/passwd || {
|
||||
adduser -D -H -s /bin/false ice
|
||||
}
|
||||
|
||||
uci -q delete passwords.ice
|
||||
uci -q set passwords.ice=usertype
|
||||
uci -q set passwords.ice.password="\$WPAKEY"
|
||||
uci -q del_list passwords.ice._access_w=root
|
||||
uci -q add_list passwords.ice._access_w=root
|
||||
uci -q del_list passwords.ice._access_r=root
|
||||
uci -q add_list passwords.ice._access_r=root
|
||||
uci -q commit passwords
|
||||
|
||||
uci show rpcd | grep username=.*ice.* >/dev/null || {
|
||||
cat >> /etc/config/rpcd << EOF
|
||||
|
||||
config login
|
||||
option username 'ice'
|
||||
option password '\$p\$ice'
|
||||
list _access_w 'none'
|
||||
list write 'user-user'
|
||||
list write 'juci-broadcom-dsl'
|
||||
list write 'juci-broadcom-dsl-admin'
|
||||
list write 'juci-broadcom-ethernet'
|
||||
list write 'juci-broadcom-iptv'
|
||||
list write 'juci-broadcom-vlan'
|
||||
list write 'juci-broadcom-vlan-admin'
|
||||
list write 'juci-wireless'
|
||||
list write 'juci-wireless-admin'
|
||||
list write 'juci-catv'
|
||||
list write 'juci-ddns'
|
||||
list write 'juci-diagnostics'
|
||||
list write 'juci-dnsmasq-dhcp'
|
||||
list write 'juci-dropbear'
|
||||
list write 'juci-ethernet'
|
||||
list write 'juci-event'
|
||||
list write 'juci-firewall-fw3'
|
||||
list write 'juci-iconnect'
|
||||
list write 'juci-igmpinfo'
|
||||
list write 'juci-inteno-backup'
|
||||
list write 'juci-inteno-multiwan'
|
||||
list write 'juci-inteno-provisioning'
|
||||
list write 'juci-inteno-qos'
|
||||
list write 'juci-inteno-voice-client'
|
||||
list write 'juci-minidlna'
|
||||
list write 'juci-mod-status'
|
||||
list write 'juci-mod-system'
|
||||
list write 'juci-natalie-dect'
|
||||
list write 'juci-netmode'
|
||||
list write 'juci-network-netifd'
|
||||
list write 'juci-owsd'
|
||||
list write 'juci-printer'
|
||||
list write 'juci-realtime-graphs'
|
||||
list write 'juci-samba'
|
||||
list write 'juci-sfp'
|
||||
list write 'juci-snmpd'
|
||||
list write 'juci-sysupgrade'
|
||||
list write 'juci-uhttpd'
|
||||
list write 'juci-upnp'
|
||||
list write 'juci-usb'
|
||||
list write 'core'
|
||||
list write 'unauthenticated'
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
uci -q del_list dhcp.@domain[0].name="inteno.lan"
|
||||
uci -q add_list dhcp.@domain[0].name="inteno.lan"
|
||||
uci -q commit dhcp
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=icwmp
|
||||
PKG_VERSION:=4.0-2019-07-03
|
||||
PKG_VERSION:=4.0-2019-11-19
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/icwmp.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=b0f29f5102d5ade78b586d190abb521fcc668b78
|
||||
PKG_SOURCE_VERSION:=7491e611712afb6ebf88098a099b25ef8c2f0a8b
|
||||
PKG_RELEASE=$(PKG_SOURCE_VERSION)
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
@@ -41,4 +41,14 @@ set_cwmp_reqopts() {
|
||||
fi
|
||||
}
|
||||
|
||||
regenerate_ssl_link(){
|
||||
local cert_dir="/etc/ssl/certs"
|
||||
local all_file=$(ls $cert_dir/*.pem)
|
||||
for cfile in $all_file
|
||||
do
|
||||
ln -s $cfile $cert_dir/$(openssl x509 -hash -noout -in $cfile).0
|
||||
done
|
||||
}
|
||||
|
||||
set_cwmp_reqopts
|
||||
regenerate_ssl_link
|
||||
|
||||
@@ -8,7 +8,7 @@ include $(INCLUDE_DIR)/kernel.mk
|
||||
PKG_NAME:=ifbt
|
||||
PKG_VERSION:=0.1
|
||||
|
||||
PKG_SOURCE_VERSION:=0286812ed8036dea758f904694dc416481fba64d
|
||||
PKG_SOURCE_VERSION:=295262590c00e0e6683a51d28f6107b4678ebb8c
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/ifbt.git
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ PKG_NAME:=inbd
|
||||
PKG_VERSION:=1.0.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_VERSION:=665a72a6bb2b5ea5a17ad6248957fe35525b3782
|
||||
PKG_SOURCE_VERSION:=53ca7f58edb87976b5897ccaf487bb0cbbf39d07
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/inbd
|
||||
|
||||
|
||||
@@ -188,5 +188,5 @@ CONFIG_OPENVPN_openssl_ENABLE_IPROUTE2=y
|
||||
CONFIG_KERNEL_DEVTMPFS=y
|
||||
CONFIG_KERNEL_DEVTMPFS_MOUNT=y
|
||||
# CONFIG_BUSYBOX_CONFIG_IP is not set
|
||||
LOCAL_MIRROR="http://download.iopsys.eu/iopsys/mirror/"
|
||||
CONFIG_LOCALMIRROR="http://download.iopsys.eu/iopsys/mirror/"
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
function genconfig {
|
||||
export OPENSDK=0
|
||||
export CLEAN=0
|
||||
export IMPORT=1
|
||||
export SRCTREEOVERR=0
|
||||
@@ -11,6 +12,7 @@ function genconfig {
|
||||
CUSTPATH="customerconfigs"
|
||||
export CUSTCONF="customerconfigs/customers"
|
||||
export VERBOSE=0
|
||||
#always use the mirror
|
||||
export DEVELOPER=0
|
||||
target="bogus"
|
||||
config_path=""
|
||||
@@ -23,6 +25,16 @@ function genconfig {
|
||||
Color_Off='\033[0m' # Text Reset
|
||||
Yellow='\033[0;33m' # Yellow
|
||||
|
||||
bcmAllowed=0
|
||||
iceAllowed=0
|
||||
endptAllowed=0
|
||||
natalieAllowed=0
|
||||
mediatekAllowed=0
|
||||
wifilifeAllowed=0
|
||||
defaultConsumerAllowed=0
|
||||
baseURL=""
|
||||
|
||||
|
||||
function find_last {
|
||||
egrep "^[ #]*${1}[ =]" $2 | tail -n1
|
||||
}
|
||||
@@ -81,7 +93,6 @@ function genconfig {
|
||||
set_target() {
|
||||
local profile=$1
|
||||
|
||||
|
||||
[ -e $brcm63xx_mips/genconfig ] &&
|
||||
iopsys_brcm63xx_mips=$(cd $brcm63xx_mips; ./genconfig)
|
||||
[ -e $brcm63xx_arm/genconfig ] &&
|
||||
@@ -135,24 +146,6 @@ function genconfig {
|
||||
|
||||
}
|
||||
|
||||
git remote -v | grep -q http || {
|
||||
DEVELOPER=1
|
||||
|
||||
bcmAllowed=0
|
||||
iceAllowed=0
|
||||
endptAllowed=0
|
||||
natalieAllowed=0
|
||||
mediatekAllowed=0
|
||||
wifilifeAllowed=0
|
||||
|
||||
git ls-remote git@dev.iopsys.eu:broadcom/bcmcreator.git -q 2>/dev/null && bcmAllowed=1
|
||||
git ls-remote git@dev.iopsys.eu:mediatek/linux.git -q 2>/dev/null && mediatekAllowed=1
|
||||
git ls-remote git@dev.iopsys.eu:dialog/natalie-dect-12.26.git -q 2>/dev/null && natalieAllowed=1
|
||||
git ls-remote git@dev.iopsys.eu:iopsys/endptmngr.git -q 2>/dev/null && endptAllowed=1
|
||||
git ls-remote git@dev.iopsys.eu:iopsys/wifilife.git -q 2>/dev/null && wifilifeAllowed=1
|
||||
git ls-remote git@private.inteno.se:ice-client.git -q -q 2>/dev/null && iceAllowed=1
|
||||
}
|
||||
|
||||
v() {
|
||||
[ "$VERBOSE" -ge 1 ] && echo "$@"
|
||||
}
|
||||
@@ -170,6 +163,7 @@ function genconfig {
|
||||
echo -e " -l|--list [customer]\tList all Customers or all boards for one customer"
|
||||
echo -e " -a|--list-all\t\tList all Customers and their board types"
|
||||
echo -e " -b|--boards\t\tList all board types"
|
||||
echo -e " -O|--opensdk\t\tUse the iopsysWRT opensdk"
|
||||
echo
|
||||
echo "Example ./iop genconfig dg200 TELIA"
|
||||
echo "(if no customerconfig is chosen, iopsys config will be used)"
|
||||
@@ -232,17 +226,18 @@ function genconfig {
|
||||
|
||||
setup_dirs()
|
||||
{
|
||||
if git ls-remote $CUSTREPO -q 2>/dev/null; then
|
||||
if [ ! -d "$CUSTPATH" ]; then
|
||||
git clone "$CUSTREPO" "$CUSTPATH"
|
||||
elif [ $IMPORT -eq 1 ]; then
|
||||
cd $CUSTPATH
|
||||
v "git pull"
|
||||
git pull
|
||||
cd - >/dev/null #go back
|
||||
|
||||
if [[ ! -z $CUSTREPO ]]; then
|
||||
if git ls-remote $CUSTREPO -q 2>/dev/null; then
|
||||
if [ ! -d "$CUSTPATH" ]; then
|
||||
git clone "$CUSTREPO" "$CUSTPATH"
|
||||
elif [ $IMPORT -eq 1 ]; then
|
||||
cd $CUSTPATH
|
||||
v "git pull"
|
||||
git pull
|
||||
cd - >/dev/null #go back
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "You do not have access to $CUSTREPO"
|
||||
fi
|
||||
|
||||
if [ ! -d "$FILEDIR" ]; then
|
||||
@@ -418,6 +413,7 @@ function genconfig {
|
||||
while [ -n "$1" ]; do
|
||||
case "$1" in
|
||||
|
||||
-O|--opensdk) export OPENSDK=1;;
|
||||
-c|--clean) export CLEAN=1;;
|
||||
-n|--no-update) export IMPORT=0;;
|
||||
-v|--verbose) export VERBOSE="$(($VERBOSE + 1))";;
|
||||
@@ -439,7 +435,37 @@ function genconfig {
|
||||
shift;
|
||||
done
|
||||
|
||||
CUSTREPO="${CUSTREPO:-git@dev.iopsys.eu:consumer/iopsys.git}"
|
||||
#Check if you should have public or private access
|
||||
DEVELOPER=1
|
||||
|
||||
if git remote -v | grep -q http; then
|
||||
baseURL="https://dev.iopsys.eu/"
|
||||
DEVELOPER=0
|
||||
else
|
||||
baseURL="git@dev.iopsys.eu:"
|
||||
fi
|
||||
|
||||
if [[ $OPENSDK -eq 0 ]] ; then
|
||||
git ls-remote $"${baseURL}consumer/iopsys.git" -q 2>/dev/null && defaultConsumerAllowed=1
|
||||
|
||||
git ls-remote $"${baseURL}broadcom/bcmcreator.git" -q 2>/dev/null && bcmAllowed=1
|
||||
git ls-remote $"${baseURL}mediatek/linux.git" -q 2>/dev/null && mediatekAllowed=1
|
||||
git ls-remote $"${baseURL}dialog/natalie-dect-12.26.git" -q 2>/dev/null && natalieAllowed=1
|
||||
git ls-remote $"${baseURL}iopsys/endptmngr.git" -q 2>/dev/null && endptAllowed=1
|
||||
git ls-remote $"${baseURL}iopsys/wifilife.git" -q 2>/dev/null && wifilifeAllowed=1
|
||||
git ls-remote git@private.inteno.se:ice-client.git -q -q 2>/dev/null && iceAllowed=1
|
||||
|
||||
if [[ $defaultConsumerAllowed -eq 1 ]] && [[ $baseURL == *"git@"* ]]
|
||||
then
|
||||
CUSTREPO="${CUSTREPO:-git@dev.iopsys.eu:consumer/iopsys.git}"
|
||||
elif [[ $defaultConsumerAllowed -eq 1 ]] && [[ $baseURL == *"https"* ]]
|
||||
then
|
||||
CUSTREPO="${CUSTREPO:-https://dev.iopsys.eu/consumer/iopsys.git}"
|
||||
else
|
||||
CUSTREPO="${CUSTREPO:-}"
|
||||
fi
|
||||
fi
|
||||
echo "custrepo: $CUSTREPO"
|
||||
|
||||
setup_dirs
|
||||
create_and_copy_files "$@"
|
||||
|
||||
378
iop/scripts/genconfig_min.sh
Normal file
378
iop/scripts/genconfig_min.sh
Normal file
@@ -0,0 +1,378 @@
|
||||
#!/bin/bash
|
||||
|
||||
function genconfig_min {
|
||||
export CLEAN=0
|
||||
export SRCTREEOVERR=0
|
||||
export FILEDIR="files/"
|
||||
CURRENT_CONFIG_FILE=".current_config_file"
|
||||
export CONFIGPATH="package/feeds/iopsys/iop"
|
||||
CUSTPATH="customerconfigs"
|
||||
export CUSTCONF="customerconfigs/customers"
|
||||
export VERBOSE=0
|
||||
#always use the mirror
|
||||
export DEVELOPER=0
|
||||
target="bogus"
|
||||
config_path=""
|
||||
brcm63xx_mips="target/linux/iopsys-brcm63xx-mips"
|
||||
brcm63xx_arm="target/linux/iopsys-brcm63xx-arm"
|
||||
ramips="target/linux/iopsys-ramips"
|
||||
intel_mips="target/linux/intel_mips"
|
||||
|
||||
Red='\033[0;31m' # Red
|
||||
Color_Off='\033[0m' # Text Reset
|
||||
Yellow='\033[0;33m' # Yellow
|
||||
|
||||
function find_last {
|
||||
egrep "^[ #]*${1}[ =]" $2 | tail -n1
|
||||
}
|
||||
|
||||
function is_new {
|
||||
for opt in $conf_warned
|
||||
do
|
||||
if [ "$opt" == "$1" ]
|
||||
then
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
# option not found return true
|
||||
return 0
|
||||
}
|
||||
|
||||
function verify_config {
|
||||
IFS=$'\n'
|
||||
org=$(<.genconfig.config)
|
||||
unset IFS
|
||||
local num
|
||||
local conf_opt
|
||||
local conf_org
|
||||
local conf_new
|
||||
|
||||
#echo "lines to check $tot_lines"
|
||||
num=0
|
||||
for line in $org
|
||||
do
|
||||
conf_opt=$(echo $line | grep CONFIG_ | sed 's|.*\(CONFIG_[^ =]*\)[ =].*|\1|')
|
||||
if [ -n "${conf_opt}" ]
|
||||
then
|
||||
conf_org=$(find_last ${conf_opt} .genconfig.config)
|
||||
conf_new=$(find_last ${conf_opt} .config)
|
||||
if [ "$conf_org" != "$conf_new" ]
|
||||
then
|
||||
if is_new $conf_opt
|
||||
then
|
||||
echo -e "config option [${Red}$conf_opt${Color_Off}] is not set correctly in .config"
|
||||
echo -e "got value [${Yellow}$conf_new${Color_Off}] but wanted [${Yellow}$conf_org${Color_Off}]"
|
||||
echo "This is a real problem somebody needs to investigate"
|
||||
echo ""
|
||||
conf_warned="$conf_warned $conf_opt"
|
||||
fi
|
||||
else
|
||||
true
|
||||
# for debug to see all options
|
||||
#echo -e "wanted [$conf_org] got [$conf_new]"
|
||||
fi
|
||||
fi
|
||||
num=$((num+1))
|
||||
done
|
||||
}
|
||||
|
||||
# Takes a board name and returns the target name in global var $target
|
||||
set_target() {
|
||||
local profile=$1
|
||||
|
||||
[ -e $brcm63xx_mips/genconfig ] &&
|
||||
iopsys_brcm63xx_mips=$(cd $brcm63xx_mips; ./genconfig)
|
||||
[ -e $brcm63xx_arm/genconfig ] &&
|
||||
iopsys_brcm63xx_arm=$(cd $brcm63xx_arm; ./genconfig)
|
||||
[ -e $ramips/genconfig ] &&
|
||||
iopsys_ramips=$(cd $ramips; ./genconfig)
|
||||
[ -e $intel_mips/genconfig ] &&
|
||||
iopsys_intel_mips=$(cd $intel_mips; ./genconfig)
|
||||
|
||||
if [ "$profile" == "LIST" ]; then
|
||||
for list in iopsys_brcm63xx_mips iopsys_brcm63xx_arm iopsys_ramips iopsys_intel_mips; do
|
||||
echo "$list based boards:"
|
||||
for b in ${!list}; do
|
||||
echo -e "\t$b"
|
||||
done
|
||||
done
|
||||
return
|
||||
fi
|
||||
|
||||
for p in $iopsys_brcm63xx_mips; do
|
||||
if [ $p == $profile ]; then
|
||||
target="iopsys_brcm63xx_mips"
|
||||
config_path="$brcm63xx_mips/config"
|
||||
return
|
||||
fi
|
||||
done
|
||||
|
||||
for p in $iopsys_brcm63xx_arm; do
|
||||
if [ $p == $profile ]; then
|
||||
target="iopsys_brcm63xx_arm"
|
||||
config_path="$brcm63xx_arm/config"
|
||||
return
|
||||
fi
|
||||
done
|
||||
|
||||
for p in $iopsys_ramips; do
|
||||
if [ $p == $profile ]; then
|
||||
target="iopsys_ramips"
|
||||
config_path="$ramips/config"
|
||||
return
|
||||
fi
|
||||
done
|
||||
|
||||
for p in $iopsys_intel_mips; do
|
||||
if [ $p == $profile ]; then
|
||||
target="intel_mips"
|
||||
config_path="$intel_mips/config"
|
||||
return
|
||||
fi
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
v() {
|
||||
[ "$VERBOSE" -ge 1 ] && echo "$@"
|
||||
}
|
||||
|
||||
usage() {
|
||||
echo
|
||||
echo 1>&2 "Usage: $0 [ OPTIONS ] < Board_Type > [ Customer [customer2 ]...]"
|
||||
echo
|
||||
echo -e " -v|--verbose\t\tVerbose"
|
||||
echo -e " -s|--override\t\tEnable 'Package source tree override'"
|
||||
echo -e " -S|--brcmsingle\tForce build of bcmkernel to use only one thread"
|
||||
echo -e " -h|--help\t\tShow this message"
|
||||
echo -e " -l|--list [customer]\tList all Customers or all boards for one customer"
|
||||
echo -e " -a|--list-all\t\tList all Customers and their board types"
|
||||
echo -e " -b|--boards\t\tList all board types"
|
||||
echo
|
||||
echo "Example ./iop genconfig dg400prime IOPSYS"
|
||||
echo
|
||||
exit 0
|
||||
}
|
||||
|
||||
list_customers()
|
||||
{
|
||||
local ALL="$1"
|
||||
local CUSTOMER="$2"
|
||||
if [ "$CUSTOMER" -a -d "$CUSTCONF/$CUSTOMER" ]; then
|
||||
local boards="$(ls -1 "$CUSTCONF/$CUSTOMER" | grep -v common )"
|
||||
if [ "$boards" ]; then
|
||||
echo "$CUSTOMER has following boards:"
|
||||
for board in $boards; do
|
||||
echo -e "\t$board"
|
||||
done
|
||||
else
|
||||
echo "No boards found for $CUSTOMER"
|
||||
fi
|
||||
elif [ "$CUSTOMER" ]; then
|
||||
echo "No customer called $CUSTOMER"
|
||||
exit 1
|
||||
elif [ -d $CUSTCONF ]; then
|
||||
local customers="$(ls -1 $CUSTCONF)"
|
||||
if [ "$customers" -a "$ALL" == 1 ]; then
|
||||
for customer in $customers; do
|
||||
echo $customer
|
||||
local boards="$(ls -1 $CUSTCONF/$customer | grep -v common )"
|
||||
if [ "$boards" ]; then
|
||||
for board in $boards; do
|
||||
echo -e "\t$board"
|
||||
done
|
||||
else
|
||||
echo "has no boards"
|
||||
fi
|
||||
done
|
||||
elif [ "$customers" ]; then
|
||||
echo -e "$customers"
|
||||
else
|
||||
echo "no customers found"
|
||||
fi
|
||||
else
|
||||
echo "No $CUSTCONF folder found"
|
||||
fi
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
||||
generate_config()
|
||||
{
|
||||
DIFFFILE="$1"
|
||||
MASTERFILE="$2"
|
||||
while read p; do
|
||||
v "$p"
|
||||
sed -r -i "$p" $MASTERFILE
|
||||
done < $DIFFFILE
|
||||
}
|
||||
|
||||
setup_dirs()
|
||||
{
|
||||
|
||||
if [ ! -d "$FILEDIR" ]; then
|
||||
mkdir -p $FILEDIR
|
||||
elif [ -d "$FILEDIR" -a $CLEAN -eq 1 ]; then
|
||||
v "rm -rf $FILEDIR*"
|
||||
rm -rf $FILEDIR*
|
||||
fi
|
||||
}
|
||||
|
||||
create_and_copy_files()
|
||||
{
|
||||
local BOARDTYPE=$1
|
||||
shift
|
||||
local CUSTOMERS=$@
|
||||
|
||||
# Validate seleced board and customers
|
||||
set_target $BOARDTYPE
|
||||
if [ $target == "bogus" ]; then
|
||||
echo "Hardware profile does not exist"
|
||||
exit 1
|
||||
elif [ -n "$CUSTOMERS" ]; then
|
||||
for CUSTOMER in $CUSTOMERS; do
|
||||
if [ ! -d "$CUSTCONF/$CUSTOMER/" ]; then
|
||||
echo "Customer profile for '$CUSTOMER' does not exist"
|
||||
exit 1
|
||||
elif [ ! -d "$CUSTCONF/$CUSTOMER/$BOARDTYPE/" ]; then
|
||||
echo "'$BOARDTYPE' board profile does not exist for customer '$CUSTOMER'"
|
||||
if [ -f "$CUSTCONF/$CUSTOMER/common/common.diff" ]; then
|
||||
echo "Common profile configuration will be used"
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Generate base config
|
||||
rm -f .config
|
||||
v "Config $BOARDTYPE selected"
|
||||
v "cp $CONFIGPATH/config .config"
|
||||
cp $CONFIGPATH/config .config
|
||||
|
||||
if [ -f $config_path/config ]; then
|
||||
cat $config_path/config >> .config
|
||||
fi
|
||||
if [ -f $config_path/$BOARDTYPE/config ]; then
|
||||
cat $config_path/$BOARDTYPE/config >> .config
|
||||
fi
|
||||
|
||||
#special handling for intel_mips which use TARGET_DEVICES
|
||||
if [ "$target" = "intel_mips" ]; then
|
||||
subtarget="xrx500"
|
||||
echo "CONFIG_TARGET_${target}=y" >> .config
|
||||
echo "CONFIG_TARGET_${target}_${subtarget}=y" >> .config
|
||||
echo "CONFIG_TARGET_MULTI_PROFILE=y" >> .config
|
||||
echo "CONFIG_TARGET_PER_DEVICE_ROOTFS=y" >> .config
|
||||
device=$(echo $BOARDTYPE | tr a-z A-Z)
|
||||
echo "CONFIG_TARGET_DEVICE_${target}_${subtarget}_DEVICE_${device}=y" >> .config
|
||||
else
|
||||
echo "CONFIG_TARGET_${target}=y" >> .config
|
||||
echo "CONFIG_TARGET_${target}_${BOARDTYPE}=y" >> .config
|
||||
fi
|
||||
|
||||
echo "$CUSTOMERS $BOARDTYPE" > $CURRENT_CONFIG_FILE
|
||||
|
||||
# Add customerconfig diff if a customer is selected
|
||||
if [ -n "$CUSTOMERS" ]; then
|
||||
for CUSTOMER in $CUSTOMERS; do
|
||||
if [ -d "$CUSTCONF/$CUSTOMER/common/fs" ]; then
|
||||
v "cp -ar $CUSTCONF/$CUSTOMER/common/fs/* $FILEDIR" CUSTREPO="${CUSTREPO:-}"
|
||||
|
||||
cp -ar $CUSTCONF/$CUSTOMER/common/fs/* $FILEDIR
|
||||
fi
|
||||
if [ -d "$CUSTCONF/$CUSTOMER/$BOARDTYPE/fs" ]; then
|
||||
v "cp -ar $CUSTCONF/$CUSTOMER/$BOARDTYPE/fs/* $FILEDIR"
|
||||
cp -ar $CUSTCONF/$CUSTOMER/$BOARDTYPE/fs/* $FILEDIR
|
||||
fi
|
||||
if [ -e "$CUSTCONF/$CUSTOMER/common/common.diff" ]; then
|
||||
v "Apply $CUSTCONF/$CUSTOMER/common/common.diff"
|
||||
cat $CUSTCONF/$CUSTOMER/common/common.diff >> .config
|
||||
fi
|
||||
if [ -e "$CUSTCONF/$CUSTOMER/$BOARDTYPE/$BOARDTYPE.diff" ]; then
|
||||
v "Apply $CUSTCONF/$CUSTOMER/$BOARDTYPE/$BOARDTYPE.diff"
|
||||
cat $CUSTCONF/$CUSTOMER/$BOARDTYPE/$BOARDTYPE.diff >> .config
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Set target version
|
||||
local GIT_TAG=$(git describe --abbrev=0 --tags)
|
||||
echo "CONFIG_TARGET_VERSION=\"${GIT_TAG}\"" >> .config
|
||||
|
||||
# Enable Package source tree override if selected
|
||||
[ $SRCTREEOVERR -eq 1 ] && echo CONFIG_SRC_TREE_OVERRIDE=y >> .config
|
||||
|
||||
# developer mode selected ?
|
||||
echo "CONFIG_DEVEL=y" >>.config
|
||||
|
||||
if [ -n "$BRCM_MAX_JOBS" ]
|
||||
then
|
||||
echo "CONFIG_BRCM_MAX_JOBS=\"1\"" >>.config
|
||||
fi
|
||||
|
||||
# Force regeneration of kernel Makefile
|
||||
# Needed to disable kmods for iopsys-brcm targets
|
||||
touch package/kernel/linux/Makefile
|
||||
|
||||
# we need to signal to bradcom SDK that we have changed the board id
|
||||
# currently boardparms.c and boardparms_voice.c is the only place that is depending on inteno boardid name
|
||||
# so just touch that file.
|
||||
[ -d ./build_dir ] && find build_dir/ -name "boardparms*c" -print0 2>/dev/null | xargs -0 touch 2>/dev/null
|
||||
|
||||
# Store generated config
|
||||
cp .config .genconfig.config
|
||||
|
||||
# Set default values based on selected parameters
|
||||
v "$(make defconfig 2>&1)"
|
||||
|
||||
echo Set version to $(grep -w CONFIG_TARGET_VERSION .config | cut -d'=' -f2 | tr -d '"')
|
||||
|
||||
# Clean base-file package to force rebuild when changing profile
|
||||
v "$(make package/base-files/clean 2>&1)"
|
||||
|
||||
verify_config
|
||||
}
|
||||
|
||||
####### main #####
|
||||
if [ ! -e tmp/.iop_bootstrap ]; then
|
||||
echo "You have not installed feeds. Running genconfig in this state would create a non functional configuration."
|
||||
echo "Run: iop feeds_update"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo Current profile:
|
||||
cat $CURRENT_CONFIG_FILE
|
||||
echo "Try ./iop genconfig -h' to get instructions if you want to change current config"
|
||||
exit 0
|
||||
else
|
||||
while [ -n "$1" ]; do
|
||||
case "$1" in
|
||||
|
||||
-v|--verbose) export VERBOSE="$(($VERBOSE + 1))";;
|
||||
-p|--profile) export PROFILE="$2"; shift;;
|
||||
-r|--repo) export CUSTREPO="$2"; shift;;
|
||||
-s|--override) export SRCTREEOVERR=1;;
|
||||
-S|--brcmsingel) export BRCM_MAX_JOBS=1;;
|
||||
-h|--help) usage;;
|
||||
-l|--list) list_customers 0 $2;;
|
||||
-a|--list-all)list_customers 1;;
|
||||
-b|--boards)set_target LIST;exit 0;;
|
||||
-*)
|
||||
echo "Invalid option: $1 "
|
||||
echo "Try -h or --help for more information."
|
||||
exit 1
|
||||
;;
|
||||
*) break;;
|
||||
esac
|
||||
shift;
|
||||
done
|
||||
|
||||
setup_dirs
|
||||
create_and_copy_files "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
register_command "genconfig_min" "Generate configuration for customer with manual board configuration"
|
||||
@@ -59,30 +59,24 @@ build_endptmngr_consumer() {
|
||||
cd "$curdir"
|
||||
}
|
||||
|
||||
build_ice_consumer() {
|
||||
# create ice-client open version tar file
|
||||
local iceversion icebasever icerelease icecommith
|
||||
icecommith=$(grep -w "PKG_SOURCE_VERSION:" ./feeds/iopsys/ice-client/Makefile | head -1 | cut -d'=' -f2)
|
||||
icebasever=$(grep -w "BASE_PKG_VERSION:" ./feeds/iopsys/ice-client/Makefile | cut -d'=' -f2)
|
||||
icerelease=$(grep -w "PKG_RELEASE:" ./feeds/iopsys/ice-client/Makefile | cut -d'=' -f2)
|
||||
iceversion=$icebasever$icerelease
|
||||
[ -n "$target" -a -n "$iceversion" -a -n "$icecommith" ] || return
|
||||
ssh $SERVER "test -f $FPATH/ice-client-$target-$iceversion-$icecommith.tar.gz" && return
|
||||
cd ./build_dir/target-*/ice-client-$icebasever/ipkg-* || cd ./build_dir/target-mips*musl-*/ice-client-$icebasever/ipkg-*
|
||||
tar -czv ice-client -f ice-client-$target-$iceversion-$icecommith.tar.gz
|
||||
scp -pv ice-client-$target-$iceversion-$icecommith.tar.gz $SERVER:$FPATH/
|
||||
cp ice-client-$target-$iceversion-$icecommith.tar.gz $curdir/
|
||||
rm -f ice-client-$target-$iceversion-$icecommith.tar.gz
|
||||
cd "$curdir"
|
||||
}
|
||||
|
||||
build_wifilife_consumer() {
|
||||
local target="$1"
|
||||
local ver commit
|
||||
ver=$(grep -w "PKG_VERSION:" ./feeds/iopsys/wifilife/Makefile | cut -d'=' -f2)
|
||||
commit=$(grep -w "PKG_SOURCE_VERSION:" ./feeds/iopsys/wifilife/Makefile | cut -d'=' -f2)
|
||||
[ -n "$ver" -a -n "$commit" ] || return
|
||||
ssh $SERVER "test -f $FPATH/wifilife-$target-${ver}_${commit}.tar.xz" && return
|
||||
cd ./build_dir/target-*/wifilife-$ver/ipkg-* || cd ./build_dir/target-mips*musl-*/wifilife-$ver/ipkg-*
|
||||
if [ "$target" == "iopsys-ramips" ]; then
|
||||
cd ./build_dir/target-mipsel_1004kc_musl/wifilife-$ver/ipkg-*
|
||||
elif [ "$target" == "intel_mips" ]; then
|
||||
cd ./build_dir/target-mips_24kc+nomips16_musl/wifilife-$ver/ipkg-*
|
||||
elif [ "$target" == "iopsys-brcm63xx-arm" ]; then
|
||||
cd ./build_dir/target-arm_xscale_musl_eabi/wifilife-$ver/ipkg-*
|
||||
elif [ "$target" == "iopsys-brcm63xx-mips" ]; then
|
||||
cd ./build_dir/target-mips*/wifilife-$ver/ipkg-*
|
||||
else
|
||||
return
|
||||
fi
|
||||
mkdir -p wifilife-$ver/src
|
||||
cp -rf wifilife/usr/sbin/* wifilife-$ver/src/
|
||||
tar Jcf wifilife-${target}-${ver}_${commit}.tar.xz wifilife-$ver
|
||||
@@ -147,7 +141,7 @@ function generate_tarballs {
|
||||
while getopts "t:h" opt; do
|
||||
case $opt in
|
||||
t)
|
||||
stk_target=${OPTARG}
|
||||
sdk_target=${OPTARG}
|
||||
;;
|
||||
h)
|
||||
print_usage
|
||||
@@ -160,23 +154,23 @@ function generate_tarballs {
|
||||
esac
|
||||
done
|
||||
|
||||
if [ ! -n "$stk_target" ]; then
|
||||
if [ ! -n "$sdk_target" ]; then
|
||||
print_usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$stk_target" == "broadcom" ]; then
|
||||
if [ "$sdk_target" == "broadcom" ]; then
|
||||
build_bcmkernel_consumer
|
||||
build_natalie_consumer
|
||||
build_endptmngr_consumer
|
||||
build_ice_consumer
|
||||
build_wifilife_consumer
|
||||
elif [ "$stk_target" == "mediatek" ]; then
|
||||
build_wifilife_consumer "$target"
|
||||
elif [ "$sdk_target" == "mediatek" ]; then
|
||||
build_mediatek_kernel
|
||||
build_ice_consumer
|
||||
build_wifilife_consumer
|
||||
build_wifilife_consumer "$target"
|
||||
elif [ "$sdk_target" == "intel" ]; then
|
||||
build_wifilife_consumer "$target"
|
||||
else
|
||||
echo "Invalid target: $stk_target"
|
||||
echo "Invalid target: $sdk_target"
|
||||
print_usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -18,7 +18,7 @@ PKG_SOURCE_URL:=http://iopsys.inteno.se/iopsys/consumer/
|
||||
PKG_NAME:=natalie-dect-open
|
||||
else
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=git@dev.iopsys.eu:dialog/natalie-dect-12.26
|
||||
PKG_SOURCE_URL:=https://dev.iopsys.eu/dialog/natalie-dect-12.26.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
endif
|
||||
|
||||
|
||||
@@ -121,6 +121,11 @@ 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
|
||||
for script in $(ls /etc/netmodes/$mode/scripts/$when/); do
|
||||
@@ -239,17 +244,16 @@ revert_netmode() {
|
||||
|
||||
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
|
||||
cp -af $CONF_BACKUP_DIR/* /etc/config/
|
||||
sync
|
||||
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
|
||||
/etc/init.d/network restart
|
||||
ubus call router.network reload
|
||||
ubus call leds set '{"state" : "normal"}'
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO=git
|
||||
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/owsd.git
|
||||
PKG_SOURCE_VERSION:=f1d6bff1971640006b3137b342fafa1c40cfb835
|
||||
PKG_SOURCE_VERSION:=0417231666ea7da12205c9a9798ecce7da85f881
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_SOURCE_SUBDIR:=${PKG_NAME}-${PKG_VERSION}
|
||||
PKG_INSTALL:=1
|
||||
|
||||
@@ -111,6 +111,9 @@ validate_owsd_ubusproxy() {
|
||||
'peer:list(string)' \
|
||||
'object:list(string)' \
|
||||
'prefix:string' \
|
||||
'max_reconnect_time:string' \
|
||||
'client_backoff_timeout:string' \
|
||||
'reconnect_timeout:string' \
|
||||
'peer_key:file' \
|
||||
'peer_cert:file' \
|
||||
'peer_ca:file' \
|
||||
@@ -245,6 +248,35 @@ parse_owsd_iface() {
|
||||
fi
|
||||
}
|
||||
|
||||
parser_timeout()
|
||||
{
|
||||
local flag data
|
||||
local ret=0
|
||||
#data format is digital with time unit
|
||||
#10s-10 seconds 10m-10 minutes 10h-10 hours 10d-10 days
|
||||
if [ -n "$1" ]; then
|
||||
flag=$(echo "$1"| tr -d [0-9] | tr '[A-Z]' '[a-z]')
|
||||
data=$(echo "$1"| tr -cd [0-9])
|
||||
case $flag in
|
||||
s)
|
||||
ret=$((data*1000))
|
||||
;;
|
||||
m)
|
||||
ret=$((data*1000*60))
|
||||
;;
|
||||
h)
|
||||
ret=$((data*1000*60*60))
|
||||
;;
|
||||
d)
|
||||
ret=$((data*1000*60*60*24))
|
||||
;;
|
||||
esac
|
||||
echo "$ret"
|
||||
else
|
||||
echo "0"
|
||||
fi
|
||||
}
|
||||
|
||||
start_service() {
|
||||
# update rpcd config according to owsd acl
|
||||
handle_owsd_acl
|
||||
@@ -264,11 +296,17 @@ start_service() {
|
||||
return 1
|
||||
}
|
||||
|
||||
config_get reconn ubusproxy max_reconnect_time
|
||||
config_get ctimeout ubusproxy client_backoff_timeout
|
||||
config_get rtimeout ubusproxy reconnect_timeout
|
||||
[ -n "${ctimeout}" ] && ctimeout=$(parser_timeout $ctimeout)
|
||||
[ -n "${rtimeout}" ] && rtimeout=$(parser_timeout $rtimeout)
|
||||
|
||||
[ -n "${sock}" ] && procd_append_param command -s"${sock}"
|
||||
[ -n "${www}" ] && procd_append_param command -w"${www}"
|
||||
[ -n "${redirect}" ] && procd_append_param command -r"${redirect}"
|
||||
[ -n "${www_maxage}" ] && procd_append_param command -t"${www_maxage}"
|
||||
|
||||
[ -n "${rtimeout}" ] && procd_append_param command -T"${rtimeout}"
|
||||
#validate_owsd_ubusproxy || {
|
||||
# echo "Ubusproxy validation failed"
|
||||
# return 1
|
||||
@@ -308,6 +346,8 @@ start_service() {
|
||||
# Start uproxyd
|
||||
procd_open_instance
|
||||
procd_set_param command $UPROXYD
|
||||
[ -n "${reconn}" ] && procd_append_param command -r "${reconn}"
|
||||
[ -n "${ctimeout}" ] && procd_append_param command -t "${ctimeout}"
|
||||
procd_set_param respawn
|
||||
procd_close_instance
|
||||
fi
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
START=19
|
||||
START=12
|
||||
STOP=91
|
||||
|
||||
USE_PROCD=1
|
||||
|
||||
@@ -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
|
||||
set_port_speed $ifname $speed $name
|
||||
set_port_pause $ifname $pause
|
||||
}
|
||||
|
||||
@@ -73,3 +73,8 @@ service_triggers() {
|
||||
procd_add_reload_trigger ports
|
||||
}
|
||||
|
||||
boot() {
|
||||
wan=$(db -q get hw.board.ethernetWanPort)
|
||||
restart_port $wan
|
||||
start
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ include $(INCLUDE_DIR)/kernel.mk
|
||||
PKG_NAME:=questd
|
||||
PKG_VERSION:=4.1.1
|
||||
|
||||
PKG_SOURCE_VERSION:=a361300405fff58379d3d1568d5df46bcb752214
|
||||
PKG_SOURCE_VERSION:=68ccbdd0c689b26d3ded3569f6eed9ff785320df
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/questd
|
||||
|
||||
@@ -44,7 +44,18 @@ 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 \
|
||||
+TARGET_iopsys_ramips:ip-full \
|
||||
+TARGET_intel_mips:ip-full \
|
||||
+libopenssl \
|
||||
+easy-soc-libs \
|
||||
+libmnl \
|
||||
+libnetfilter-conntrack
|
||||
TITLE:=router info daemon
|
||||
endef
|
||||
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
#
|
||||
# Start the rulengd
|
||||
#
|
||||
|
||||
START=99
|
||||
STOP=01
|
||||
START=17
|
||||
STOP=11
|
||||
|
||||
USE_PROCD=1
|
||||
NAME=rulengd
|
||||
|
||||
@@ -13,8 +13,8 @@ PKG_VERSION:=2016.08
|
||||
PKG_SOURCE_PROTO:=git
|
||||
|
||||
ifdef CONFIG_TARGET_intel_mips
|
||||
PKG_SOURCE_URL:=git@dev.iopsys.eu:intel/uboot.git
|
||||
PKG_SOURCE_VERSION:=c77089efc41ea3292125330221bd5016796631b9
|
||||
PKG_SOURCE_URL:=https://dev.iopsys.eu/intel/uboot.git
|
||||
PKG_SOURCE_VERSION:=819227ec4cf4f2f8f7e8d46a3bee58e329089de6
|
||||
else
|
||||
PKG_SOURCE_URL:=https://dev.iopsys.eu/fork/uboot.git
|
||||
PKG_SOURCE_VERSION:=670ad7a30f3c6871b6c8a972e19ca2dd78ea8c9b
|
||||
@@ -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:=14
|
||||
PKG_RELEASE:=15
|
||||
endef
|
||||
|
||||
UBOOTS := \
|
||||
|
||||
@@ -64,3 +64,10 @@ featureaccesscodes = |FAC|
|
||||
;
|
||||
;language=
|
||||
|
||||
; Whether the transferor puts the transfer target on-hold before sending REFER
|
||||
;
|
||||
; The transferor needs put the transfer target on-hold before sending REFER to the transferee as per RFC5589.
|
||||
; But call transfer fails on some devices, e.g. Ericsson MTAS as the transfer target. The configuration is
|
||||
; to solve this kind of interoperability issue.
|
||||
hold_target_before_refer = |HOLDTARGET|
|
||||
|
||||
|
||||
@@ -1 +1,6 @@
|
||||
iptables -I zone_wan_input 4 -m udp -p udp --dport 10000:20000 -m comment --comment "!fw3: Allow-RTP" -j ACCEPT
|
||||
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
|
||||
|
||||
@@ -153,7 +153,6 @@ assemble_and_copy_config()
|
||||
[ -f $TMPL_ASTERISK ] && cp $TMPL_ASTERISK $WORKDIR/asterisk.conf
|
||||
[ -f $TMPL_CDR ] && cp $TMPL_CDR $WORKDIR/cdr.conf
|
||||
[ -f $TMPL_CEL ] && cp $TMPL_CEL $WORKDIR/cel.conf
|
||||
[ -f $TMPL_INDICATIONS ] && cp $TMPL_INDICATIONS $WORKDIR/indications.conf
|
||||
[ -f $TMPL_MANAGER ] && cp $TMPL_MANAGER $WORKDIR/manager.conf
|
||||
[ -f $TMPL_MODULES ] && cp $TMPL_MODULES $WORKDIR/modules.conf
|
||||
[ -f $TMPL_EXTENSIONS_MACRO ] && cp $TMPL_EXTENSIONS_MACRO $WORKDIR/extensions_macro.conf
|
||||
@@ -165,6 +164,14 @@ assemble_and_copy_config()
|
||||
[ -f $TMPL_UDPTL ] && cp $TMPL_UDPTL $WORKDIR/udptl.conf
|
||||
[ -f $SPECRATECFG ] && cp $SPECRATECFG $WORKDIR/special_rate_nr.cfg
|
||||
|
||||
[ -f $TMPL_INDICATIONS ] && {
|
||||
cp $TMPL_INDICATIONS $WORKDIR/indications.conf
|
||||
|
||||
config_get country TEL country
|
||||
country_code=$(supportedCountries |grep $country |cut -d':' -f3 |tr [A-Z] [a-z])
|
||||
sed -i "s/^country=.*/country=${country_code}/g" $WORKDIR/indications.conf
|
||||
}
|
||||
|
||||
test -e $TMPL_MEETME && cp $TMPL_MEETME $WORKDIR/meetme.conf
|
||||
|
||||
# Handle extensions_extra, carry over old file to new config if there is one
|
||||
@@ -256,9 +263,7 @@ read_codecs_ptime()
|
||||
#
|
||||
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 line call_lines lines clength
|
||||
|
||||
config_get call_lines $1 call_lines
|
||||
|
||||
@@ -267,28 +272,17 @@ read_lines()
|
||||
# convert line format to <LINENAME><LINEID>
|
||||
case $line in
|
||||
[0-9])
|
||||
line="$LINENAME$line"
|
||||
;;
|
||||
"$CHANNELNAME"/[0-9])
|
||||
# get the index from channel name
|
||||
clength=$(echo $CHANNELNAME | wc -c)
|
||||
line="$LINENAME${line:$clength}"
|
||||
line="${line:$clength}"
|
||||
;;
|
||||
esac
|
||||
|
||||
# get the index from line name
|
||||
# llength=$(echo $LINENAME | wc -c)
|
||||
# lineid="${lineid:$llength}"
|
||||
[ -n "$line" ] || continue
|
||||
|
||||
# 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&"
|
||||
lines="$lines$CHANNELNAME/$line&"
|
||||
done
|
||||
|
||||
lines=$(escape_sed_substitution $lines)
|
||||
@@ -670,29 +664,25 @@ configure_sip_provider()
|
||||
local autoframing
|
||||
local encryption
|
||||
|
||||
config_get enabled $1 enabled
|
||||
config_get enabled $1 enabled "0"
|
||||
config_get domain $1 domain
|
||||
config_get host $1 host
|
||||
config_get host $1 host "$domain"
|
||||
config_get port $1 port
|
||||
config_get outboundproxy $1 outboundproxy
|
||||
config_get outboundproxyport $1 outboundproxyport
|
||||
config_get user $1 user
|
||||
config_get authuser $1 authuser
|
||||
config_get secret $1 secret
|
||||
config_get is_fax $1 is_fax
|
||||
config_get autoframing $1 autoframing
|
||||
config_get transport $1 transport
|
||||
config_get encryption $1 encryption
|
||||
config_get is_fax $1 is_fax "0"
|
||||
config_get autoframing $1 autoframing "0"
|
||||
config_get transport $1 transport "udp"
|
||||
config_get encryption $1 encryption "0"
|
||||
|
||||
# This is a hack to fix security issue #14962
|
||||
user=${user//"'"/}
|
||||
authuser=${authuser//"'"/}
|
||||
|
||||
if [ -z "$transport" ] ; then
|
||||
transport="udp"
|
||||
fi
|
||||
|
||||
if [ -z "$enabled" -o "$enabled" = "0" ] ; then
|
||||
if [ "$enabled" == "0" ] ; then
|
||||
return
|
||||
fi
|
||||
|
||||
@@ -703,10 +693,6 @@ configure_sip_provider()
|
||||
|
||||
echo "Configuring SIP Provider $1"
|
||||
|
||||
if [ -z "$host" ] ; then
|
||||
host=$domain
|
||||
fi
|
||||
|
||||
# Get secret from existing asterisk config if its not set in luci config
|
||||
if [ -z "$secret" ] ; then
|
||||
echo "Restoring secret from old config for $1"
|
||||
@@ -753,23 +739,20 @@ configure_sip_provider()
|
||||
fi
|
||||
|
||||
# Set or remove encryption
|
||||
if [ -z "$encryption" -o "$encryption" == "0" ] ; then
|
||||
if [ "$encryption" == "0" ] ; then
|
||||
sed -i "/|ENCRYPTION|/d" $WORKDIR/sip_provider.tmp
|
||||
else
|
||||
sed -i "s/|ENCRYPTION|/yes/g" $WORKDIR/sip_provider.tmp
|
||||
fi
|
||||
|
||||
# Force ulaw/alaw if fax, otherwise read selected codecs
|
||||
if [ -z "$is_fax" -o "$is_fax" = "1" ] ; then
|
||||
if [ "$is_fax" == "1" ] ; then
|
||||
sed -i "s/|ALLOW|/allow = ulaw\nallow = alaw/" $WORKDIR/sip_provider.tmp
|
||||
else
|
||||
sed -i "s/|ALLOW|/$(read_codecs_ptime $1)/" $WORKDIR/sip_provider.tmp
|
||||
fi
|
||||
|
||||
# Autoframing
|
||||
if [ -z "$autoframing" ] ; then
|
||||
autoframing=0
|
||||
fi
|
||||
sed -i "s/|AUTOFRAMING|/$autoframing/" $WORKDIR/sip_provider.tmp
|
||||
|
||||
# Set registered extension so that incoming calls match the correct peer
|
||||
@@ -1805,6 +1788,8 @@ configure_tel()
|
||||
local dialoutmsec
|
||||
local fac
|
||||
local echocancel
|
||||
local hold_target_before_refer
|
||||
local calleridtype
|
||||
|
||||
config_get jbenable TEL jbenable
|
||||
config_get jbforce TEL jbforce
|
||||
@@ -1814,6 +1799,8 @@ configure_tel()
|
||||
config_get dialoutmsec TEL dialoutmsec
|
||||
config_get fac TEL fac
|
||||
config_get echocancel TEL echo_cancel
|
||||
config_get hold_target_before_refer TEL hold_target_before_refer
|
||||
config_get calleridtype TEL calleridtype
|
||||
|
||||
CHANNEL_FAC="$CHANNEL_FAC $fac"
|
||||
# Convert whitespace to commas
|
||||
@@ -1832,12 +1819,24 @@ configure_tel()
|
||||
sed -i "s/|CHANNELS|/$(db get hw.board.VoicePorts)/" $WORKDIR/$LINENAME.tmp
|
||||
sed -i "s/|ECHOCANCEL|/$(getEchoCancellingValue $echocancel)/" $WORKDIR/$LINENAME.tmp
|
||||
|
||||
if [ -n "${calleridtype}" ] ; then
|
||||
sed -i "s/^calleridtype *=.*/calleridtype = ${calleridtype}/g" $WORKDIR/$LINENAME.tmp
|
||||
else
|
||||
sed -i "/^calleridtype *=.*/d" $WORKDIR/$LINENAME.tmp
|
||||
fi
|
||||
|
||||
if [ "$dtmfmode" == "compatibility" ] ; then
|
||||
dtmfcompatibility="1"
|
||||
else
|
||||
dtmfcompatibility="0"
|
||||
fi
|
||||
sed -i "s/|DTMFCOMPATIBILITY|/$dtmfcompatibility/" $WORKDIR/$LINENAME.tmp
|
||||
|
||||
if [ "$hold_target_before_refer" == "no" ]; then
|
||||
sed -i "s/|HOLDTARGET|/no/" $WORKDIR/$LINENAME.tmp
|
||||
else
|
||||
sed -i "s/|HOLDTARGET|/yes/" $WORKDIR/$LINENAME.tmp
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
@@ -2246,6 +2245,7 @@ reload_service() {
|
||||
# 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 "config reload $ASTERISKDIR/indications.conf"
|
||||
asterisk -rx "$(getChipVendor) reload"
|
||||
asterisk -rx "config reload $ASTERISKDIR/sip.conf"
|
||||
sleep 1
|
||||
|
||||
@@ -37,27 +37,6 @@ EOT
|
||||
|
||||
}
|
||||
|
||||
# Default phone volume for iopsysWrt 4.X.
|
||||
uci -q batch <<-EOT
|
||||
set voice_client.$(getLineName)0.txgain=4
|
||||
set voice_client.$(getLineName)0.rxgain=4
|
||||
set voice_client.$(getLineName)1.txgain=4
|
||||
set voice_client.$(getLineName)1.rxgain=4
|
||||
set voice_client.$(getLineName)2.txgain=4
|
||||
set voice_client.$(getLineName)2.rxgain=4
|
||||
set voice_client.$(getLineName)3.txgain=4
|
||||
set voice_client.$(getLineName)3.rxgain=4
|
||||
set voice_client.$(getLineName)4.txgain=4
|
||||
set voice_client.$(getLineName)4.rxgain=4
|
||||
set voice_client.$(getLineName)5.txgain=4
|
||||
set voice_client.$(getLineName)5.rxgain=4
|
||||
set voice_client.$(getLineName)6.txgain=4
|
||||
set voice_client.$(getLineName)6.rxgain=4
|
||||
set voice_client.$(getLineName)7.txgain=4
|
||||
set voice_client.$(getLineName)7.rxgain=4
|
||||
commit voice_client
|
||||
EOT
|
||||
|
||||
# Add firewall include
|
||||
uci -q batch <<-EOT
|
||||
delete firewall.sip
|
||||
|
||||
@@ -22,7 +22,7 @@ getBaseMAC() {
|
||||
}
|
||||
|
||||
getAllLines() {
|
||||
echo "BRCM/0&BRCM/1&BRCM/2&BRCM/3&BRCM/4&BRCM/5&BRCM/6"
|
||||
echo "BRCM/0&BRCM/1&BRCM/2&BRCM/3&BRCM/4&BRCM/5"
|
||||
}
|
||||
|
||||
getLineIdx() {
|
||||
|
||||
@@ -28,12 +28,11 @@ getBaseMAC() {
|
||||
}
|
||||
|
||||
getAllLines() {
|
||||
echo "TAPI/1&TAPI/2&TAPI/3&TAPI/4&TAPI/5&TAPI/6"
|
||||
echo "TAPI/0&TAPI/1"
|
||||
}
|
||||
|
||||
getLineIdx() {
|
||||
i=$1
|
||||
echo $((i+1))
|
||||
echo $1
|
||||
}
|
||||
|
||||
getEchoCancellingValue() {
|
||||
@@ -52,5 +51,14 @@ getEchoCancellingValue() {
|
||||
}
|
||||
|
||||
supportedCountries() {
|
||||
echo "ETSI:ETS"
|
||||
echo "Austria:AUT:AT"
|
||||
echo "Denmark:DNK:DK"
|
||||
echo "Estonia:EST:EE"
|
||||
echo "Germany:DEU:DE"
|
||||
echo "Netherlands:NLD:NL"
|
||||
echo "Norway:NOR:NO"
|
||||
echo "Spain:ESP:ES"
|
||||
echo "Sweden:SWE:SE"
|
||||
echo "Switzerland:CHE:CH"
|
||||
echo "United Kingdom:GBR:UK"
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
. /usr/share/libubox/jshn.sh
|
||||
. /lib/voice/voicelib.sh
|
||||
|
||||
LOGFILE="/var/log/asterisk/cdr-csv/Master.csv"
|
||||
|
||||
case "$1" in
|
||||
list)
|
||||
echo '{ "status" : {}, "lines" : {}, "codecs" : {}, "call_log" : {}, "platform" : {}, "supported_countries" : {} }'
|
||||
@@ -91,41 +93,72 @@ case "$1" in
|
||||
json_init
|
||||
json_add_array "call_log"
|
||||
|
||||
[ -f /var/log/asterisk/cdr-csv/Master.csv ] || {
|
||||
[ -f ${LOGFILE} ] || {
|
||||
json_dump
|
||||
return
|
||||
}
|
||||
|
||||
while read -r line
|
||||
do
|
||||
line="$(echo $line | tr -d '\"')"
|
||||
uniqueid="$(echo $line | awk -F',' '{print $(NF-1)}')"
|
||||
echo $uniqueid | grep "[A-Z,a-z]" && continue
|
||||
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
|
||||
[ $callok -eq 0 ] && continue
|
||||
account="$(echo $line | cut -d',' -f4)"
|
||||
tail -200 ${LOGFILE} | sed -n '1!G;h;$p' > ${LOGFILE}.tmp
|
||||
num_entries=0
|
||||
|
||||
sip_service_providers=$(uci show voice_client | grep sip_service_provider)
|
||||
sip_user=$(uci show voice_client | grep user)
|
||||
|
||||
old_ifs=$IFS
|
||||
while read -r line
|
||||
do
|
||||
line_whithout_quotes=$(echo $line | tr -d '"')
|
||||
IFS=,
|
||||
set -- $line_whithout_quotes
|
||||
IFS=$old_ifs
|
||||
n_args=$#
|
||||
eval "uniqueid=\$$n_args"
|
||||
case $uniqueid in
|
||||
[A-Z,a-z]+) continue ;;
|
||||
esac
|
||||
source="$2"
|
||||
destination="$3"
|
||||
# "source" will be empty for call log of internal call (beween extension numbers)
|
||||
[ -z "$source" ] && [ -z "$destination" ] && continue
|
||||
account="$4"
|
||||
#Filter out a trailing -outgoing from the SIP account name
|
||||
#This will have been added if a direct_dial number was used
|
||||
account=${account%-outgoing}
|
||||
actok=0
|
||||
uci show voice_client | grep sip_service_provider | grep -wq "$account" && actok=1
|
||||
# match "sip0" in "voice_client.sip0=sip_service_provider"
|
||||
case $sip_service_providers in
|
||||
*.$account=*) actok=1 ;;
|
||||
esac
|
||||
[ "$account" == "call_line" ] && actok=1
|
||||
[ $actok -eq 0 ] && continue
|
||||
timestart="$(echo $line | awk -F',' '{print $(NF-8)}')"
|
||||
timend="$(echo $line | awk -F',' '{print $(NF-6)}')"
|
||||
startdate=$(date -u -d "$timestart" +"%s")
|
||||
enddate=$(date -u -d "$timend" +"%s")
|
||||
uci show voice_client | grep user | grep -wq "$from" && direction="OUTGOING" || direction="INCOMING"
|
||||
ts=$((n_args-7))
|
||||
eval "time_start=\$$ts"
|
||||
dp=$((n_args-2))
|
||||
eval "disposition=\$$dp"
|
||||
# match "user0" from "voice_client.user0=sip_user"
|
||||
case $sip_user in
|
||||
*.$source=*) direction="OUTGOING" ;;
|
||||
*) direction="INCOMING" ;;
|
||||
esac
|
||||
du=$((n_args-4))
|
||||
eval "duration=\$$du"
|
||||
|
||||
json_add_object ""
|
||||
json_add_string uniqueid "$uniqueid"
|
||||
json_add_string time "$timestart"
|
||||
json_add_int duration $((enddate - startdate))
|
||||
json_add_string disposition "$(echo $line | awk -F',' '{print $(NF-3)}')"
|
||||
json_add_string direction "$direction"
|
||||
json_add_string from "$from"
|
||||
json_add_string to "$to"
|
||||
json_add_string uniqueid "$uniqueid"
|
||||
json_add_string time "$time_start"
|
||||
json_add_int duration "$duration"
|
||||
json_add_string disposition "$disposition"
|
||||
json_add_string direction "$direction"
|
||||
json_add_string from "$source"
|
||||
json_add_string to "$destination"
|
||||
json_select ..
|
||||
done < /var/log/asterisk/cdr-csv/Master.csv
|
||||
|
||||
num_entries=$((num_entries+1))
|
||||
if [ $num_entries -ge 100 ]; then
|
||||
break
|
||||
fi
|
||||
done < ${LOGFILE}.tmp
|
||||
rm ${LOGFILE}.tmp
|
||||
json_dump
|
||||
;;
|
||||
platform)
|
||||
@@ -138,8 +171,8 @@ case "$1" in
|
||||
json_add_int chanoffset 0
|
||||
;;
|
||||
"tapi")
|
||||
json_add_int lineoffset 1
|
||||
json_add_int chanoffset -1
|
||||
json_add_int lineoffset 0
|
||||
json_add_int chanoffset 0
|
||||
;;
|
||||
*)
|
||||
# Error, unknown platform
|
||||
|
||||
@@ -49,6 +49,11 @@ 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
|
||||
@@ -56,6 +61,8 @@ 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"
|
||||
|
||||
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
|
||||
PKG_NAME:=voicesec
|
||||
PKG_VERSION:=1.0
|
||||
|
||||
PKG_SOURCE_URL:=git@dev.iopsys.eu:iopsys/voicesec.git
|
||||
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/voicesec.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=661c0091e579e284712aeed892e921cc84a6f0bb
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=wifilife
|
||||
PKG_VERSION:=1.0.3
|
||||
PKG_VERSION:=1.4.16
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_SOURCE_VERSION:=37d199b928f444710ab1ad0538f9f40650f5608c
|
||||
PKG_SOURCE_VERSION:=0486af24db19541f63c52d0fa4f2da5b7b727fc1
|
||||
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
|
||||
|
||||
ifeq ($(CONFIG_WIFILIFE_OPEN),y)
|
||||
@@ -16,7 +16,7 @@ PKG_SOURCE_URL:=http://iopsys.inteno.se/iopsys/consumer/
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(TARGET_PROD)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
|
||||
else
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=git@dev.iopsys.eu:iopsys/wifilife.git
|
||||
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/wifilife.git
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
|
||||
endif
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ remove_mbid_rules() {
|
||||
old_rule=${old_rule/-A /-D }
|
||||
eval $old_rule 2>/dev/null
|
||||
done
|
||||
rm /tmp/mbid_rules
|
||||
rm -f /tmp/mbid_rules
|
||||
}
|
||||
|
||||
# read firewall parental rules and add repeated addresses
|
||||
@@ -58,10 +58,15 @@ append_mbid_rules() {
|
||||
done
|
||||
}
|
||||
|
||||
finish() {
|
||||
rm -f /tmp/mbid.lock
|
||||
}
|
||||
trap finish EXIT INT TERM
|
||||
|
||||
while [ -f /tmp/mbid.lock ]; do
|
||||
sleep 2
|
||||
done
|
||||
touch /tmp/mbid.lock
|
||||
remove_mbid_rules
|
||||
append_mbid_rules
|
||||
rm /tmp/mbid.lock
|
||||
rm -f /tmp/mbid.lock
|
||||
|
||||
@@ -7,12 +7,55 @@ ENABLE=/tmp/owsd_enable
|
||||
USE_PROCD=1
|
||||
EXTRA_COMMANDS="enable_check"
|
||||
|
||||
# Check if 5g wifi interface is enabled or not
|
||||
is_5g_enabled()
|
||||
{
|
||||
. /lib/functions.sh
|
||||
|
||||
found=0
|
||||
radio=""
|
||||
check_radio()
|
||||
{
|
||||
local disabled band
|
||||
config_get_bool disabled $1 disabled "0"
|
||||
[ "$disabled" == "1" ] && return
|
||||
|
||||
config_get band $1 band ""
|
||||
[ "$band" == "a" ] && radio=$1
|
||||
}
|
||||
|
||||
check_iface()
|
||||
{
|
||||
local disabled ifname
|
||||
config_get_bool disabled $1 disabled "0"
|
||||
[ "$disabled" == "1" ] && return
|
||||
|
||||
config_get ifname $1 ifname ""
|
||||
[ "$ifname" == "$radio" ] && found=1
|
||||
}
|
||||
|
||||
config_load wireless
|
||||
config_foreach check_radio wifi-device
|
||||
|
||||
# not found
|
||||
[ "$radio" == "" ] && return 1
|
||||
|
||||
config_foreach check_iface wifi-iface
|
||||
|
||||
[ $found -eq 1 ] && return 0 || return 1
|
||||
}
|
||||
|
||||
start_service() {
|
||||
[ "$(uci -q get wifilife.@wifilife[0].enabled)" == "0" ] && return
|
||||
|
||||
# only start wifilife when there is 5g interface enabled
|
||||
if ! is_5g_enabled; then
|
||||
return
|
||||
fi
|
||||
|
||||
procd_open_instance
|
||||
procd_set_param command ${PROG} -d -l -f -o /tmp/wifiagent.log
|
||||
procd_set_param limits core="unlimited"
|
||||
procd_set_param respawn
|
||||
procd_close_instance
|
||||
|
||||
@@ -22,6 +65,7 @@ start_service() {
|
||||
if [ "$enable" == "1" ]; then
|
||||
echo $enable > $ENABLE
|
||||
procd_set_param command ${PROG} -c -d -l -f -o /tmp/wificntlr.log
|
||||
procd_set_param limits core="unlimited"
|
||||
fi
|
||||
procd_close_instance
|
||||
}
|
||||
@@ -57,5 +101,6 @@ enable_check() {
|
||||
|
||||
service_triggers() {
|
||||
procd_add_config_trigger "config.change" "wifilife" /etc/init.d/wifilife reload
|
||||
procd_add_config_trigger "config.change" "wireless" /etc/init.d/wifilife reload
|
||||
procd_add_config_trigger "config.change" "owsd" /etc/init.d/wifilife enable_check
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ PKG_NAME:=wifimngr
|
||||
PKG_VERSION:=1.0.2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=9cd787def3934610ed790d75cfba3208a84fcd81
|
||||
PKG_SOURCE_VERSION:=1961395cbf654305f0e08121d7119411913708cc
|
||||
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/wifimngr.git
|
||||
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user