Compare commits

..

26 Commits

Author SHA1 Message Date
nevadita.chatterjee
b7597b920d ieee1905: 4.10.40 2023-06-21 12:14:45 +05:30
Grzegorz Sluja
749678804a Update package dectmngr 3.5.8
Anonymous call to DECT should be displayed as "Withheld"
2023-06-15 12:33:56 +02:00
Vivek Kumar Dutta
d6d623e761 icwmp: 8.4.26.10 2023-06-15 09:12:09 +05:30
Grzegorz Sluja
2264847f69 Update package dectmngr
6ea57b3 Fix the bug that missed calls are not cleared after reading from the handset
ae9e8f3 Change narrow band to wide band for incoming calls to DECT handsets
a9b4e71 Fix memory corruption in converAsciiToHexString()
b48f408 CI: move code-analysis to own container registry (IOP-9341)
903ea46 Fix the second caller id display issue
83f89a8 Stop building libdect.so
a3ce12a Always use pthread_t as the type of thread id other than u32
2023-06-13 10:49:16 +02:00
Filip Matusiak
4e773fb976 map-agent: 2.10.4.1 2023-06-12 09:44:20 +02:00
Jakob Olsson
68f5ac2402 map-agent: remove legacy parts of vlan teardown 2023-06-08 15:52:46 +02:00
Jakob Olsson
5cb9293bd9 map-agent: traffic_separation: set guest zone default fw rule to DROP 2023-06-08 14:29:14 +02:00
nevadita.chatterjee
6fb739d980 ieee1905: 4.10.39 2023-06-08 16:21:46 +05:30
Jakob Olsson
19d34e3417 map-agent: 2.10.4.0 2023-06-03 19:28:27 +02:00
Jakob Olsson
2bf41d47b0 map-agent: traffic_separation: remove patch and diff teardown usage 2023-06-03 19:28:27 +02:00
Jakob Olsson
fb4abd07eb map-agent: traffic_separation: update guest ping fw rule 2023-06-02 13:57:50 +02:00
Jakob Olsson
cedcb18ce9 map-agent: traffic_separation: refactor teardown 2023-06-02 13:57:50 +02:00
Jakob Olsson
41c4512235 Revert "Revert "map-agent: traffic_separation: allow al-bridge to untag primary""
This reverts commit 5fe134d348.
2023-06-02 13:57:29 +02:00
Jakob Olsson
fc87cf8197 map-agent: traffic_separation: create 8021q interfaces from network cfg 2023-06-02 13:57:29 +02:00
Marek Puzyniak
9a119ba0dd map-agent: 2.10.3.4 2023-05-31 11:10:20 +00:00
Jakob Olsson
5fe134d348 Revert "map-agent: traffic_separation: allow al-bridge to untag primary"
This reverts commit b5f38bf1f5.
2023-05-24 16:49:10 +02:00
Filip Matusiak
de057f0d58 map-agent: 2.10.3.3 2023-05-24 10:52:59 +02:00
Jakob Olsson
ffc0f1cad1 map-agent: 2.10.3.2 2023-05-23 13:52:40 +02:00
Jakob Olsson
379f1bc95a map-agent: traffic_separation: fixes to fw rules and their teardown 2023-05-23 13:50:30 +02:00
Filip Matusiak
ec7a8d0244 map-controller: 2.8.0.25
Signed-off-by: Filip Matusiak <filip.matusiak@iopsys.eu>
2023-05-22 13:32:41 +02:00
Filip Matusiak
ffa7f9bbc6 map-controller: 2.8.0.24
Signed-off-by: Filip Matusiak <filip.matusiak@iopsys.eu>
2023-05-17 16:25:02 +02:00
Jakob Olsson
0d3da06f85 map-agent: 2.10.3.1 2023-05-17 14:16:44 +00:00
Jakob Olsson
55cc54e7f7 map-agent: traffic_separation: update ebtable isolation rules for ethports 2023-05-17 14:16:44 +00:00
Jakob Olsson
b5f38bf1f5 map-agent: traffic_separation: allow al-bridge to untag primary 2023-05-17 14:16:44 +00:00
Jakob Olsson
e43631ecaa map-agent: traffic_separation: allow guests only access to DHCP and DNS 2023-05-17 14:16:44 +00:00
Jakob Olsson
ddf478f77a map-agent: multiap: attempt to update ebtable rules when uplink changes 2023-05-17 14:16:44 +00:00
8 changed files with 189 additions and 91 deletions

View File

@@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dectmngr
PKG_RELEASE:=3
PKG_VERSION:=3.5.6
PKG_VERSION:=3.5.8
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dectmngr.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=81450033d98fcdb68911e2148f48d190492090a6
PKG_SOURCE_VERSION:=18dece420502e25a9bd9f3b534bc6c338fcc9377
PKG_MIRROR_HASH:=skip
endif

View File

@@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=icwmp
PKG_VERSION:=8.4.26.9
PKG_VERSION:=8.4.26.10
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/icwmp.git
PKG_SOURCE_VERSION:=4775925cb4ee114446c66cadda4948590a2a9ee5
PKG_SOURCE_VERSION:=ac7410a726a7269dcaef4c80061cab7a4447f6d1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ieee1905
PKG_VERSION:=4.10.38
PKG_VERSION:=4.10.40
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=c80262c73c99c06b07568866be74c1a997baec9f
PKG_SOURCE_VERSION:=4533751a58cfb0fcf4ee878785f6c0872949c68d
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/ieee1905.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-agent
PKG_VERSION:=2.10.3.0
PKG_VERSION:=2.10.4.1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=162252d85071dd869785b86ebb1d462a32e8c761
PKG_SOURCE_VERSION:=9e52e1476bd012914dfdd454cb16b292c99a0669
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_LICENSE:=BSD-3-Clause
@@ -28,7 +28,7 @@ define Package/map-agent
CATEGORY:=Utilities
TITLE:=WiFi multi-AP Agent (EasyMesh R2)
DEPENDS:=+libwifi +libuci +libubox +ubus +libeasy +libieee1905 +ieee1905 \
+map-plugin +ip-bridge +@BUSYBOX_CONFIG_PATCH +@BUSYBOX_CONFIG_DIFF
+map-plugin +ip-bridge
endef

View File

@@ -10,10 +10,6 @@ IS_CFG_VALID=1
MAP_DEV="map_dev"
MAP_IF="map"
create_dir() {
mkdir -p /etc/multiap
}
start_dynbhd_service() {
rm -f /tmp/multiap.backhaul
procd_open_instance
@@ -189,7 +185,6 @@ start_service() {
config_get_bool enabled agent enabled 1
[ "$enabled" -eq 0 ] && return 1
create_dir
procd_open_instance
procd_set_param command "/usr/sbin/mapagent" "-d"
procd_set_param respawn

View File

@@ -864,6 +864,40 @@ set_uplink_backhaul_info() {
) 200>/var/lock/map.backhaul.lock
}
update_isolate_ebtables() {
parse_fh() {
local brcm_setup="$(uci -q get mapagent.agent.brcm_setup)"
local guest_isolate="$(uci -q get mapagent.agent.guest_isolation)"
local pvid="$(uci -q get mapagent.@policy[0].pvid)"
local section=$1
local prefix="TODO"
local action="del"
config_get vid $section vid
config_get band $section band
config_get ifname $section ifname
[ $vid -gt 4094 -o $vid -lt 1 ] && vid=$pvid
[ "$guest_isolate" = "1" -a "$vid" != "$pvid" ] && action="add"
if [ "$brcm_setup" = "1" ]; then
prefix="wds"
else
#todo
break;
fi
ts_sub "isolate" "$action" "$pvid" "$vid" "$band" "$ifname" "$prefix"
}
config_load mapagent
config_foreach parse_fh ap
}
set_uplink() {
local type=$1
local ifname=$2
@@ -881,8 +915,7 @@ set_uplink() {
) 200>/var/lock/map.backhaul.lock
json_cleanup
config_load mapagent
update_isolate_ebtables
island_prevention="$(uci -q get mapagent.agent.island_prevention)"
if [ "$island_prevention" = "1" -a "$type" = "eth" ]; then
@@ -894,8 +927,6 @@ set_uplink() {
unset_uplink() {
local type=${1:-wifi}
config_load mapagent
island_prevention="$(uci -q get mapagent.agent.island_prevention)"
if [ "$island_prevention" = "1" -a "$type" = "eth" ]; then

View File

@@ -2,7 +2,6 @@
. /lib/functions.sh
MAPDIR="/etc/multiap/"
AL_BRIDGE=${AL_BRIDGE-"br-lan"}
PRIMARY_VID=${PRIMARY_VID-1}
MAP_BH_FILE="/tmp/multiap.backhaul"
@@ -24,6 +23,80 @@ EOF
exit 1
}
_dhcp_cleanup() {
vid=$1
[ -n "$(uci -q get dhcp.guest${vid})" ] && {
uci -q delete dhcp.guest${vid}
uci commit dhcp
/etc/init.d/dnsmasq reload
}
}
_firewall_cleanup() {
vid=$1
guest_teardown() {
local section=$1
local config=$2
local val=$3
local option=$4
config_get name "$section" "$option"
[ "$val" != "$name" ] && continue
uci delete ${config}.${section}
uci commit ${config}
}
[ -n "$(uci -q get firewall.guest${vid}_dns)" ] && {
uci -q delete firewall.guest${vid}_dns
uci commit firewall
}
[ -n "$(uci -q get firewall.guest${vid}_dhcp)" ] && {
uci -q delete firewall.guest${vid}_dhcp
uci commit firewall
}
[ -n "$(uci -q get firewall.guest${vid}_ping)" ] && {
uci -q delete firewall.guest${vid}_ping
uci commit firewall
}
config_load firewall
config_foreach guest_teardown forwarding "firewall" guest${vid} "src" #delete firewall section with name = guest${vid}
config_load firewall
config_foreach guest_teardown zone "firewall" guest${vid} "name" #delete firewall section with name = guest${vid}
}
_network_cleanup() {
vid=$1
[ -n "$(uci -q get network.vlan${vid})" ] && {
uci -q delete network.vlan${vid}
uci commit network
}
[ -n "$(uci -q get network.guest${vid})" ] && {
uci -q delete network.guest${vid}
uci commit network
}
[ -n "$(uci -q get network.guest${vid}_8021q)" ] && {
uci -q delete network.guest${vid}_8021q
uci commit network
}
}
_guest_cleanup() {
vid=$1
_dhcp_cleanup $vid
_firewall_cleanup $vid
_network_cleanup $vid
}
ts_create() {
_dhcp_setup() {
local name=$1
@@ -49,7 +122,11 @@ EOF
_firewall_setup() {
local name=$1
local network=$1
local vid=$2
local exists=0
local diff=0
local subnet=$(($vid % 256))
local ipaddr="192.168.${subnet}.1"
config_load firewall
@@ -65,24 +142,60 @@ EOF
}
config_foreach _process_zone zone $name "name"
[ "$exists" != "0" ] && return
uci -q add firewall zone
uci -q set firewall.@zone[-1].name="$name"
uci -q add_list firewall.@zone[-1].network="$network"
uci -q set firewall.@zone[-1].input='ACCEPT'
uci -q set firewall.@zone[-1].output='ACCEPT'
uci -q set firewall.@zone[-1].forward='ACCEPT'
[ "$exists" == "0" ] && {
uci -q add firewall zone
uci -q set firewall.@zone[-1].name="$name"
uci -q add_list firewall.@zone[-1].network="$network"
uci -q set firewall.@zone[-1].input='DROP'
uci -q set firewall.@zone[-1].output='ACCEPT'
uci -q set firewall.@zone[-1].forward='DROP'
diff=1
}
exists=0
config_foreach _process_zone forwarding $name "src"
[ "$exists" != "0" ] && return
[ "$exists" == "0" ] && {
uci -q add firewall forwarding
uci -q set firewall.@forwarding[-1].src="$name"
uci -q set firewall.@forwarding[-1].dest="wan"
diff=1
}
uci -q add firewall forwarding
uci -q set firewall.@forwarding[-1].src="$name"
uci -q set firewall.@forwarding[-1].dest="wan"
[ -z "$(uci -q get firewall.${name}_dns)" ] && {
uci set firewall.${name}_dns=rule
uci set firewall.${name}_dns.name="Allow-DNS-${name}"
uci set firewall.${name}_dns.src="${name}"
uci set firewall.${name}_dns.dest_port="53"
uci set firewall.${name}_dns.proto="tcp udp"
uci set firewall.${name}_dns.target="ACCEPT"
diff=1
}
uci -q commit firewall
[ -z "$(uci -q get firewall.${name}_dhcp)" ] && {
uci set firewall.${name}_dhcp=rule
uci set firewall.${name}_dhcp.name="Allow-DHCP-${name}"
uci set firewall.${name}_dhcp.src="${name}"
uci set firewall.${name}_dhcp.src_port="68"
uci set firewall.${name}_dhcp.dest_port="67"
uci set firewall.${name}_dhcp.proto="udp"
uci set firewall.${name}_dhcp.family="ipv4"
uci set firewall.${name}_dhcp.target="ACCEPT"
diff=1
}
[ -z "$(uci -q get firewall.${name}_ping)" ] && {
uci set firewall.${name}_ping=rule
uci set firewall.${name}_ping.name="Allow-Ping-${name}"
uci set firewall.${name}_ping.src="${name}"
uci set firewall.${name}_ping.dest_ip="${ipaddr}"
uci set firewall.${name}_ping.proto="icmp"
uci set firewall.${name}_ping.icmp_type="echo-request"
uci set firewall.${name}_ping.family="ipv4"
uci set firewall.${name}_ping.target="ACCEPT"
diff=1
}
[ $diff -eq 1 ] && uci -q commit firewall
}
_net_setup() {
@@ -128,9 +241,7 @@ EOF
config_load network
[ ! -f $MAPDIR/network.old ] && cp /etc/config/network $MAPDIR/network.old
[ -x "/usr/sbin/mapcontroller" ] && config_foreach net_set_primary interface $PRIMARY_VID
#[ -x "/usr/sbin/mapcontroller" ] && config_foreach net_set_primary interface $PRIMARY_VID
exists=$(config_foreach net_check_for_vlan bridge-vlan $vid)
[ -z "$exists" ] && {
@@ -146,7 +257,7 @@ EOF
[ "${vid}" = "${PRIMARY_VID}" ] && {
# self_flags="untagged pvid"
[ ! -x "/usr/sbin/mapcontroller" ] && uci -q set network.${name}.flags="untagged pvid"
uci -q set network.${name}.flags="untagged pvid"
tag=":*"
}
@@ -200,11 +311,13 @@ EOF
diff="1"
}
[ -n "$diff" ] && {
patchnum=$(ls -la $MAPDIR/network*.patch | wc -l)
patchnum=$((patchnum+1))
diff -u $MAPDIR/network.old /etc/config/network > $MAPDIR/network${patchnum}.patch
cp /etc/config/network $MAPDIR/network.old
[ -z "$(uci -q get network.guest${vid}_8021q)" -a $PRIMARY_VID != $vid ] && {
uci -q set network.guest${vid}_8021q="device"
uci -q set network.guest${vid}_8021q.ifname="${AL_BRIDGE}"
uci -q set network.guest${vid}_8021q.name="${AL_BRIDGE}.$vid"
uci -q set network.guest${vid}_8021q.type="8021q"
uci -q set network.guest${vid}_8021q.vid="$vid"
uci -q set network.guest${vid}_8021q.native="1"
}
}
@@ -222,7 +335,7 @@ EOF
[ -x "/usr/sbin/mapcontroller" -a "$PRIMARY_VID" != "$vid" ] && {
_dhcp_setup guest${vid}
_firewall_setup guest${vid}
_firewall_setup guest${vid} $vid
}
# Disable pktfwd here and flush FlowCache rules
@@ -273,14 +386,6 @@ EOF
fi
/etc/init.d/firewall reload
diff=$(diff -u $MAPDIR/network.old /etc/config/network | grep '+ option macaddr ')
[ -n "$diff" ] && {
patchnum=$(ls -la $MAPDIR/network*.patch | wc -l)
patchnum=$((patchnum+1))
diff -u $MAPDIR/network.old /etc/config/network > $MAPDIR/network${patchnum}.patch
cp /etc/config/network $MAPDIR/network.old
}
#for sink in $(ubus list network.interface.sink*) ; do
# local sink_vlan=${sink/network.interface./}_vlan
#done
@@ -312,8 +417,8 @@ EOF
fi
done
uci -q delete network.$section
restart="1"
_guest_cleanup $vlan
}
config_load network
@@ -344,19 +449,7 @@ EOF
local vid=$1
restart=""
if [ -x "/usr/sbin/mapcontroller" ]; then
[ -n "$(uci -q get dhcp.guest${vid})" ] && {
uci -q delete dhcp.guest${vid}
uci commit dhcp
/etc/init.d/dnsmasq reload
}
config_load firewall
config_foreach guest_teardown forwarding "firewall" guest${vid} "src" #delete firewall section with name = guest${vid}
config_load firewall
config_foreach guest_teardown zone "firewall" guest${vid} "name" #delete firewall section with name = guest${vid}
[ "$restart" = "1" ] && /etc/init.d/firewall reload
fi
_guest_cleanup $vid
# enable pktfwd again and flush FlowCache rules
echo 1 > /proc/pktfwd_dhd/enable
@@ -415,45 +508,25 @@ EOF
json_cleanup
for prefix in $@; do
ebtables -D FORWARD -i $ifname --o ${prefix}+ --vlan-id ! $pvid -j DROP -p 802_1Q > /dev/null 2>&1
ebtables -D FORWARD -i ${prefix}+ --o $ifname --vlan-id ! $pvid -j DROP -p 802_1Q > /dev/null 2>&1
ebtables -D FORWARD -i $ifname --o ${prefix}+ -j DROP > /dev/null 2>&1
ebtables -D FORWARD -i ${prefix}+ --o $ifname -j DROP > /dev/null 2>&1
# isolate eth interfaces
for port in $(uci -q get network.${br_dev}.ports) ; do
ebtables -D FORWARD -i $ifname --o $port -j DROP > /dev/null 2>&1
ebtables -D FORWARD -i $port --o $ifname -j DROP > /dev/null 2>&1
ebtables -D FORWARD -i $port --o ${prefix}+ -j DROP > /dev/null 2>&1
ebtables -D FORWARD -i ${prefix}+ --o $port -j DROP > /dev/null 2>&1
[ "$action" != "add" -o "$port" = "$bk_ifname" ] && continue
ebtables -A FORWARD -i $ifname --o $port -j DROP > /dev/null 2>&1
ebtables -A FORWARD -i $port --o $ifname -j DROP > /dev/null 2>&1
ebtables -A FORWARD -i $port --o ${prefix}+ -j DROP > /dev/null 2>&1
ebtables -A FORWARD -i ${prefix}+ --o $port -j DROP > /dev/null 2>&1
done
[ "$action" != "add" ] && continue
ebtables -A FORWARD -i $ifname --o ${prefix}+ --vlan-id ! $pvid -j DROP -p 802_1Q > /dev/null 2>&1
ebtables -A FORWARD -i ${prefix}+ --o $ifname --vlan-id ! $pvid -j DROP -p 802_1Q > /dev/null 2>&1
ebtables -A FORWARD -i $ifname --o ${prefix}+ -j DROP > /dev/null 2>&1
ebtables -A FORWARD -i ${prefix}+ --o $ifname -j DROP > /dev/null 2>&1
done
}
ts_revert() {
local restart=""
cd $MAPDIR/ 2>/dev/null || return 0
files="$(ls -r network*.patch)"
[ -z "$files" ] && return 0
for file in $files; do
patch -p0 -R -i $file
[ "$?" == 0 ] && restart="1"
rm -rf $file
done
rm $MAPDIR/network.old
[ "$restart" != "" ] && /etc/init.d/network restart
}
local func=$1
shift
@@ -463,7 +536,6 @@ EOF
reload) ts_dbg "reload $@"; ts_reload $@;;
cleanup) ts_dbg "cleanup $@"; ts_cleanup $@;;
isolate) ts_dbg "isolate $@"; ts_isolate $@;;
revert) ts_dbg "revert $@"; ts_revert $@;;
--help|help) ts_usage;;
*) ts_usage; exit 1;;
esac

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-controller
PKG_VERSION:=2.8.0.23
PKG_VERSION:=2.8.0.25
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=e6b6a5940cc5ec9ceeb4ec380a755566dfc1cafb
PKG_SOURCE_VERSION:=209ffb0bb4932e29e3d4d05f515b71985491abce
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)