Compare commits

..

5 Commits

Author SHA1 Message Date
Sukru Senli
87ede5e242 questd: fix makefile 2019-01-31 10:02:59 +01:00
Sukru Senli
79c02e1974 prplwrt: demo 2019-01-31 10:01:17 +01:00
Sukru Senli
5bea8c6918 questd: prplwrt demo 2019-01-31 09:57:58 +01:00
Sukru Senli
08ca9e4dc4 questd: prplwrt 2019-01-31 09:57:58 +01:00
Sukru Senli
2b7c67d0e8 questd: intel adaptations 2019-01-31 09:57:58 +01:00
152 changed files with 2301 additions and 4035 deletions

View File

@@ -1,16 +1,9 @@
/*
* Copyright (C) 2019 iopsys Software Solutions AB. All rights reserved.
*
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*/
#
# Copyright (C) 2016 inteno
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
@@ -27,9 +20,6 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)-$(PKG_SOURCE_VERSION).tar.
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
# support parallel build
#PKG_BUILD_PARALLEL:=1

View File

@@ -13,9 +13,6 @@ PKG_MD5SUM:=b72c17870bfab2fd791b1f6de4d79f9e
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=none
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)

View File

@@ -1,27 +0,0 @@
if PACKAGE_libbbfdm
config LIBBBFDM_VENDOR_PREFIX
string "Vendor Prefix"
default "X_IOPSYS_EU_"
config BBF_TR181
bool "Compile with tr181 device features"
default y
config BBF_TR104
bool "Compile with tr104 voice features"
default y
config BBF_TR143
bool "Compile with tr143 diagnostics features"
default y
config BBF_TR157
bool "Compile with tr157 bulkdata collector features"
default y
config BBF_TR064
bool "Compile with tr064 features"
default n
endif

View File

@@ -1,87 +0,0 @@
#
# Copyright (C) 2019 Iopsys
#
include $(TOPDIR)/rules.mk
PKG_NAME:=libbbfdm
PKG_VERSION:=1.0-2019-10-01
PKG_FIXUP:=autoreconf
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/bbf.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=b3bae9df19df35075ac52f53758288d8e0573790
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/libbbfdm
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Library for broadband-forum data model
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libtrace
endef
define Package/libbbfdm/config
source "$(SOURCE)/Config_bbfdm.in"
endef
define Package/libbbfdm/description
Test description will update later.
endef
TARGET_CFLAGS += -DCUSTOM_PREFIX=\\\"$(CONFIG_LIBBBFDM_VENDOR_PREFIX)\\\"
TARGET_CFLAGS += \
-D_GNU_SOURCE -D_AADJ
ifeq ($(CONFIG_BBF_TR181),y)
CONFIGURE_ARGS += \
--enable-tr181
endif
ifeq ($(CONFIG_BBF_TR104),y)
CONFIGURE_ARGS += \
--enable-tr104
endif
ifeq ($(CONFIG_BBF_TR143),y)
CONFIGURE_ARGS += \
--enable-tr143
endif
ifeq ($(CONFIG_BBF_TR157),y)
CONFIGURE_ARGS += \
--enable-tr157
endif
ifeq ($(CONFIG_BBF_TR064),y)
CONFIGURE_ARGS += \
--enable-tr064
endif
define Package/libbbfdm/install
$(INSTALL_DIR) $(1)/lib
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libbbfdm.so* $(1)/lib/
$(INSTALL_DIR) $(1)/etc/bbfdm
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/dmmap $(1)/etc/bbfdm
$(INSTALL_DIR) $(1)/usr/share/bbfdm
$(CP) $(PKG_BUILD_DIR)/scripts/functions $(1)/usr/share/bbfdm
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/include/libbbfdm
$(CP) $(PKG_BUILD_DIR)/*.h $(1)/usr/include/libbbfdm/
$(CP) $(PKG_BUILD_DIR)/dmtree/tr181/*.h $(1)/usr/include/libbbfdm/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libbbfdm.{a,so*} $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libbbfdm))

View File

@@ -1,42 +0,0 @@
#
# Copright (C) 2018 The Internet Foundation In Sweden
#
include $(TOPDIR)/rules.mk
PKG_NAME:=bbk_cli
PKG_SOURCE_VERSION:=7b810a696c78b746185c11282bdbe3fb7f8c5d4b
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/dotse/bbk.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/bbk_cli
CATEGORY:=Utilities
DEPENDS:=+libpthread +libstdcpp
TITLE:=Bredbandskollen CLI - A bandwidth measurement tool
endef
define Package/bbk_cli/description
To measure connection speed in an environment that is missing a web browser,
for example, in a server, you can use our command line interface bbk_cli,
which is available for some of the most common operating systems.
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR)/src/cli CROSS_COMPILE="$(TARGET_CROSS)"
endef
define Package/bbk_cli/install
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/cli/cli $(1)/sbin/bbk_cli
endef
$(eval $(call BuildPackage,bbk_cli))

View File

@@ -1,25 +0,0 @@
diff --git a/src/framework/engine.h b/src/framework/engine.h
index 57a48ad..9e1bc36 100644
--- a/src/framework/engine.h
+++ b/src/framework/engine.h
@@ -10,6 +10,7 @@
#include <map>
#include <vector>
#include <string>
+#include <sys/select.h>
#include "logger.h"
diff --git a/src/framework/mk.inc b/src/framework/mk.inc
index 793e211..13275be 100644
--- a/src/framework/mk.inc
+++ b/src/framework/mk.inc
@@ -7,7 +7,7 @@ OS:=$(shell uname)
CXXFLAGS += -O2 -W -Wall -I$(DIRLEVEL)
ifeq ($(OS),Linux)
-CXX = g++
+CXX = $(CROSS_COMPILE)g++
endif
ifeq ($(OS),Darwin)

View File

@@ -18,9 +18,6 @@ PKG_SOURCE_VERSION:=3ab81137cafe25c2ca4bc3a5f322a63646f9ce8d
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=none
include $(INCLUDE_DIR)/package.mk
define Package/bootchart2

View File

@@ -1,19 +1,9 @@
#
# Copyright (C) 2018 iopsys Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=catv
PKG_RELEASE:=1
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=none
include $(INCLUDE_DIR)/package.mk
define Package/catv

View File

@@ -1,18 +1,9 @@
#
# Copyright (C) 2019 iopsys Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=crashlog
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=none
include $(INCLUDE_DIR)/package.mk

View File

@@ -1,20 +1,19 @@
#
# Copyright (C) 2019 iopsys Software Solutions AB
# Copyright (C) 2006-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_RELEASE:=1
PKG_VERSION:=1.3.0
PKG_VERSION:=1.2.0
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dectmngr.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=2c8990fd5275d469e8ab6c7a99e17fe0a56052ea
PKG_SOURCE_VERSION:=0c029ed2486342e7e7687631b702d5c743f3c41a
PKG_NAME:=dectmngr2
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
RSTRIP:=true
export BUILD_DIR

View File

@@ -1,81 +0,0 @@
#
# Copyright (C) 2018 iopsys Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=dslmngr
PKG_VERSION:=1.0.0
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=7522faab4142fe2c0ac8cbf71bb0cc5bd49f0750
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dslmngr.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_mips),y)
TARGET_PLATFORM=BROADCOM
else ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),y)
TARGET_PLATFORM=BROADCOM
else ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
TARGET_PLATFORM=MEDIATEK
else ifeq ($(CONFIG_TARGET_iopsys_linksys),y)
TARGET_PLATFORM=MARVELL
else ifeq ($(CONFIG_TARGET_intel_mips),y)
TARGET_PLATFORM=INTEL
else
$(info Unexpected CONFIG_TARGET)
endif
export TARGET_PLATFORM
define Package/dslmngr
SECTION:=utils
CATEGORY:=Utilities
TITLE:=XDSL status and configration utility
DEPENDS:=+libdsl +libuci +libubox +ubus +libpthread +libnl-genl +easy-soc-libs
endef
define Package/dslmngr/description
This package can be used to configure and provide status about
the XDSL subsystem through UBUS.
endef
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/libnl3 \
-D_GNU_SOURCE
MAKE_FLAGS += \
CFLAGS="$(TARGET_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
FPIC="$(FPIC)"
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
rsync -r --exclude=.* ~/git/dslmngr/ $(PKG_BUILD_DIR)/
endef
endif
define Build/Compile
+$(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS)
endef
define Package/dslmngr/install
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/dslmngr $(1)/sbin/
endef
$(eval $(call BuildPackage,dslmngr))

View File

@@ -1,51 +0,0 @@
#
# Copyright (C) 2019 iopsys Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=easy-qos
PKG_VERSION:=1.1
PKG_RELEASE:=0
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=none
include $(INCLUDE_DIR)/package.mk
define Package/easy-qos
SECTION:=net
CATEGORY:=Network
TITLE:=Easy QoS
DEPENDS:=@(TARGET_intel_mips||TARGET_iopsys_brcm63xx_arm||TARGET_iopsys_brcm63xx_mips)
endef
define Package/easy-qos/description
This package contains Easy QoS utility
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
$(CP) ./files/* $(PKG_BUILD_DIR)/
endef
define Build/Compile
endef
define Package/easy-qos/install
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(CP) ./files/etc/config/easy_qos $(1)/etc/config/
ifeq ($(CONFIG_TARGET_intel_mips),y)
$(CP) ./files/etc/init.d/easy_qos.classcfg $(1)/etc/init.d/easy_qos
else
$(CP) ./files/etc/init.d/easy_qos.iptables $(1)/etc/init.d/easy_qos
endif
$(CP) ./files/etc/uci-defaults/* $(1)/etc/uci-defaults/
$(CP) ./files/etc/firewall.easyqos $(1)/etc/firewall.easyqos
endef
$(eval $(call BuildPackage,easy-qos))

View File

@@ -1 +0,0 @@
/etc/init.d/easy_qos reload

View File

@@ -1,165 +0,0 @@
#!/bin/sh /etc/rc.common
START=99
USE_PROCD=1
RULE_LIST="/tmp/easy_qos_rule.list"
BRIDGE_INTF=""
[ -f /etc/profile.d/intel.sh ] && {
. /etc/profile.d/intel.sh
sh /etc/profile.d/intel.sh
}
log() {
echo "${@}"|logger -t easy_qos_class -p debug
}
exec_log() {
${@} |grep -i successful
if [ "${?}" -ne 0 ]; then
log "Failed to create ${@}";
return 1
fi
return 0
}
get_priority() {
local prio=$(echo $1|tr [A-Z] [a-z]);
case "${prio}" in
"lowest")
echo 8;;
"low")
echo 7;;
"besteffort")
echo 6;;
"normal")
echo 5;;
"video")
echo 4;;
"medium")
echo 3;;
"high")
echo 2;;
"highest")
echo 1;;
esac
}
is_lan_bridge() {
local _section=$1
local _type
local _is_lan
config_get _type "$section" "type"
config_get _is_lan "$section" "is_lan"
if [ "${_type}" == "bridge" -a "${_is_lan}" == "1" ]; then
BRIDGE_INTF="br-${_section}"
fi
}
get_bridge_interface() {
config_load network
config_foreach is_lan_bridge interface
}
validate_rule_section()
{
uci_validate_section easy_qos rule "${1}" \
'priority:string:none' \
'macaddr:string:none' \
'proto:string:none' \
'port:list(uinteger):none' \
'comment:string:none'
}
# Clear existing rules before applying new rules
clear_existing_rules() {
# execute the delete rules written onto a file then delete the file
[ -f ${RULE_LIST} ] || return 0
while read line
do
log "Deleting old classification rules"
exec_log classcfg -D ${line} -i ${BRIDGE_INTF}
done <${RULE_LIST}
sync
[ -f ${RULE_LIST} ] && rm ${RULE_LIST}
}
# classcfg -M local_dhcp -i lo -p udp --dport 67:67 --dport 68:68 -j mark --mark 1
create_rule() {
local proto=$1; shift
local mac_addr=$1; shift
local mark=$1; shift
local ports=$1;
local cmd="";
# Rule name is uniqe, so we take hash of all the input as rule_name
local rule_name="$(echo ${mac_addr}${proto}${mark}${ports} |md5sum |head -c 30)"
cmd="-j mark --mark ${mark}";
if [ "${mac_addr}" != "none" ]; then
cmd="--smac ${mac_addr} ${cmd}";
fi
if [ "${ports}" != "none" ]; then
IFS=","
for port in ${ports};
do
cmd="--dport ${port}:${port} ${cmd}";
done
IFS=' '
fi
if [ "${proto}" != "none" ]; then
cmd="-p ${proto} $cmd"
fi
cmd="-i ${BRIDGE_INTF} $cmd"
cmd="-A ${rule_name} $cmd"
# Store the rule_names for cleanup on reload
exec_log classcfg ${cmd}
[ $? -eq 0 ] && \
echo ${rule_name} >> ${RULE_LIST}
}
manage_rule() {
local cfg="$1"
local priority macaddr proto port comment prio_num port_list
validate_rule_section "${1}" || {
log "Validation of section failed"
return 1;
}
prio_num=$(get_priority ${priority})
port_list=$(echo ${port}|sed 's/ /,/g')
if [ -n "${prio_num}" ]; then
if [ "${proto}" == "none" -o "${proto}" == "tcpudp" ]; then
create_rule tcp ${macaddr} ${prio_num} ${port_list}
create_rule udp ${macaddr} ${prio_num} ${port_list}
else
create_rule ${proto} ${macaddr} ${prio_num} ${port_list}
fi
fi
}
reload_service() {
get_bridge_interface
clear_existing_rules
config_load easy_qos
config_foreach manage_rule rule
}
start_service() {
[ -x /opt/intel/usr/sbin/classcfg ] || exit 0
reload_service
log "Easy QoS class installed"
}
service_triggers() {
procd_add_reload_trigger "easy_qos" "network"
}

View File

@@ -1,140 +0,0 @@
#!/bin/sh /etc/rc.common
START=99
USE_PROCD=1
log() {
echo "${@}"|logger -t easy_qos.ebtable -p debug
}
exec_log() {
${@}
if [ "${?}" -ne 0 ]; then
log "Failed to create ${@}";
fi
}
get_priority() {
local prio=$(echo $1|tr [A-Z] [a-z]);
case "${prio}" in
"lowest")
echo 0;;
"low")
echo 1;;
"besteffort")
echo 2;;
"normal")
echo 3;;
"video")
echo 4;;
"medium")
echo 5;;
"high")
echo 6;;
"highest")
echo 7;;
esac
}
validate_rule_section()
{
uci_validate_section easy_qos rule "${1}" \
'priority:string' \
'macaddr:string' \
'proto:string:none' \
'port:list(uinteger)' \
'comment:string:none'
}
# Clear existing rules before applying new rules
clear_existing_rules() {
local rule=$(ebtables -t broute -L BROUTING|grep -m 1 mark)
while [ -n "${rule}" ]; do
exec_log ebtables -t broute -D BROUTING ${rule}
rule=$(ebtables -t broute -L BROUTING|grep -m 1 mark)
done
}
create_rule() {
local protocol=$1; shift
local mac=$1; shift
local mark="0x$1"; shift
local forward_port=$1;
local cmd="";
local protocol_number
cmd="-j mark --mark-or ${mark}";
if [ -n "${forward_port}" ]; then
cmd="--ip-destination-port ${forward_port} ${cmd}";
fi
case "${protocol}" in
"tcp")
protocol_number=6;;
"udp")
protocol_number=17;;
"dccp")
protocol_number=33;;
"sctp")
protocol_number=132;;
*)
log "Protocol ${protocol} not supported in ebtables"
return;;
esac
cmd="--ip-proto ${protocol_number} $cmd"
cmd="-p ip $cmd"
cmd="-s ${mac} $cmd"
exec_log ebtables -t broute -A BROUTING ${cmd}
}
manage_rule() {
local cfg="$1"
local priority macaddr proto port comment prio_num protocol
validate_rule_section "${1}" || {
log "Validation of section failed"
return 1;
}
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" -o "${protocol}" == "tcpudp" ]; 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" -o "${protocol}" == "tcpudp" ]; then
create_rule tcp ${macaddr} ${prio_num}
create_rule udp ${macaddr} ${prio_num}
else
create_rule ${protocol} ${macaddr} ${prio_num}
fi
fi
fi
}
reload_service() {
# Do not apply rules if ebtables is not present in system
[ -x /usr/sbin/ebtables ] || return;
clear_existing_rules
config_load easy_qos
config_foreach manage_rule rule
}
start_service() {
reload_service
}
service_triggers() {
procd_add_reload_trigger "easy_qos"
}

View File

@@ -1,186 +0,0 @@
#!/bin/sh /etc/rc.common
. /usr/share/libubox/jshn.sh
START=99
USE_PROCD=1
CLIENT_LIST="/tmp/easy_qos_client.list"
log() {
echo "${@}"|logger -t easy_qos -p debug
}
exec_log() {
${@}
if [ "${?}" -ne 0 ]; then
log "Failed to create ${@}";
fi
}
get_priority() {
local prio=$(echo $1|tr [A-Z] [a-z]);
case "${prio}" in
"lowest")
echo 0;;
"low")
echo 1;;
"besteffort")
echo 2;;
"normal")
echo 3;;
"video")
echo 4;;
"medium")
echo 5;;
"high")
echo 6;;
"highest")
echo 7;;
esac
}
clean_client_entries() {
[ -f ${CLIENT_LIST} ] && rm ${CLIENT_LIST}
}
map_client_entries() {
local clients ip mac host
json_load "$(ubus call router.network 'clients')"
json_get_keys keys
for key in ${keys};
do
json_select ${key}
json_get_vars ipaddr macaddr hostname
clients="${macaddr} ${ipaddr} ${hostname};${clients}"
json_select ..
done
json_init
# json_add_array "clients"
IFS=";"
for client in ${clients};
do
macaddr=$(echo ${client} | cut -d" " -f1)
json_add_object "${macaddr//:/_}"
json_add_string "ip" "$(echo ${client} | cut -d" " -f2)"
json_add_string "macaddr" "$(echo ${client} | cut -d" " -f1)"
json_add_string "host" "$(echo ${client} | cut -d" " -f3)"
json_close_object
done
IFS=' '
echo `json_dump` > ${CLIENT_LIST}
json_cleanup
}
# Find the IP of a corresponding mac from arp table
get_ipaddress() {
local clients ip mac host
json_load "$(cat ${CLIENT_LIST})"
json_get_keys keys
# jshn seems a bit iffy on having : in key, replace by _
json_select "${1//:/_}" 2 > /dev/null
json_get_var ip ip
echo "$ip"
}
validate_rule_section()
{
uci_validate_section easy_qos rule "${1}" \
'priority:string' \
'macaddr:string' \
'proto:string:none' \
'port:list(uinteger)' \
'comment:string:none'
}
# 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')
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')
done
}
check_and_create() {
iptables -t mangle -C OUTPUT ${@} 2>/dev/null
# Create rule if not exists
if [ ${?} -ne 0 ]; then
exec_log iptables -t mangle -A OUTPUT ${@}
else
log "Rule exists for ${@}"
fi
}
create_rule() {
local proto=$1; shift
local src_ip=$1; shift
local mark="0x$1/0x$1"; shift
local ports=$1;
local cmd="";
cmd="-j MARK --set-xmark ${mark}";
if [ -n "${ports}" ]; then
cmd="--match multiport --dports ${ports} ${cmd}";
fi
if [ "${proto}" == "icmp" ]; then
cmd="-p icmp -m icmp --icmp-type 8 $cmd"
elif [ "${proto}" == "all" ]; then
cmd="-p all $cmd"
else
cmd="-p ${proto} -m ${proto} $cmd"
fi
cmd="-s ${src_ip} $cmd"
check_and_create ${cmd}
}
manage_rule() {
local cfg="$1"
local priority macaddr proto port comment prio_num ip port_list
validate_rule_section "${1}" || {
log "Validation of section failed"
return 1;
}
prio_num=$(get_priority ${priority})
ip=$(get_ipaddress ${macaddr})
port_list=$(echo ${port}|sed 's/ /,/g')
if [ -n "${ip}" -a -n "${prio_num}" ]; then
if [ "${proto}" == "none" -o "${proto}" == "tcpudp" ]; then
create_rule tcp ${ip} ${prio_num} ${port_list}
create_rule udp ${ip} ${prio_num} ${port_list}
else
create_rule ${proto} ${ip} ${prio_num} ${port_list}
fi
fi
}
reload_service() {
clear_existing_rules
map_client_entries
config_load easy_qos
config_foreach manage_rule rule
clean_client_entries
}
start_service() {
reload_service
echo "Easy QoS installed">/dev/console;
}
service_triggers() {
procd_add_reload_trigger "easy_qos"
}

View File

@@ -1,10 +0,0 @@
# Add firewall include
uci -q batch <<-EOT
delete firewall.easyqos
set firewall.easyqos=include
set firewall.easyqos.path=/etc/firewall.easyqos
set firewall.easyqos.reload=1
uci del_list firewall.easyqos._access_w="root"
uci add_list firewall.easyqos._access_w="root"
commit firewall
EOT

View File

@@ -1,10 +0,0 @@
if (PACKAGE_libwifix)
menu "configurations"
config LIBWIFIX_DEBUG
depends on PACKAGE_libwifix
bool "Enable wifi debugging"
default n
endmenu
endif

View File

@@ -1,111 +0,0 @@
#
# Copyright (C) 2019 iopsys Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=easy-soc-libs.deprecated
PKG_VERSION:=1.0.1
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=b88afddd2f4cb216bfcd190f9096c138299c28e2
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/easy-soc-libs.git
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/easy-soc-libs.deprecated
SECTION:=libs
CATEGORY:=Libraries
TITLE:=IOPSYS easy SoC libraries (deprecated)
SUBMENU:=IOPSYS easy SoC libraries (deprecated)
DEPENDS:=+libopenssl
MENU:=1
endef
define Package/libwifix/config
source "$(SOURCE)/Config.in"
endef
define Package/libwifix
$(call Package/easy-soc-libs.deprecated)
TITLE:= WiFi library for wifix (deprecated)
DEPENDS+=+libnl +libnl-route
endef
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_mips),y)
TARGET_PLATFORM=BROADCOM
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCONFIG_BCM963138 \
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx
KERNEL_DIR:=$(BUILD_DIR)/bcmkernel/bcm963xx
else ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),y)
TARGET_PLATFORM=BROADCOM
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCONFIG_BCM963138 \
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx
else ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
TARGET_PLATFORM=MEDIATEK
TARGET_CFLAGS +=-DIOPSYS_MEDIATEK
else ifeq ($(CONFIG_TARGET_iopsys_linksys),y)
TARGET_PLATFORM=MARVELL
TARGET_CFLAGS +=-DIOPSYS_MARVELL
else ifeq ($(CONFIG_TARGET_intel_mips),y)
TARGET_PLATFORM=INTEL
TARGET_CFLAGS +=-DIOPSYS_INTEL
else ifeq ($(CONFIG_TARGET_ipq),y)
TARGET_PLATFORM=QCA
TARGET_CFLAGS +=-DIOPSYS_QCA
else
$(info Unexpected CONFIG_TARGET)
endif
export TARGET_PLATFORM
ifdef CONFIG_LIBWIFIX_DEBUG
TARGET_CFLAGS += -DIOP_LLA_LIBS_DEBUG
endif
subdirs := \
$(if $(CONFIG_PACKAGE_libwifix),libwifix)
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/openssl \
-I$(STAGING_DIR)/usr/include/libnl3
MAKE_FLAGS += \
CFLAGS="$(TARGET_CFLAGS) -Wall -I./" \
LDFLAGS="$(TARGET_LDFLAGS)" \
FPIC="$(FPIC)" \
PLATFORM="$(TARGET_PLATFORM)" \
subdirs="$(subdirs)"
define Build/InstallDev/libwifix
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libwifix/wifi.h $(1)/usr/include/wifix.h
$(CP) $(PKG_BUILD_DIR)/libwifix/libwifi*.so* $(1)/usr/lib/
endef
define Build/Compile
$(call Build/Compile/Default)
endef
define Build/InstallDev
$(foreach dir,$(subdirs),$(call Build/InstallDev/$(dir),$(1),$(2));)
endef
define Package/libwifix/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libwifix/libwifi*.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libwifix))

View File

@@ -15,9 +15,5 @@ config LIBDSL_DEBUG
bool "Enable xdsl debugging"
default n
config LIBDSL_TEST
depends on PACKAGE_libdsl
bool "Libdsl test program"
default n
endmenu
endif

View File

@@ -1,29 +1,21 @@
#
# Copyright (C) 2019 iopsys Software Solutions AB
# Copyright (C) 2018 Iopsys
#
# This is free software, licensed under the GNU General Public License v2.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=easy-soc-libs
PKG_VERSION:=2.4.1
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=1b6234d2dad694ace8af50956cd66f1c96f2255f
PKG_SOURCE_VERSION:=87ad01a06b7898ae45e94444e0caa7e2cc264cc8
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/easy-soc-libs.git
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@inteno.se>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/easy-soc-libs
@@ -42,24 +34,26 @@ endef
define Package/libwifi
$(call Package/easy-soc-libs)
TITLE:= WiFi library (libwifi)
DEPENDS+=+libnl +libnl-route
endef
define Package/libdsl
$(call Package/easy-soc-libs)
TITLE:= XDSL library (libdsl)
endef
define Package/libethernet
$(call Package/easy-soc-libs)
TITLE:= Ethernet library (libethernet)
DEPENDS+=+TARGET_iopsys_ramips:swconfig
DEPENDS:=+TARGET_iopsys_ramips:swconfig
endef
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_mips),y)
TARGET_PLATFORM=BROADCOM
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCONFIG_BCM963138 \
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCONFIG_BCM963138
KERNEL_DIR:=$(BUILD_DIR)/bcmkernel/bcm963xx
else ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),y)
TARGET_PLATFORM=BROADCOM
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCONFIG_BCM963138 \
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCONFIG_BCM963138
else ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
TARGET_PLATFORM=MEDIATEK
TARGET_CFLAGS +=-DIOPSYS_MEDIATEK
@@ -70,21 +64,13 @@ else ifeq ($(CONFIG_TARGET_intel_mips),y)
TARGET_PLATFORM=INTEL
TARGET_CFLAGS +=-DIOPSYS_INTEL
else
$(info Unexpected CONFIG_TARGET)
$(info (UNEXPECTED CONFIG TARGET))
endif
export TARGET_PLATFORM
ifdef CONFIG_IOP_LLA_LIBS_DEBUG
TARGET_CFLAGS += -DIOP_LLA_LIBS_DEBUG
endif
define Package/libdsl
$(call Package/easy-soc-libs)
TITLE:= XDSL library (libdsl)
DEPENDS+=+TARGET_intel_mips:dsl-cpe-api-vrx +TARGET_intel_mips:dsl-cpe-fapi +TARGET_intel_mips:kmod-ppa-drv
endef
subdirs := \
$(if $(CONFIG_PACKAGE_libwifi),libwifi) \
$(if $(CONFIG_PACKAGE_libdsl),libdsl) \
@@ -92,27 +78,20 @@ subdirs := \
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/openssl \
-I$(STAGING_DIR)/usr/include/libnl3
MAKE_FLAGS += \
CFLAGS="$(TARGET_CFLAGS) -Wall -I./" \
CFLAGS="$(TARGET_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
FPIC="$(FPIC)" \
PLATFORM="$(TARGET_PLATFORM)" \
subdirs="$(subdirs)"
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
rsync -r --exclude=.* ~/git/easy-soc-libs/ $(PKG_BUILD_DIR)/
endef
endif
define Build/InstallDev/libwifi
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libwifi/wifi.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/libwifi/libwifi*.so* $(1)/usr/lib/
$(CP) $(PKG_BUILD_DIR)/libwifi/libwifi.so* $(1)/usr/lib/
endef
define Build/InstallDev/libdsl
@@ -129,12 +108,6 @@ define Build/InstallDev/libethernet
$(CP) $(PKG_BUILD_DIR)/libethernet/libethernet.so $(1)/usr/lib/
endef
define Build/Compile
$(call Build/Compile/Default)
ifeq ($(CONFIG_LIBDSL_TEST),y)
$(MAKE) -C "$(PKG_BUILD_DIR)/libdsl/test" $(MAKE_FLAGS)
endif
endef
define Build/InstallDev
$(foreach dir,$(subdirs),$(call Build/InstallDev/$(dir),$(1),$(2));)
@@ -142,7 +115,7 @@ endef
define Package/libwifi/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libwifi/libwifi*.so* $(1)/usr/lib/
$(CP) $(PKG_BUILD_DIR)/libwifi/libwifi.so* $(1)/usr/lib/
endef
define Package/libethernet/install
@@ -152,11 +125,7 @@ endef
define Package/libdsl/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_BUILD_DIR)/libdsl/libdsl.so* $(1)/usr/lib/
ifeq ($(CONFIG_LIBDSL_TEST),y)
$(CP) $(PKG_BUILD_DIR)/libdsl/test/libdsl_test $(1)/usr/bin/
endif
endef
$(eval $(call BuildPackage,libwifi))

View File

@@ -1,31 +1,27 @@
#
# Copyright (C) 2018 IOPSYS Software Solutions AB
# Copyright (C) 2006-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_RELEASE:=1
PKG_VERSION:=0.2
PKG_SOURCE_VERSION:=ef49d57c3824df4dfb4921d39461e2bd14f918a7
PKG_SOURCE_VERSION:=a78fe95d5c5a0a320f3b62b9d2faafd07b56e3a7
ifeq ($(CONFIG_ENDPT_OPEN),y)
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://download.iopsys.eu/iopsys/opensdk/
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_PROTO:=git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_NAME:=endptmngr
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
endif
RSTRIP:=true

View File

@@ -1,7 +1,7 @@
#
# Copyright (C) 2006-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v3.
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
@@ -20,9 +20,6 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)-$(PKG_SOURCE_VERSION).tar.
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=LICENSE
# support parallel build
#PKG_BUILD_PARALLEL:=1

3
gigaset-elements/.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
git-src

65
gigaset-elements/Makefile Normal file
View File

@@ -0,0 +1,65 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=gigaset-elements
PKG_VERSION:=2.4.2
# PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_GIGASET_ELEMENTS_SRC_URL ?= git@dev.iopsys.eu:3rdparty/gigaset-elements.git
PKG_GIGASET_ELEMENTS_VERSION ?= v$(PKG_VERSION)
PKG_SOURCE_URL:=$(PKG_GIGASET_ELEMENTS_SRC_URL)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=aa906b37062b6d7937a9c0f8e7b62b32afe4bdeb
PKG_MAINTAINER:=Magier Marcin, Figlarek Piotr
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
include $(INCLUDE_DIR)/package.mk
######################################################
define Package/gigaset-elements
SECTION:=utils
CATEGORY:=Utilities
DEPENDS:=+libjson-c +libcurl +libpthread
TITLE:=Gigaset elements
endef
######################################################
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) all
endef
define Package/gigaset-elements/install
$(CP) -r $(PKG_BUILD_DIR)/sysroot_common/* $(1)/
$(CP) -r $(PKG_BUILD_DIR)/sysroot_$(CONFIG_ARCH)/* $(1)/
endef
define Package/gigaset-elements/preinst
#!/bin/sh
mkdir -p $${IPKG_INSTROOT}/usr/gigaset/data/cert
mkdir -p $${IPKG_INSTROOT}/usr/gigaset/data/fw
endef
define Package/gigaset-elements/postrm
#!/bin/sh
rm -rf $${IPKG_INSTROOT}/usr/gigaset/data
rm -rf /usr/share/gigaset
endef
######################################################
$(eval $(call BuildPackage,gigaset-elements))

View File

@@ -1,62 +0,0 @@
# Copyright (c) 2017 Genexis B.V.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# version 2 as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
# 02110-1301 USA
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=gryphon-led-kernel-module
PKG_RELEASE:=1
include $(INCLUDE_DIR)/package.mk
define KernelPackage/$(PKG_NAME)
SUBMENU:=LED modules
TITLE:=LED driver for Gryphon
FILES:=$(PKG_BUILD_DIR)/$(PKG_NAME).$(LINUX_KMOD_SUFFIX)
KCONFIG:=CONFIG_PACKAGE_kmod-gryphon-led-kernel-module=y
AUTOLOAD:=$(call AutoLoad,60,$(PKG_NAME))
PKG_LICENSE:=GPLv2
PKG_LICENSE_URL:=
endef
define KernelPackage/$(PKG_NAME)/description
This package contains the LED driver for Gryphon devices.
endef
EXTRA_KCONFIG:= CONFIG_RGB_LED=m
MODULE_INCLUDE=-I$(PKG_BUILD_DIR)
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)/kdevlinks/
$(CP) -s `pwd`/src/* $(PKG_BUILD_DIR)/kdevlinks/
$(CP) src/* $(PKG_BUILD_DIR)
endef
define Build/Compile
$(MAKE) -C "$(LINUX_DIR)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
ARCH="$(LINUX_KARCH)" \
SUBDIRS="$(PKG_BUILD_DIR)" \
EXTRA_CFLAGS="-DKERNEL_MODULE $(BUILDFLAGS) -I$(LINUX_DIR)/include -include generated/autoconf.h $(MODULE_INCLUDE)" \
modules
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
endef
$(eval $(call KernelPackage,$(PKG_NAME)))

View File

@@ -1,26 +0,0 @@
# Copyright (c) 2017 Genexis B.V.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# version 2 as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
# 02110-1301 USA
MODULE_NAME = gryphon-led-kernel-module
obj-m := $(MODULE_NAME).o
GENEXIS_FILES= \
main.o \
sk9822.o \
sk9822_bitbang.o
$(MODULE_NAME)-objs := $(GENEXIS_FILES)

View File

@@ -1,253 +0,0 @@
/*
* Copyright (c) 2017 Genexis B.V.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#define DEBUG 1
#include <linux/delay.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/printk.h>
#include <linux/init.h>
#include <linux/err.h>
#include <linux/platform_device.h>
#include <linux/gpio/consumer.h>
#include <linux/of.h>
#include <linux/version.h>
#include "sk9822.h"
#define DRIVER_NAME "canyon_led"
#define DRIVER_AUTHOR "Genexis B.V."
#define DRIVER_DESC "Canyon LED driver for SK9822"
#define DRIVER_VERSION "1"
/**
* sysfs interfaces
*/
static ssize_t get_led_color(struct device *dev,
struct device_attribute *attr, char *buf)
{
/* [ln] todo: dummy implementation */
int len;
len = sprintf(buf, "%d\n", 123);
if (len <= 0) {
dev_err(dev, "sk9822: Invalid sprintf len: %d\n", len);
}
return len;
}
/**
* @brief Set complete LED strip to a specific color
* @retval count number of bytes written
* @retval -EMSGSIZE if the message is too big
* @retval -EIO for all other errors (e.g. leds cannot be configured)
*/
static ssize_t set_led_color(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{
int ret = 0;
size_t buflen = count;
struct sk9822_leds *sk9822 = dev_get_drvdata(dev);
if (IS_ERR(sk9822)) {
printk(KERN_ERR "Platform get drvdata returned NULL\n");
return -EIO;
}
/* strip newline */
if ((count > 0) && (buf[count-1] == '\n')) {
buflen--;
}
if (buflen != 6) { // RRGGBB\0
return -EMSGSIZE;
}
// Update the LED array here
ret = sk9822_set_color_str(sk9822, buf);
if (ret != 0) {
printk(KERN_ERR "Failed to set led color\n");
return -EIO;
}
// Now push to the HW
ret = sk9822_update(sk9822);
if (ret != 0) {
printk(KERN_ERR "Failed to update led\n");
return -EIO;
}
return count;
}
static DEVICE_ATTR(led_color, S_IRUGO | S_IWUSR, get_led_color, set_led_color);
static struct attribute *sk9822_dev_attrs[] = {
&dev_attr_led_color.attr,
NULL
};
static struct attribute_group sk9822_dev_attr_group = {
.name = "sk9822",
.attrs = sk9822_dev_attrs,
};
/**
* device prope and removal
*/
static int canyon_led_probe(struct platform_device *pdev)
{
int ret;
struct sk9822_leds *leds;
leds = devm_kzalloc(&pdev->dev, sizeof(*leds), GFP_KERNEL);
if (!leds) {
return -ENOMEM;
}
leds->dev = &pdev->dev;
leds->led_brightness = SK9822_DEFAULT_BRIGHTNESS;
ret = of_property_read_u16(pdev->dev.of_node, "led-count", &leds->led_count);
if (ret < 0) {
dev_warn(&pdev->dev, "Could not read led-count property\n");
leds->led_count = SK9822_DEFAULT_NUM_LEDS;
}
leds->led_colors = devm_kzalloc(&pdev->dev,
(sizeof(cRGB) * leds->led_count), GFP_KERNEL);
if (!leds->led_colors) {
return -ENOMEM;
}
platform_set_drvdata(pdev, leds);
#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 16, 0)
leds->clock_gpio = gpiod_get_index(&pdev->dev, "led", 0);
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
leds->clock_gpio = gpiod_get_index(&pdev->dev, "led", 0, GPIOD_OUT_HIGH);
#else
dev_warn(&pdev->dev, "Kernel version Not supported\n");
exit(1);
#endif
gpiod_direction_output(leds->clock_gpio, 1);
if (IS_ERR(leds->clock_gpio)) {
dev_err(&pdev->dev, "Failed to acquire clock GPIO %ld\n",
PTR_ERR(leds->clock_gpio));
leds->clock_gpio = NULL;
return PTR_ERR(leds->clock_gpio);
} else {
printk(KERN_INFO "Got clock gpio\n");
gpiod_set_value(leds->clock_gpio, 0);
}
#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 16, 0)
leds->data_gpio = gpiod_get_index(&pdev->dev, "led", 1);
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
leds->data_gpio = gpiod_get_index(&pdev->dev, "led", 1, GPIOD_OUT_HIGH);
#else
dev_warn(&pdev->dev, "Kernel version Not supported\n");
exit(1);
#endif
gpiod_direction_output(leds->data_gpio, 1);
if (IS_ERR(leds->data_gpio)) {
dev_err(&pdev->dev, "Failed to acquire data GPIO %ld\n",
PTR_ERR(leds->data_gpio));
leds->data_gpio = NULL;
return PTR_ERR(leds->data_gpio);
} else {
printk(KERN_INFO "Got data gpio\n");
gpiod_set_value(leds->data_gpio, 0);
}
printk(KERN_INFO "Attempt to set filefs stuff\n");
ret = sysfs_create_group(&pdev->dev.kobj, &sk9822_dev_attr_group);
if (ret) {
dev_err(&pdev->dev, "sysfs creation failed\n");
return ret;
}
#if 0
printk(KERN_INFO "Flash LEDs to verify they work\n");
sk9822_set_color_str(leds, "00FF00");
sk9822_update(leds);
msleep(200);
sk9822_set_color_str(leds, "000000");
sk9822_update(leds);
#endif
printk(KERN_INFO "canyon led successfully probed\n");
return 0;
}
static int canyon_led_remove(struct platform_device *pdev)
{
struct sk9822_leds *leds;
sysfs_remove_group(&pdev->dev.kobj, &sk9822_dev_attr_group);
leds = platform_get_drvdata(pdev);
if (IS_ERR(leds)) {
printk(KERN_ERR "Platform get drvdata returned NULL\n");
return -1;
}
if (leds->clock_gpio) {
gpiod_put(leds->clock_gpio);
}
if (leds->data_gpio) {
gpiod_put(leds->data_gpio);
}
printk(KERN_NOTICE "Bye, bye\n");
return 0;
}
/**
* platform driver metadata
*/
static const struct of_device_id canyon_led_of_ids[] = {
{ .compatible = "canyon,led" },
{ }
};
static struct platform_driver canyon_led = {
.probe = &canyon_led_probe,
.remove = &canyon_led_remove,
.driver = {
.name = DRIVER_NAME,
.owner = THIS_MODULE,
.of_match_table = canyon_led_of_ids,
},
};
MODULE_DEVICE_TABLE(of, canyon_led_of_ids);
module_platform_driver(canyon_led);
MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_VERSION(DRIVER_VERSION);
MODULE_LICENSE("GPL");

View File

@@ -1,82 +0,0 @@
/*
* Copyright (c) 2017 Genexis B.V.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#include <linux/kernel.h>
#include <linux/types.h>
#include "sk9822.h"
#include "sk9822_bitbang.h"
cRGB __hexs_to_rgb(const char *hex)
{
cRGB rgb;
int r, g, b;
sscanf(hex, "%02x%02x%02x", &r, &g, &b);
// This needs sanity checking
rgb.r = r;
rgb.g = g;
rgb.b = b;
return rgb;
}
/**
* @brief update the color over the given device struct to the provided HEX color
*/
int sk9822_set_color_str(struct sk9822_leds *sk9822, const char *hex)
{
int i;
cRGB color = __hexs_to_rgb(hex);
for (i = 0; i < sk9822->led_count; i++) {
sk9822->led_colors[i] = color;
}
return 0;
}
/**
* @brief write device struct to the device
*/
int sk9822_update(struct sk9822_leds *sk9822)
{
uint16_t i;
uint16_t led_count = sk9822->led_count;
// Start Frame
sk9822_bb_write(sk9822, 0x00);
sk9822_bb_write(sk9822, 0x00);
sk9822_bb_write(sk9822, 0x00);
sk9822_bb_write(sk9822, 0x00);
for (i = 0; i < led_count; i++) {
cRGB *p = &sk9822->led_colors[i];
sk9822_bb_write(sk9822, 0xe0+sk9822->led_brightness); // Maximum global brightness
sk9822_bb_write(sk9822, p->b);
sk9822_bb_write(sk9822, p->g);
sk9822_bb_write(sk9822, p->r);
}
// End frame
sk9822_bb_write(sk9822, 0xff);
sk9822_bb_write(sk9822, 0xff);
sk9822_bb_write(sk9822, 0xff);
sk9822_bb_write(sk9822, 0xff);
return 0;
}

View File

@@ -1,46 +0,0 @@
/*
* Copyright (c) 2017 Genexis B.V.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#ifndef SK9822_H_
#define SK9822_H_
#include <linux/types.h>
#define SK9822_DEFAULT_NUM_LEDS 32 // U16, used if DT param fails
#define SK9822_DEFAULT_BRIGHTNESS 15 // 5-bit brightness, 0-31
typedef struct {
uint8_t b;
uint8_t g;
uint8_t r;
} cRGB; // BGR (SK9822 Standard)
struct sk9822_leds {
struct device *dev;
struct gpio_desc *clock_gpio;
struct gpio_desc *data_gpio;
cRGB *led_colors;
uint8_t led_brightness;
uint16_t led_count;
};
int sk9822_set_color_str(struct sk9822_leds *sk9822, const char *hex);
int sk9822_update(struct sk9822_leds *sk9822);
#endif /* SK9822_H_ */

View File

@@ -1,48 +0,0 @@
/*
* Copyright (c) 2017 Genexis B.V.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#include <linux/gpio/consumer.h>
#include <linux/delay.h>
#include <linux/types.h>
#include "sk9822.h"
/**
* @brief Bitbang write operation CLOCK+DATA
*
* Assumed state before call: CLOCK- Low, DATA- High
*/
void sk9822_bb_write(struct sk9822_leds *sk9822, uint8_t c)
{
uint8_t i;
for (i = 0; i < 8 ; i++) {
if (!(c&0x80)) {
gpiod_set_value(sk9822->data_gpio, 0); // set data low
} else {
gpiod_set_value(sk9822->data_gpio, 1); // set data high
}
gpiod_set_value(sk9822->clock_gpio, 1); // set clock high, data sampled here
c <<= 1;
udelay(1); // stretch clock
gpiod_set_value(sk9822->clock_gpio, 0); // set clock low
}
// State after call: SCK Low, Data high
}

View File

@@ -1,28 +0,0 @@
/*
* Copyright (c) 2017 Genexis B.V.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#ifndef _SK9822_BB_H_
#define _SK9822_BB_H_
#include <linux/types.h>
#include "sk9822.h"
void sk9822_bb_write(struct sk9822_leds *sk9822, uint8_t c);
#endif /* _SK9822_BB_H_ */

4
ice-client/Config.in Normal file
View File

@@ -0,0 +1,4 @@
config ICE_OPEN
bool "Use pre-compiled version for Open SDK"
default n

1046
ice-client/Makefile Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,72 @@
#!/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 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2019 iopsys Software Solutions AB
# Copyright (C) 2016 Inteno Broadband AB
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.

View File

@@ -19,9 +19,17 @@ config CWMP_DEBUG
bool "Compile with debug options"
default y
config XMPP_ENABLE
bool "enable xmpp feature"
default n
config CWMP_DEVEL_DEBUG
bool "Compile with development debug options"
default n
config LIBDATAMODEL_VENDOR_PREFIX
string "Vendor Prefix"
default "X_IOPSYS_EU_"
endif

View File

@@ -0,0 +1,7 @@
if PACKAGE_libdatamodel
config UPNP_TR064
bool "Compile with tr064 features"
default n
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2019 iopsys Software Solutions AB
# Copyright (C) 2012 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,17 +8,15 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=icwmp
PKG_VERSION:=4.0-2019-10-01
PKG_VERSION:=4.0-2019-01-28
PKG_FIXUP:=autoreconf
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/icwmp.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=ed781436f96f2dc3cf58b35adc640c6f9f6783d1
PKG_SOURCE_VERSION:=e00dfdf152a85035d411332b7a81d31853dbe61d
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=COPYING
PKG_CONFIG_DEPENDS:= \
CONFIG_CWMP_ACS_MULTI \
@@ -32,6 +30,13 @@ CWMP_REVISION=$(shell svnversion ./src/ -n|cut -f2 -d:)
include $(INCLUDE_DIR)/package.mk
define Package/libdatamodel
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Library for broadband-forum data model
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c
endef
define Package/icwmp_stun
SECTION:=utils
CATEGORY:=Utilities
@@ -46,32 +51,11 @@ define Package/icwmp_xmpp
DEPENDS:=+libuci +libubox +libexpat +libstrophe
endef
define Package/icwmp_twamp
SECTION:=utils
CATEGORY:=Utilities
TITLE:=TR-069 twamp feature
DEPENDS:=+libuci
endef
define Package/icwmp_udpechoserver
SECTION:=utils
CATEGORY:=Utilities
TITLE:=TR-069 udpechoserver feature
DEPENDS:=+libuci
endef
define Package/icwmp_bulkdata
SECTION:=utils
CATEGORY:=Utilities
TITLE:=TR-069 BulkData Collection
DEPENDS:=+libubus +libuci +libubox +libjson-c +libcurl +curl +libblobmsg-json +libbbfdm
endef
define Package/icwmp/Default
SECTION:=utils
CATEGORY:=Utilities
TITLE:=CWMP client
DEPENDS:=+libuci +libmicroxml +libubox +jshn +libubus +libblobmsg-json +libpthread +ubusd +shflags +getopt +zlib +libjson-c +libopenssl +curl +libbbfdm +(PACKAGE_libtr098):libtr098
DEPENDS:=+libuci +libmicroxml +libubox +jshn +libubus +libblobmsg-json +libpthread +ubusd +shflags +getopt +zlib +libjson-c +libopenssl +libexpat +libstrophe +curl +libtrace +libdatamodel
endef
define Package/icwmp/description
@@ -96,6 +80,10 @@ define Package/icwmp-zstream/config
source "$(SOURCE)/Config_cwmp.in"
endef
define Package/libdatamodel/config
source "$(SOURCE)/Config_datamodel.in"
endef
USE_LOCAL=$(shell ls ./src/ 2>/dev/null >/dev/null && echo 1)
ifneq ($(USE_LOCAL),)
define Build/Prepare
@@ -107,6 +95,8 @@ ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
TARGET_CFLAGS += -DEX400
endif
TARGET_CFLAGS += -DCUSTOM_PREFIX=\\\"$(CONFIG_LIBDATAMODEL_VENDOR_PREFIX)\\\"
TARGET_CFLAGS += \
-D_GNU_SOURCE -D_AADJ
@@ -127,6 +117,16 @@ CONFIGURE_ARGS += \
--with-libubox-include-path=$(STAGING_DIR)/usr/include \
--with-libubus-include-path=$(STAGING_DIR)/usr/include
ifeq ($(CONFIG_UPNP_TR064),y)
CONFIGURE_ARGS += \
--enable-upnptr064
endif
ifeq ($(CONFIG_XMPP_ENABLE),y)
CONFIGURE_ARGS += \
--enable-xmpp
endif
ifeq ($(BUILD_VARIANT),zstream)
CONFIGURE_ARGS += \
--enable-http=zstream \
@@ -158,23 +158,18 @@ CONFIGURE_ARGS += \
--enable-devel
endif
ifeq ($(CONFIG_PACKAGE_libtr098),y)
CONFIGURE_ARGS += \
--enable-tr098
endif
CONFIGURE_ARGS += \
--enable-tr181
define Package/libdatamodel/install
$(INSTALL_DIR) $(1)/lib
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libdatamodel.so* $(1)/lib/
endef
define Package/icwmp-$(BUILD_VARIANT)/install
$(INSTALL_DIR) $(1)/etc/icwmpd
$(INSTALL_DIR) $(1)/usr/sbin
$(CP) $(PKG_BUILD_DIR)/bin/icwmpd $(1)/usr/sbin
ifeq ($(CONFIG_PACKAGE_libtr098),y)
$(CP) $(PKG_BUILD_DIR)/bin/icwmp_tr098d $(1)/usr/sbin
endif
$(CP) $(PKG_BUILD_DIR)/bin/.libs/icwmpd $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/dmmap $(1)/etc/icwmpd
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/firewall.cwmp $(1)/etc/firewall.cwmp
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/uci-defaults
@@ -206,35 +201,18 @@ 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
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/icwmp_udpechoserverd $(1)/usr/sbin/icwmp_udpechoserverd
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/init/icwmp_udpechoserverd $(1)/etc/init.d/icwmp_udpechoserverd
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp_udpechoserver $(1)/etc/config
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/include/libdatamodel
$(CP) $(PKG_BUILD_DIR)/dm/*.h $(1)/usr/include/libdatamodel
$(CP) $(PKG_BUILD_DIR)/dm/dmtree/common/root.h $(1)/usr/include/libdatamodel
$(INSTALL_DIR) $(1)/lib
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libdatamodel.so* $(1)/lib
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libdatamodel.a $(1)/lib
endef
define Package/icwmp_twamp/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/icwmp_twampd $(1)/usr/sbin/icwmp_twampd
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/init/icwmp_twampd $(1)/etc/init.d/icwmp_twampd
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp_twamp $(1)/etc/config
endef
define Package/icwmp_bulkdata/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/icwmp_bulkdatad $(1)/usr/sbin/icwmp_bulkdatad
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/init/icwmp_bulkdatad $(1)/etc/init.d/icwmp_bulkdatad
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp_bulkdata $(1)/etc/config
endef
define Package/icwmp-$(BUILD_VARIANT)/postinst
#!/bin/sh
@@ -255,10 +233,9 @@ define Package/icwmp-$(BUILD_VARIANT)/prerm
exit 0
endef
$(eval $(call BuildPackage,icwmp-curl))
$(eval $(call BuildPackage,libdatamodel))
$(eval $(call BuildPackage,icwmp_stun))
$(eval $(call BuildPackage,icwmp_xmpp))
$(eval $(call BuildPackage,icwmp_udpechoserver))
$(eval $(call BuildPackage,icwmp_twamp))
$(eval $(call BuildPackage,icwmp_bulkdata))
$(eval $(call BuildPackage,icwmp-zstream))

View File

@@ -41,14 +41,4 @@ 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

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

@@ -1,14 +1,14 @@
#
# Copyright (C) 2018 iopsys Software Solutions AB
# Copyright (C) 2013 Inteno
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ifbt
PKG_VERSION:=0.2
PKG_VERSION:=0.1
PKG_SOURCE_VERSION:=f6edff47b6c0a154ab892301acf767d19ac8ad73
PKG_SOURCE_VERSION:=a0572079265293ed99dc4d69fd38528760d29be9
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/ifbt.git
@@ -16,27 +16,8 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=README
include $(INCLUDE_DIR)/package.mk
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_mips),y)
TARGET_PLATFORM:=-DIOPSYS_BROADCOM
else ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),y)
TARGET_PLATFORM:=-DIOPSYS_BROADCOM
else ifeq ($(CONFIG_TARGET_iopsys_linksys),y)
TARGET_PLATFORM:=-DIOPSYS_MARVELL
else ifeq ($(CONFIG_TARGET_intel_mips),y)
TARGET_PLATFORM:=-DIOPSYS_INTEL
else ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
TARGET_PLATFORM:=-DIOPSYS_MEDIATEK
else
$(info (UNEXPECTED CONFIG TARGET))
endif
export TARGET_PLATFORM
define Package/ifbt
CATEGORY:=Utilities
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libwifi +libjson-c

39
ifsi/Makefile Normal file
View File

@@ -0,0 +1,39 @@
#
# Copyright (C) 2015 Inteno
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ifsi
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
LDFLAGS+= \
-Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
-Wl,-rpath-link=$(STAGING_DIR)/lib
define Package/ifsi
CATEGORY:=Utilities
DEPENDS:=+ubus +libubox
TITLE:=Inteno Functional Script Interface
endef
define Package/ifsi/description
Inteno Functional Script Interface
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
$(CP) ./src/* $(PKG_BUILD_DIR)/
endef
define Package/ifsi/install
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ifsi $(1)/sbin/
endef
$(eval $(call BuildPackage,ifsi))

17
ifsi/src/Makefile Normal file
View File

@@ -0,0 +1,17 @@
CC = gcc
CFLAGS = -g -Wall
LOCLIBS =
LIBS = -lubus -lubox -lblobmsg_json
OBJS = ifsi.o
SRCS = ifsi.c
LIBSRCS =
ISRCS =
all: ifsi
ifsi: ${OBJS}
${CC} ${LDFLAGS} ${LIBSRCS} -o ifsi ${OBJS} ${LIBS}
clean:
rm -f ifsi *.o

74
ifsi/src/ifsi.c Normal file
View File

@@ -0,0 +1,74 @@
/*
* ifsi -- Inteno functional script interface
*
* Copyright (C) 2012-2013 Inteno Broadband Technology AB. All rights reserved.
*
* Author: dev@inteno.se
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#include <unistd.h>
#include <libubox/blobmsg.h>
#include <libubox/blobmsg_json.h>
#include <libubox/uloop.h>
#include <libubus.h>
static struct ubus_context *ctx;
static struct ubus_event_handler event_listener;
static struct blob_buf b;
static void receive_event(struct ubus_context *ctx, struct ubus_event_handler *ev,
const char *type, struct blob_attr *msg)
{
char *str;
uint32_t id;
str = blobmsg_format_json(msg, true);
fprintf(stdout, "I got %s event %s\n", type, str);
free(str);
}
int main(int argc, char **argv)
{
const char *ubus_socket = NULL;
int ret;
uloop_init();
ctx = ubus_connect(ubus_socket);
if (!ctx) {
fprintf(stderr, "Failed to connect to ubus\n");
return 1;
}
ubus_add_uloop(ctx);
event_listener.cb = receive_event;
ret = ubus_register_event_handler(ctx, &event_listener, "*");
if (ret)
fprintf(stderr, "Couldn't register to router events\n");
uloop_run();
ubus_free(ctx);
uloop_done();
return 0;
}

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2018 iopsys
# Copyright (C) 2018 Inteno
#
include $(TOPDIR)/rules.mk
@@ -15,18 +15,16 @@ PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/imonitor.git
PKG_SOURCE_VERSION:=532f4900862bcb45d8cd4bf37555fabda81750b6
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=${PKG_NAME}-${PKG_VERSION}
PKG_MAINTAINER:=Sartura Support for Inteno <support-inteno@sartura.hr>
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/imonitor
CATEGORY:=Utilities
TITLE:=iopsysWrt process supervisor
TITLE:=Inteno process supervisor
DEPENDS:=+ubox +uci +ubus +rpcd +rpcd-mod-file
endef

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2016 iopsys
# Copyright (C) 2016 Inteno
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -12,7 +12,7 @@ PKG_NAME:=inbd
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_SOURCE_VERSION:=53ca7f58edb87976b5897ccaf487bb0cbbf39d07
PKG_SOURCE_VERSION:=b846ae0ff55284392de2c4d874851b33edd7a6c5
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/inbd
@@ -20,9 +20,6 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)-$(PKG_SOURCE_VERSION).tar.
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
# support parallel build
PKG_BUILD_PARALLEL:=1
@@ -37,7 +34,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/inbd
CATEGORY:=Utilities
TITLE:=iopsys Netlink Bridge Daemon
TITLE:=Inteno Netlink Bridge Daemon
URL:=
DEPENDS:=+libuci +libubus +libblobmsg-json +libnl-genl
endef

View File

@@ -20,9 +20,6 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)-$(PKG_SOURCE_VERSION).tar.
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=COPYING
# support parallel build
PKG_BUILD_PARALLEL:=1

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2019 iopsys
# Copyright (C) 2006-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -10,7 +10,6 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=iop
PKG_VERSION:=1.0
PKG_RELEASE:=0
PKG_LICENSE:=GPLv2
include $(INCLUDE_DIR)/package.mk
@@ -21,7 +20,7 @@ define Package/iop
endef
define Package/iop/description
This package contains iopsysWrt SDK utilities
This package contains Intenos Iop utilities
endef
define Build/Compile

View File

@@ -3,9 +3,11 @@ CONFIG_BUSYBOX_CUSTOM=y
CONFIG_CCACHE=y
CONFIG_DEBUG=y
CONFIG_DEVEL=y
# CONFIG_LOCALMIRROR is not set
CONFIG_PACKAGE_6in4=y
CONFIG_PACKAGE_6rd=y
CONFIG_PACKAGE_6to4=y
CONFIG_PACKAGE_6tunnel=y
CONFIG_PACKAGE_alsa-lib=y
CONFIG_PACKAGE_chat=y
CONFIG_PACKAGE_comgt=y
@@ -14,38 +16,58 @@ CONFIG_PACKAGE_comgt-ncm=y
CONFIG_PACKAGE_crashlog=y
CONFIG_PACKAGE_ddns-scripts=y
CONFIG_PACKAGE_ds-lite=y
CONFIG_PACKAGE_easy-qos=y
CONFIG_PACKAGE_gdb=m
CONFIG_PACKAGE_gdbserver=m
CONFIG_PACKAGE_getopt=y
CONFIG_PACKAGE_glib2=y
CONFIG_PACKAGE_ice-client=y
CONFIG_PACKAGE_ice-client-camerawatch=m
CONFIG_PACKAGE_ice-client-fileme=m
CONFIG_PACKAGE_ice-client-gigaset=m
CONFIG_PACKAGE_ice-client-guest=m
CONFIG_PACKAGE_ice-client-iperf=m
CONFIG_PACKAGE_ice-client-logreader=m
CONFIG_PACKAGE_ice-client-monitor=m
CONFIG_PACKAGE_ice-client-netrounds=m
CONFIG_PACKAGE_ice-client-rshell=m
CONFIG_PACKAGE_ice-client-texec=m
CONFIG_PACKAGE_icwmp-curl=y
CONFIG_PACKAGE_ifbt=y
CONFIG_PACKAGE_imonitor=y
CONFIG_PACKAGE_inbd=y
CONFIG_PACKAGE_iopupgrade=y
CONFIG_PACKAGE_ip-full=y
CONFIG_PACKAGE_iperf3=y
CONFIG_PACKAGE_netmode=y
CONFIG_PACKAGE_iperf-mt=y
CONFIG_PACKAGE_ipset=y
CONFIG_PACKAGE_iptables=y
CONFIG_PACKAGE_iptables-mod-conntrack-extra=y
CONFIG_PACKAGE_iptables-mod-filter=y
CONFIG_PACKAGE_iptables-mod-ipopt=y
CONFIG_PACKAGE_iup=y
# CONFIG_PACKAGE_iwatchdog is not set
CONFIG_PACKAGE_juci=y
CONFIG_PACKAGE_juci-config-backup=y
CONFIG_PACKAGE_juci-broadcom-iptv=y
CONFIG_PACKAGE_juci-broadcom-pwrmgmt=y
CONFIG_PACKAGE_juci-wifilife=y
CONFIG_PACKAGE_juci-wireless=y
CONFIG_PACKAGE_juci-ddns=y
CONFIG_PACKAGE_juci-diagnostics=y
CONFIG_PACKAGE_juci-dnsmasq-dhcp=y
CONFIG_PACKAGE_juci-dropbear=y
CONFIG_PACKAGE_juci-easyqos=y
CONFIG_PACKAGE_juci-event=y
CONFIG_PACKAGE_juci-firewall-fw3=y
CONFIG_PACKAGE_juci-ice-client=y
CONFIG_PACKAGE_juci-icwmp=y
CONFIG_PACKAGE_juci-igmpinfo=y
CONFIG_PACKAGE_juci-config-backup=y
CONFIG_PACKAGE_juci-mwan3=y
CONFIG_PACKAGE_juci-iup=y
# CONFIG_PACKAGE_juci-qos is not set
CONFIG_PACKAGE_juci-voice-client=y
CONFIG_PACKAGE_juci-macdb=y
CONFIG_PACKAGE_juci-minidlna=y
CONFIG_PACKAGE_juci-mod-status=y
CONFIG_PACKAGE_juci-mod-system=y
CONFIG_PACKAGE_juci-mwan3=y
CONFIG_PACKAGE_juci-natalie-dect=y
CONFIG_PACKAGE_juci-netmode=y
CONFIG_PACKAGE_juci-network-device=y
CONFIG_PACKAGE_juci-network-dsl=y
@@ -53,20 +75,24 @@ CONFIG_PACKAGE_juci-network-netifd=y
CONFIG_PACKAGE_juci-network-port=y
CONFIG_PACKAGE_juci-openvpn=y
CONFIG_PACKAGE_juci-owsd=y
CONFIG_PACKAGE_juci-printer=y
CONFIG_PACKAGE_juci-realtime-graphs=y
CONFIG_PACKAGE_juci-samba=y
CONFIG_PACKAGE_juci-simple-gui=y
CONFIG_PACKAGE_juci-snmpd=y
CONFIG_PACKAGE_juci-sysupgrade=y
CONFIG_PACKAGE_juci-theme-iopsys=y
CONFIG_PACKAGE_juci-ubus-core=y
CONFIG_PACKAGE_juci-upnp=y
CONFIG_PACKAGE_juci-usb=y
CONFIG_PACKAGE_juci-voice-client=y
CONFIG_PACKAGE_juci-wifilife=y
CONFIG_PACKAGE_juci-wireless=y
CONFIG_PACKAGE_juci-theme-iopsys=y
CONFIG_PACKAGE_juci-utils=y
# CONFIG_PACKAGE_kmod-ipt-nathelper is not set
CONFIG_PACKAGE_kmod-nls-base=y
CONFIG_PACKAGE_kmod-siit=y
CONFIG_PACKAGE_libcgroup-daemon=y
CONFIG_PACKAGE_libcgroup=y
# CONFIG_PACKAGE_libcgroup-utils is not set
CONFIG_PACKAGE_ldd=y
CONFIG_PACKAGE_libdaemon=y
CONFIG_PACKAGE_libffmpeg-mini=y
CONFIG_PACKAGE_libgmp=y
@@ -74,19 +100,23 @@ CONFIG_PACKAGE_libreadline=y
CONFIG_PACKAGE_loop-detector=m
CONFIG_PACKAGE_minidlna=y
CONFIG_PACKAGE_miniupnpd=y
CONFIG_PACKAGE_mtd-utils=y
CONFIG_PACKAGE_mtd-utils-deubinize=y
CONFIG_PACKAGE_mtd-utils-imagewrite=y
CONFIG_PACKAGE_mtd-utils-mkfs.jffs2=y
CONFIG_PACKAGE_mtd-utils-nanddump=y
CONFIG_PACKAGE_mwan3=y
CONFIG_PACKAGE_nand-utils=y
CONFIG_PACKAGE_ndisc6=y
CONFIG_PACKAGE_netmode=y
CONFIG_PACKAGE_ntfs-3g=y
CONFIG_PACKAGE_ntpd=y
CONFIG_PACKAGE_obuspa=y
CONFIG_PACKAGE_odhcp6c=y
CONFIG_PACKAGE_odhcpd=y
CONFIG_PACKAGE_openssl-util=y
CONFIG_OPENSSL_WITH_COMPRESSION=y
CONFIG_PACKAGE_openvpn-easy-rsa=y
CONFIG_PACKAGE_openvpn-openssl=y
# CONFIG_PACKAGE_p910nd is not set
CONFIG_PACKAGE_peripheral_manager=y
CONFIG_PACKAGE_port-management=y
CONFIG_PACKAGE_power-management=y
@@ -117,18 +147,15 @@ CONFIG_PACKAGE_umbim=y
CONFIG_PACKAGE_uqmi=y
CONFIG_PACKAGE_usb-modeswitch=y
CONFIG_PACKAGE_usbreset=y
CONFIG_PACKAGE_uspd=y
CONFIG_PACKAGE_wget=y
CONFIG_PACKAGE_wwan=y
CONFIG_PACKAGE_libwifi=y
CONFIG_PACKAGE_wifilife=y
CONFIG_PACKAGE_wifimngr=y
CONFIG_PACKAGE_libwifix=y
CONFIG_PACKAGE_wifixd=y
CONFIG_PACKAGE_xl2tpd=y
CONFIG_PACKAGE_zoneinfo-core=y
CONFIG_PACKAGE_zoneinfo-europe=y
CONFIG_TARGET_CUSTOMER="IOPSYS"
CONFIG_TARGET_CUSTOMER="INT"
CONFIG_TARGET_ROOTFS_TARGZ=y
# CONFIG_USE_SSTRIP is not set
CONFIG_USE_STRIP=y
@@ -160,6 +187,7 @@ CONFIG_BUSYBOX_CONFIG_MICROCOM=y
# CONFIG_BUSYBOX_CONFIG_RMMOD is not set
CONFIG_BUSYBOX_CONFIG_STTY=y
CONFIG_BUSYBOX_CONFIG_TFTP=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_2_4_MODULES is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_AUTH_MD5=y
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
@@ -173,9 +201,11 @@ CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_RANGES=y
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_SETUID=y
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_USE_SENDFILE=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_NOLOGIN is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_SECURETTY=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY is not set
# CONFIG_BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_TFTP_GET=y
CONFIG_BUSYBOX_CONFIG_FEATURE_TFTP_PUT=y
@@ -185,6 +215,7 @@ CONFIG_BUSYBOX_CONFIG_FEATURE_TFTP_PUT=y
# CONFIG_BUSYBOX_CONFIG_PAM is not set
# CONFIG_BUSYBOX_CONFIG_TFTP_DEBUG is not set
# CONFIG_BUSYBOX_CONFIG_NTPD is not set
# CONFIG_BUSYBOX_CONFIG_FEATURE_NTPD_SERVER is not set
CONFIG_LIBCURL_CRYPTO_AUTH=y
# CONFIG_LIBCURL_MBEDTLS is not set
CONFIG_LIBCURL_OPENSSL=y
@@ -193,6 +224,7 @@ CONFIG_OPENVPN_openssl_ENABLE_IPROUTE2=y
# CONFIG_SIGNED_PACKAGES is not set
CONFIG_KERNEL_DEVTMPFS=y
CONFIG_KERNEL_DEVTMPFS_MOUNT=y
CONFIG_PACKAGE_ip-full=y
# CONFIG_BUSYBOX_CONFIG_IP is not set
LOCAL_MIRROR="http://download.iopsys.eu/iopsys/mirror/"
CONFIG_PACKAGE_iopupgrade=y

View File

@@ -1,36 +0,0 @@
#!/bin/sh
function cvecheck {
CVEDIR="/tmp/cve-indicator/"
CVEBIN="${CVEDIR}/bin"
REPORTS="reports"
mkdir -p $REPORTS
dpkg -s python3 python3-requests python3-yaml python3-mako python3-six &> /dev/null
if [ $? -ne 0 ]
then
echo "Missing dependencies"
sudo apt-get update
sudo apt-get install python3 python3-requests python3-yaml python3-mako python3-six
else
echo "Dependecy check passed"
fi
if [ -d "$CVEDIR" ]; then
### Take action if $DIR exists ###
echo "${CVEDIR} exists running cvecheck"
else
### Control will jump here if $DIR does NOT exists ###
echo "Error: cvecheck not found. getting from iopsys repo"
git clone git@dev.iopsys.eu:iopsys/cve-indicator.git /tmp/cve-indicator
fi
CVEGENLIST=`${CVEBIN}/cve-indicator gen-list openwrt bin`
CVEGETCVES=`${CVEBIN}/cve-indicator get-cves $CVEGENLIST --api_url http://cve.circl.lu/api/cvefor/`
CVEGETRPRT=`${CVEBIN}/cve-indicator gen-rprt $CVEGETCVES`
exit 0
}
register_command "cvecheck" "Generate a CVE report on latest build"

View File

@@ -32,15 +32,13 @@ function feeds_update {
fi
# targets need to be installed explicitly
targets="iopsys-brcm63xx-mips iopsys-brcm63xx-arm iopsys-ramips intel_mips"
for target in $targets
do
rm -f target/linux/$target
./scripts/feeds install -p targets $target
done
./scripts/feeds install -p targets iopsys-brcm63xx-mips
./scripts/feeds install -p targets iopsys-brcm63xx-arm
./scripts/feeds install -p targets iopsys-ramips
./scripts/feeds install -p intel_targets intel_mips
# install all packages
./scripts/feeds install -a
./scripts/feeds install -a
# remove broken symlinks ( for packages that are no longer in the feed )
find -L package/feeds -maxdepth 2 -type l -delete
@@ -49,7 +47,7 @@ function feeds_update {
make defconfig
# record when we last run this script
touch tmp/.iop_bootstrap
touch tmp/.iop_bootstrap
# always return true
exit 0

View File

@@ -12,102 +12,39 @@ function genconfig {
export CUSTCONF="customerconfigs/customers"
export VERBOSE=0
export DEVELOPER=0
LOCAL_MIRROR="http://mirror.inteno.se/mirror"
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"
qca_ipq="target/linux/ipq"
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
local iopsys_brcm63xx_mips=$(cd target/linux/iopsys-brcm63xx-mips; ./genconfig)
local iopsys_brcm63xx_arm=$(cd target/linux/iopsys-brcm63xx-arm; ./genconfig)
local iopsys_ramips=$(cd target/linux/iopsys-ramips; ./genconfig)
local intel_mips=$(cd target/linux/intel_mips; ./genconfig)
[ -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)
[ -e $qca_ipq/genconfig ] &&
iopsys_qca_ipq=$(cd $qca_ipq; ./genconfig)
if [ "$profile" == "LIST" ]; then
for list in iopsys_brcm63xx_mips iopsys_brcm63xx_arm iopsys_ramips iopsys_intel_mips iopsys_qca_ipq; do
echo "$list based boards:"
for b in ${!list}; do
echo -e "\t$b"
done
done
return
if [ "$profile" == "LIST" ]
then
for list in iopsys_brcm63xx_mips iopsys_brcm63xx_arm iopsys_ramips intel_mips
do
echo "$list based boards:"
for b in ${!list}
do
echo -e "\t$b"
done
done
return
fi
local targets
for p in $iopsys_brcm63xx_mips; do
if [ $p == $profile ]; then
target="iopsys_brcm63xx_mips"
config_path="$brcm63xx_mips/config"
config_path="target/linux/iopsys-brcm63xx-mips/config"
return
fi
done
@@ -115,7 +52,7 @@ function genconfig {
for p in $iopsys_brcm63xx_arm; do
if [ $p == $profile ]; then
target="iopsys_brcm63xx_arm"
config_path="$brcm63xx_arm/config"
config_path="target/linux/iopsys-brcm63xx-arm/config"
return
fi
done
@@ -123,23 +60,15 @@ function genconfig {
for p in $iopsys_ramips; do
if [ $p == $profile ]; then
target="iopsys_ramips"
config_path="$ramips/config"
config_path="target/linux/iopsys-ramips/config"
return
fi
done
for p in $iopsys_intel_mips; do
for p in $intel_mips; do
if [ $p == $profile ]; then
target="intel_mips"
config_path="$intel_mips/config"
return
fi
done
for p in $iopsys_qca_ipq; do
if [ $p == $profile ]; then
target="ipq"
config_path="$qca_ipq/config"
config_path="target/linux/intel_mips/config"
return
fi
done
@@ -150,16 +79,23 @@ function genconfig {
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
allowedRepos="$(ssh -o ConnectTimeout=5 git@private.inteno.se 2>/dev/null | grep -w 'R\|W' | awk '{print$NF}')"
for repo in $allowedRepos; do
case $repo in
bcmkernel) bcmAllowed=1 ;;
ice-client) iceAllowed=1 ;;
endptcfg) endptAllowed=1 ;;
natalie-dect*) natalieAllowed=1 ;;
linux) mediatekAllowed=1 ;;
wifilife) wifilifeAllowed=1 ;;
esac
done
}
v() {
@@ -170,18 +106,17 @@ function genconfig {
echo
echo 1>&2 "Usage: $0 [ OPTIONS ] < Board_Type > [ Customer [customer2 ]...]"
echo
echo -e " -c|--clean\t\tRemove all files under ./files and import from config "
echo -e " -v|--verbose\t\tVerbose"
echo -e " -c|--clean\tRemove all files under ./files and import from config "
echo -e " -v|--verbose\tVerbose"
echo -e " -n|--no-update\tDo NOT! Update customer config before applying"
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 " -s|--override\tEnable 'Package source tree override'"
echo -e " -h|--help\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 -e " -a|--list-all\tList all Customers and their board types"
echo -e " -b|--boards\tList all board types"
echo
echo "Example ./iop genconfig dg200 TELIA"
echo "(if no customerconfig is chosen, iopsys config will be used)"
echo "Example ./iop genconfig vg50 TELIA"
echo "(if no customerconfig is chosen the Inteno Config will be used)"
echo
exit 0
}
@@ -241,7 +176,7 @@ function genconfig {
setup_dirs()
{
if git ls-remote $CUSTREPO -q 2>/dev/null; then
if ssh -o ConnectTimeout=5 git@private.inteno.se 2>/dev/null | grep -qw ${CUSTREPO:22}; then
if [ ! -d "$CUSTPATH" ]; then
git clone "$CUSTREPO" "$CUSTPATH"
elif [ $IMPORT -eq 1 ]; then
@@ -318,8 +253,6 @@ function genconfig {
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
elif [ "$target" = "ipq" ]; then
:
else
echo "CONFIG_TARGET_${target}=y" >> .config
echo "CONFIG_TARGET_${target}_${BOARDTYPE}=y" >> .config
@@ -367,24 +300,21 @@ function genconfig {
# rewrite url to clone with ssh instead of http
echo "CONFIG_GITMIRROR_REWRITE=y" >>.config
[ $bcmAllowed -eq 0 ] && echo "CONFIG_BCM_OPEN=y" >> .config
[ $iceAllowed -eq 0 ] && echo "CONFIG_ICE_OPEN=y" >> .config
[ $endptAllowed -eq 0 ] && echo "CONFIG_ENDPT_OPEN=y" >> .config
[ $natalieAllowed -eq 0 ] && echo "CONFIG_NATALIE_OPEN=y" >> .config
[ $mediatekAllowed -eq 0 ] && echo "CONFIG_MEDIATEK_OPEN=y" >> .config
[ $wifilifeAllowed -eq 0 ] && echo "CONFIG_WIFILIFE_OPEN=y" >> .config
else
echo "# CONFIG_GITMIRROR_REWRITE is not set" >>.config
echo "CONFIG_GITMIRROR_REWRITE=n" >>.config
echo "CONFIG_BCM_OPEN=y" >> .config
echo "CONFIG_ICE_OPEN=y" >> .config
echo "CONFIG_ENDPT_OPEN=y" >> .config
echo "CONFIG_NATALIE_OPEN=y" >> .config
echo "CONFIG_MEDIATEK_OPEN=y" >> .config
echo "CONFIG_WIFILIFE_OPEN=y" >> .config
fi
if [ -n "$BRCM_MAX_JOBS" ]
then
echo "CONFIG_BRCM_MAX_JOBS=\"1\"" >>.config
fi
# Force regeneration of themes
touch package/feeds/juci/juci/Makefile
@@ -397,9 +327,6 @@ function genconfig {
# 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)"
@@ -407,8 +334,6 @@ function genconfig {
# Clean base-file package to force rebuild when changing profile
v "$(make package/base-files/clean 2>&1)"
verify_config
}
####### main #####
@@ -433,7 +358,6 @@ function genconfig {
-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;;
@@ -448,7 +372,7 @@ function genconfig {
shift;
done
CUSTREPO="${CUSTREPO:-git@dev.iopsys.eu:consumer/iopsys.git}"
CUSTREPO="${CUSTREPO:-git@private.inteno.se:customerconfigs}"
setup_dirs
create_and_copy_files "$@"

View File

@@ -59,6 +59,23 @@ 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 ver commit
ver=$(grep -w "PKG_VERSION:" ./feeds/iopsys/wifilife/Makefile | cut -d'=' -f2)
@@ -112,8 +129,8 @@ function print_usage {
function generate_tarballs {
SERVER="god@download.iopsys.eu"
FPATH="/var/www/html/iopsys/opensdk"
SERVER="god@software.inteno.se"
FPATH="/var/www/html/iopsys/consumer"
set -e
git remote -v | grep -q http && return # do not continue if this is an open SDK environment
@@ -152,9 +169,11 @@ function generate_tarballs {
build_bcmkernel_consumer
build_natalie_consumer
build_endptmngr_consumer
build_ice_consumer
build_wifilife_consumer
elif [ "$stk_target" == "mediatek" ]; then
build_mediatek_kernel
build_ice_consumer
build_wifilife_consumer
else
echo "Invalid target: $stk_target"

View File

@@ -10,7 +10,7 @@ function install_key {
echo "::sysinit:/etc/init.d/rcS S boot" >files/etc/inittab
echo "::shutdown:/etc/init.d/rcS K shutdown" >>files/etc/inittab
echo "tty/0::askfirst:/bin/ash --login" >>files/etc/inittab
echo "console::askfirst:/bin/cttyhack /bin/ash --login" >>files/etc/inittab
echo "ttyS0::askfirst:/bin/ash --login" >>files/etc/inittab
echo Done
}

View File

@@ -36,17 +36,17 @@ function update_feed_branches {
echo "Updating release branch $release to specific commit hash given in feeds.conf for each feed repo"
fi
ifeeds="$(grep -r 'dev.iopsys.eu' feeds.conf | awk '{print$2}' | tr '\n' ' ')"
ifeeds="$(grep -r feed_inteno feeds.conf | awk '{print$2}' | cut -d'_' -f3 | tr '\n' ' ')"
for f in $ifeeds; do
commith=$(grep $f feeds.conf | cut -d'^' -f2)
cd $ipath/feeds/$f
commith=$(grep feed_inteno_$f feeds.conf | cut -d'^' -f2)
cd $ipath/feeds/feed_inteno_$f
git branch -D $release 2>/dev/null
echo "$f: updating release branch $release to commit $commith"
echo "feed_inteno_$f: updating release branch $release to commit $commith"
git checkout $commith
git push origin :$release
git checkout -b $release
git push --set-upstream origin $release
git push origin $release
cd $ipath
done

View File

@@ -496,7 +496,6 @@ check_feeds()
for feed in `echo $feeds`
do
feed_hash=$(feeds_hash $feed)
[ -n "$feed_hash" ] || continue
if [ -d feeds/$feed ]; then
in_git=$(cd feeds/$feed; git rev-parse HEAD)

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2019 iopsys
# Copyright (C) 2006-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -12,7 +12,7 @@ PKG_NAME:=iopupgrade
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_SOURCE_VERSION:=01f2afd6c831d6f9eb2940c7e7af16f7e4d439c2
PKG_SOURCE_VERSION:=9b5ed4bc9f7ac5064414cf5feb510ffd95df6ec4
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/iopupgrade
@@ -20,9 +20,6 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)-$(PKG_SOURCE_VERSION).tar.
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
# support parallel build
PKG_BUILD_PARALLEL:=1

View File

@@ -7,7 +7,6 @@ cur_vol="" # num,[0/1] Number used for ubifs root filesystem volume name.
upd_vol="" # num,[0/1] Number used for ubifs root filesystem volume name.
# eg: rootfs_0 or rootfs_1, the one we want to update
cmdline="" # command line settings.
cmdline_match="" # Headers to match to the image
###############################################################################
# file local variables. should not be used in imported functions. Can be used
@@ -21,6 +20,7 @@ upd_ubi_id="" # num, UBI volume number for the volume name
run_cleanup=0 # if set the cleanup should be run otherwise we skip it.
run_mount_cleanup=0 # set if we should run umount in cleanup
upd_kernel=0 # set to 1 if system has the kernel in own mtd partition
upd_cfe=0 # set to 1 if system is using cfe as bootloader.
log_stdout=1 # set to 0 to prevent the log to also print to stdout
upd_noreboot=0 # set to 1 if we should not reboot after programming
upd_forceimage=0 # set this to force upgrade even if image is for wrong board.
@@ -164,7 +164,7 @@ trap finish EXIT
trap timeout SIGALRM
trap sig_pipe SIGPIPE
while getopts "nrxbh" opt; do
while getopts "nrxb" opt; do
case $opt in
n)
upd_noreboot=1
@@ -184,7 +184,7 @@ while getopts "nrxbh" opt; do
exit 0
;;
h)
usage
upd_usage
exit 1
;;
esac
@@ -204,7 +204,9 @@ log "Firmware upgrade started"
if [ $upd_forceimage -eq 0 ]
then
board=$(db get hw.board.iopVerBoard)
cmdline_match="board=$board"
cmdline="$cmdline -b $board"
else
cmdline="$cmdline -q"
fi
# find out what rootfs volume is active.
@@ -215,19 +217,16 @@ upd_vol=$(get_flashbank_next)
upd_ubi_id=$(ubinfo -d 0 -N rootfs_$upd_vol | awk "/Volume ID:/ {print \$3}")
log "installing Root Fileystem into UBI volume rootfs_$upd_vol"
# prepare to match dsl.
function_call upd_conf_dsl
# prepare to update CFE if it exists
function_call upd_conf_cfe
# prepare to update kernel if it is stored in MTD/JFFS2
function_call upd_conf_kernel
log "now starting writing data to flash with [ iopupgrade $cmdline -M "$cmdline_match" -u ubi0_$upd_ubi_id ]"
log "now starting writing data to flash with [ iopupgrade $cmdline -u ubi0_$upd_ubi_id ]"
run_cleanup=1 # When we start to actually write data there might be some
# things that need cleanup if we get an error/crash
iopupgrade $cmdline -M "$cmdline_match" -u ubi0_$upd_ubi_id
iopupgrade $cmdline -u ubi0_$upd_ubi_id
# in case of any error we abort
if [ $? -ne 0 ]; then

View File

@@ -1,9 +1,6 @@
# Copyright (C) 2019 iopsys
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
# Copyright (C) 2013 Inteno
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
@@ -11,9 +8,6 @@ PKG_NAME:=iwatchdog
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
# support parallel build
PKG_BUILD_PARALLEL:=1
@@ -28,7 +22,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/iwatchdog
CATEGORY:=Utilities
TITLE:=IOPSYS watchdog
TITLE:=Inteno watchdog
endef
define Package/iwatchdog/description

View File

@@ -17,8 +17,6 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_FIXUP:=autoreconf
PKG_LICENSE:=LGPLv3
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
define Package/libjwt

View File

@@ -12,9 +12,6 @@ PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=COPYING
PKG_INSTALL:=1
PKG_FIXUP:=autoreconf

View File

@@ -15,9 +15,6 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
PKG_SOURCE_URL:=@SF/lmbench/
PKG_MD5SUM:=b3351a3294db66a72e2864a199d37cbf
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=COPYING
PKG_BUILD_DEPENDS:=librpc
include $(INCLUDE_DIR)/package.mk

View File

@@ -19,9 +19,6 @@ PKG_CAT:=zcat
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
define Package/logrotate

View File

@@ -1,9 +1,3 @@
# Copyright (C) 2019 iopsys
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=loop-detector
@@ -17,9 +11,6 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk

View File

@@ -1,36 +0,0 @@
#
# Copyright (C) 2008-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=ltq-nand
PKG_VERSION:=1.0
PKG_SOURCE:=v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/merbanan/ltq-nand/archive/
#PKG_SOURCE_PROTO:=git
#PKG_SOURCE_URL:=https://github.com/merbanan/ltq-nand/releases/download/v$(PKG_VERSION)/
#PKG_SOURCE_URL:=https://github.com/merbanan/ltq-nand.git
#PKG_SOURCE_VERSION:=07b5b0331af6de4174dab2c02bf260ee9625452a
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/host-build.mk
define Host/Compile
$(MAKE) -C $(HOST_BUILD_DIR)
endef
define Host/Install
$(CP) \
$(HOST_BUILD_DIR)/ltq-nand \
$(STAGING_DIR_HOST)/bin/
endef
$(eval $(call HostBuild))

View File

@@ -11,8 +11,6 @@ PKG_NAME:=multiwan
PKG_VERSION:=1.0.22
PKG_RELEASE:=2
PKG_LICENSE:=GPLv2
include $(INCLUDE_DIR)/package.mk
define Package/multiwan

View File

@@ -16,8 +16,6 @@ PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=9e2236989ff58d0db897f938b6b07b535144e0e2
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=PROPRIETARY
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/image.mk
include $(INCLUDE_DIR)/kernel.mk

View File

@@ -1,5 +1,8 @@
#
# Copyright (C) 2019 IOPSYS Software Solutions AB
# Copyright (C) 2006-2008 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
@@ -11,7 +14,7 @@ PKG_SOURCE_VERSION:=378c404fba3efc8f1bcde54370a5370670fa1853
ifeq ($(CONFIG_NATALIE_OPEN),y)
BRCM_KERNEL_PROFILE=$(shell echo $(CONFIG_BCM_KERNEL_PROFILE) | sed s/\"//g)
PKG_SOURCE:=$(PKG_NAME)-$(BRCM_KERNEL_PROFILE)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_URL:=http://download.iopsys.eu/iopsys/opensdk/
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
@@ -22,8 +25,6 @@ endif
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=PROPRIETARY
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/image.mk
include $(INCLUDE_DIR)/kernel.mk

View File

@@ -15,9 +15,6 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.remlab.net/files/ndisc6
PKG_MD5SUM:=50cb4c19606cf6ff2b7388e71832f579
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=COPYING
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk

View File

@@ -1,36 +0,0 @@
#
# This is free software, See /COPYRIGHT for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=ndt
PKG_VERSION:=3.6.4
PKG_RELEASE:=3
PKG_BUILD_DIR:=${BUILD_DIR}/ndt-$(PKG_VERSION)
PKG_SOURCE:=ndt-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://software.internet2.edu/sources/ndt
PKG_LICENSE:=NONSTANDARD
PKG_LICENSE_FILES:=COPYRIGHT
include $(INCLUDE_DIR)/package.mk
define Package/ndt
CATEGORY:=Utilities
DEPENDS:=+libpthread +zlib
TITLE:=Network Testing Tool
endef
define Build/Compile/Default
$(MAKE) -C $(PKG_BUILD_DIR)
endef
define Package/ndt/install
$(INSTALL_DIR) $(1)/sbin
$(CP) $(PKG_BUILD_DIR)/src/web100clt $(1)/sbin/
endef
$(eval $(call BuildPackage,ndt))

View File

@@ -1,16 +1,9 @@
#
# Copyright (C) 2019 iopsys
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=netmode
PKG_VERSION:=0.2.0
PKG_SOURCE_VERSION:=6406325e72d7ddd0ff7aaa3a87669519021bdb11
PKG_SOURCE_VERSION:=39998ad3e859a790cadcd921ff1c0e2d125528f5
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/netmoded
@@ -18,9 +11,6 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/netmode

View File

@@ -4,6 +4,6 @@ config mode 'setup'
option curmode 'routed'
config tools 'tools'
option wificontrol 0
option wificontrol 1
option arp_discovery 1

View File

@@ -2,9 +2,6 @@
[ "$INTERFACE" != "wan" ] && exit
automode="$(uci -q get netmode.setup.automode)"
[ "$automode" == "0" ] && exit
. /lib/functions.sh
. /lib/functions/network.sh
. /lib/functions/netmode.sh

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'
@@ -43,10 +47,10 @@ config wifi-iface
option cipher 'auto'
option key '$WPAKEY'
option gtk_rekey '3600'
option macfilter 'disable'
option wps '1'
option macfilter '0'
option wps_pbc '1'
option wmf_bss_enable '1'
option maxassoc '32'
option bss_max '32'
option ifname 'wl0'
config wifi-device 'wl1'
@@ -83,9 +87,9 @@ config wifi-iface
option cipher 'auto'
option key '$WPAKEY'
option gtk_rekey '3600'
option macfilter 'disable'
option wps '1'
option macfilter '0'
option wps_pbc '1'
option wmf_bss_enable '1'
option maxassoc '32'
option bss_max '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

@@ -35,4 +35,3 @@ apply_wet_cfg()
rm /tmp/netmodecfg 2> /dev/null
}
apply_wet_cfg

View File

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

View File

@@ -35,4 +35,3 @@ save_wet_cfg()
config_foreach parse_wet_cfg "wifi-iface"
}
save_wet_cfg

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_pbc 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_pbc 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'
@@ -43,10 +47,10 @@ config wifi-iface
option cipher 'auto'
option key '$WPAKEY'
option gtk_rekey '3600'
option macfilter 'disable'
option wps '1'
option macfilter '0'
option wps_pbc '1'
option wmf_bss_enable '1'
option maxassoc '32'
option bss_max '32'
option ifname 'wl0'
config wifi-device 'wl1'
@@ -83,9 +87,9 @@ config wifi-iface
option cipher 'auto'
option key '$WPAKEY'
option gtk_rekey '3600'
option macfilter 'disable'
option wps '1'
option macfilter '0'
option wps_pbc '1'
option wmf_bss_enable '1'
option maxassoc '32'
option bss_max '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_pbc 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_pbc 1
option ifname rai0

View File

@@ -1,11 +1,12 @@
#!/bin/sh
. /etc/netmodes/repeater_mtk_5g_up_dual_down/scripts/pre/save_wet_cfg.sh
. /etc/netmodes/repeater_mtk_5g_up_dual_down/scripts/post/apply_wet_cfg.sh
. /lib/functions.sh
. /usr/share/libubox/jshn.sh
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 +122,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,13 +181,8 @@ 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
save_wet_cfg
for file in $(ls /etc/netmodes/$curmode/); do
case "$file" in
DETAILS|scripts) continue ;;
@@ -199,9 +190,7 @@ switch_netmode() {
cp /etc/netmodes/$curmode/$file /etc/config/
done
sync
#commit owsd to reload all init.d scripts dependent on its config
ubus call uci commit '{"config":"owsd"}'
apply_wet_cfg
local reboot=$(uci -q get netmode.$curmode.reboot)
@@ -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,31 +381,12 @@ 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
_i=1
while json_get_var user $_i; do
uci del_list netmode.$mode._access_r="$user"
uci del_list netmode.$mode._access_w="$user"
uci add_list netmode.$mode._access_r="$user"
uci add_list netmode.$mode._access_w="$user"
_i=$((_i+1))
done

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,57 +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:=f362163d5a660a18081ec8665851c8db90d6f238
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
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
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_DIR) $(1)/etc/obuspa
$(INSTALL_BIN) $(PKG_BUILD_DIR)/obuspa $(1)/usr/sbin/
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,obuspa))

View File

@@ -1,15 +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'
option interface 'wan'

View File

@@ -1,120 +0,0 @@
#!/bin/sh /etc/rc.common
START=99
USE_PROCD=1
PROG=/usr/sbin/obuspa
l3device=""
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' \
'interface:string:wan'
}
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 interface
validate_connection_section "${1}" || {
log "Validation of section failed"
return 1;
}
# Get wan L3 interface
json_load "$(ubus call network.interface.${interface} status)"
json_get_var l3device l3_device
echo "l3device ${l3device}">/dev/console
export USP_BOARD_IFNAME=${l3device}
# Set this variable for root user
echo "export USP_BOARD_IFNAME=${l3device}">/root/.profile
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_connection connection
config_foreach configure_controller controller
config_foreach configure_mtp mtp
}
start_service() {
db_init
procd_open_instance
procd_set_param env USP_BOARD_IFNAME=${l3device}
# Forward stdout of the command to logd
# procd_set_param stdout 1
# Same for stderr
# procd_set_param stderr 1
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

@@ -1,34 +1,30 @@
#
# Copyright (C) 2018 iopsys
# Copyright (C) 2018 Inteno
#
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:=a83448ed65e1c76411b9c6553d64b5d623b8bcd7
PKG_SOURCE_VERSION:=f0eedeb6fd061edf3784d6bf86fa60b176bf3fe7
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=${PKG_NAME}-${PKG_VERSION}
PKG_MAINTAINER:=Sartura Support for Inteno <support-inteno@sartura.hr>
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_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
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
@@ -56,17 +52,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

@@ -66,8 +66,6 @@ rpcd_acl() {
}
handle_owsd_acl() {
[ -d /tmp/owsd ] || mkdir /tmp/owsd
config_load rpcd
config_foreach append_users "login"
@@ -79,9 +77,9 @@ handle_owsd_acl() {
config_foreach owsd_acl "owsd-listen" "$USR"
json_close_array
done
json_dump > /tmp/owsd/owsd_acl
json_dump > /tmp/owsd_acl
json_load "$(cat /tmp/owsd/owsd_acl)"
json_load "$(cat /tmp/owsd_acl)"
config_load rpcd
config_foreach rpcd_acl "login"
uci commit rpcd
@@ -128,8 +126,8 @@ validate_owsd_global() {
}
append_str() {
json_add_string "" "$1"
append_origin() {
procd_append_param command -o"$1"
}
append_origin_parts() {
@@ -139,9 +137,9 @@ append_origin_parts() {
port="$3"
if [ "${proto}" = "https" -a "${port}" -eq 443 -o "${proto}" = "http" -a "${port}" -eq 80 ]; then
append_str "${proto}://${host}"
append_origin "${proto}://${host}"
else
append_str "${proto}://${host}:${port}"
append_origin "${proto}://${host}:${port}"
fi
}
@@ -152,7 +150,6 @@ validate_owsd_iface() {
'origin:list(string)' \
'whitelist_interface_as_origin:bool:0' \
'whitelist_dhcp_domains:bool:0' \
'whitelist_all_origins:bool:0' \
'ipv6:bool:1' \
'ipv6only:bool:0' \
'linklocal:bool:0' \
@@ -166,7 +163,7 @@ validate_owsd_iface() {
}
parse_owsd_iface() {
local port interface whitelist_interface_as_origin whitelist_dhcp_domains whitelist_all_origins ipv6 ipv6only linklocal
local port interface whitelist_interface_as_origin whitelist_dhcp_domains ipv6 ipv6only linklocal
local cert key ca
local restrict_to_user
local ubusx_acl
@@ -178,37 +175,24 @@ parse_owsd_iface() {
# utility function
new_listen_socket() {
json_add_int "port" ${port}
procd_append_param command -p "${port}"
[ -n "${cert}" ] && json_add_string "cert" "${cert}"
[ -n "${key}" ] && json_add_string "key" "${key}"
[ -n "${ca}" ] && json_add_string "ca" "${ca}"
procd_append_param command -L"$1"
[ -n "${restrict_to_user}" ] && {
json_add_array "restrict_to_user"
config_list_foreach "$1" "restrict_to_user" append_str
json_close_array
}
[ -n "$2" ] && json_add_string "interface" "$2"
[ -n "${cert}" ] && procd_append_param command -c"${cert}"
[ -n "${key}" ] && procd_append_param command -k"${key}"
[ -n "${ca}" ] && procd_append_param command -a"${ca}"
[ -n "${ubusx_acl}" ] && json_add_string "ubusx_acl" "$ubusx_acl"
[ -n "${restrict_to_user}" ] && procd_append_param command -u"${restrict_to_user}"
[ -n "$2" ] && procd_append_param command -i"$2"
[ -n "${ubusx_acl}" ] && procd_append_param command -X"${ubusx_acl}"
}
origin_whitelist_all() {
[ "$1" = "*" ] && echo "true"
}
append_whitelists() {
config_list_foreach "$1" "origin" append_str
# uncomment code below when implementing one vhost per origin fix
#[ -n "$2" ] && whitelist_all_origins=1
#if [ "$whitelist_all_origins" -eq 1 ]; then
# whitelist_dhcp_domains=1
# whitelist_interface_as_origin=1
#fi
append_whitelists () {
config_list_foreach "$1" "origin" append_origin
if [ "$whitelist_dhcp_domains" -eq 1 ]; then
for domain in $DHCP_DOMAINS; do
@@ -228,22 +212,13 @@ parse_owsd_iface() {
if [ -n "${interface}" ]; then
# 1 listen-socket (vhost) for each IP address on that network's iface
whitelist=$(config_list_foreach "$1" "origin" origin_whitelist_all)
# ipv4 addresses
if [ "${ipv6only}" -eq 0 ]; then
network_get_ipaddrs ip4addrs "${interface}";
fi
json_add_array "$1"
for addr in ${ip4addrs}; do
json_add_object "${1}"
new_listen_socket "$1" "${addr}"
[ -n "$whitelist" -o "$whitelist_all_origins" -eq 1 ] && json_add_boolean "origin_check" false
json_add_array "origin"
append_whitelists "$1" "$whitelist"
json_close_array
json_close_object
append_whitelists "$1"
done
# ipv6 addresses
@@ -255,24 +230,16 @@ parse_owsd_iface() {
ip6addrs="${ip6addrs} ${linklocaladdrs}"
fi
fi
for addr in ${ip6addrs}; do
json_add_object "${1}6"
new_listen_socket "$1" "${addr}"
addr="\\[${addr}]"
[ -n "$whitelist" ] && json_add_boolean "origin_check" false
json_add_array "origin"
append_whitelists "$1" "$whitelist"
json_close_array
json_add_boolean "ipv6" 1
json_close_object
append_whitelists "$1"
procd_append_param command -66
done
json_close_array
else
new_listen_socket "$1"
if [ "${ipv6}" -eq 1 ]; then json_add_boolean "ipv6only" 1; fi
if [ "${ipv6}" -eq 1 -a "${ipv6only}" -eq 1 ]; then json_add_boolean "ipv6only" 1; fi
if [ "${ipv6}" -eq 1 ]; then procd_append_param command -6; fi
if [ "${ipv6}" -eq 1 -a "${ipv6only}" -eq 1 ]; then procd_append_param command -6; fi
append_whitelists "$1"
fi
@@ -296,69 +263,55 @@ start_service() {
echo "Global validation failed"
return 1
}
json_init
json_add_object "global"
[ -n "${sock}" ] && json_add_string "socket" "$sock"
[ -n "${www}" ] && json_add_string "www" "$www"
[ -n "${redirect}" ] && json_add_string "redirect" "$redirect"
[ -n "${www_maxage}" ] && json_add_int "www_maxage" "$www_maxage"
json_close_object
validate_owsd_ubusproxy && {
if [ "${enable}" -eq 1 ]; then
json_add_object "ubusproxy"
[ -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 "${peer_cert}" ] && json_add_string "peer_cert" "${peer_cert}"
[ -n "${peer_key}" ] && json_add_string "peer_key" "${peer_key}"
[ -n "${peer_ca}" ] && json_add_string "peer_ca" "${peer_ca}"
append_peer () {
[ -n "$1" ] && json_add_string "peer" "$1"
}
append_object () {
[ -n "$1" ] && json_add_string "object" "$1"
}
json_add_array "peer"
config_list_foreach "ubusproxy" "peer" append_peer
json_close_array
json_add_array "object"
config_list_foreach "ubusproxy" "object" append_object
json_close_array
[ "${prefix}" == "mac" ] && json_add_string "prefix" "mac"
json_close_object
fi
validate_owsd_ubusproxy || {
echo "Ubusproxy validation failed"
return 1
}
json_add_object "owsd-listen"
config_foreach parse_owsd_iface "owsd-listen"
json_close_object
if [ "${enable}" -eq 1 ]; then
procd_append_param command -U
[ ! -d "/tmp/owsd" ] && mkdir /tmp/owsd
json_dump > /tmp/owsd/owsd_cfg.json
procd_append_param command -f "/tmp/owsd/owsd_cfg.json"
[ -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()
#{
# service_stop ${PROG}
#}
stop_service()
{
service_stop ${PROG}
}
reload_service() {
stop

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-----

Some files were not shown because too many files have changed in this diff Show More