zhanghongyu
2b0a4a20f5
iptables: add file lock to prevent concurrent overwrite
...
the kernel can only prevent the concurrency of s/getsockopt, but
iptables will call these interfaces multiple times at a time. We
need to wait for one iptables to complete before executing the second
one, otherwise the data will be overwritten.
iptables flow:
get current iptables entries [1] -> add new entry 2 [1,2] -> set to kernel [1,2]
get current iptables entries [1] -> add new entry 3 [1,3] -> set to kernel [1,3]
entry 2 is lost
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2026-01-15 17:20:03 +08:00
zhanghongyu
5f634815cb
iptables: fix the ipv4 mask conversion error
...
the configured mask should be in network byte order, but the logic here
calculates it as host byte order.
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2026-01-15 17:12:03 +08:00
shichunma
7daac30cb4
system/iptables: avoid trap when running "iptables -L"
...
A trap occurs every time CONFIG_NET_NAT is enabled while CONFIG_NET_IPFILTER is not.
Signed-off-by: Jerry Ma <masc2008@gmail.com>
2026-01-11 15:07:15 -05:00
Alin Jerpelea
66e8296230
system: migrate to SPDX identifier
...
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2024-12-30 18:02:50 +08:00
xuxin19
cbcf9ec168
cmake:add CMake build for libuv
...
Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2024-06-30 21:40:25 +08:00
xuxin19
2e133feb09
cmake:support system apps CMake build
...
Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2024-06-30 21:40:25 +08:00
Zhe Weng
f620353507
system/iptables: Support ip6tables & filter table
...
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2024-06-21 10:16:01 +08:00
Zhe Weng
8ae06462eb
system/iptables: Support filter table
...
Add supports for filter table, usage is same as Linux's iptables, including:
- [!] -p/--protocol
- [!] -s/--source -d/--destination
- [!] -i/--in-interface -o/--out-interface
- [!] --sport/--source-port --dport/--destination-port
- [!] --icmp-type
Examples:
> iptables -P FORWARD DROP
> iptables -I INPUT -i eth0 ! -p icmp -j DROP
> iptables -t filter -A FORWARD -p tcp -s 10.0.1.2/24 -d 10.0.3.4/24 -i eth0 -o eth1 --sport 3000:3200 --dport 123:65535 -j ACCEPT
> iptables -t filter -I FORWARD 2 -p icmp ! -s 123.123.123.123 ! -i eth0 -o eth1 ! --icmp-type 255 -j REJECT
> iptables -L
Chain INPUT (policy ACCEPT)
target prot idev odev source destination
DROP !icmp eth0 any anywhere anywhere
Chain FORWARD (policy DROP)
target prot idev odev source destination
ACCEPT tcp eth0 eth1 10.0.1.2/24 10.0.3.4/24 tcp spts:3000:3200 dpts:123:65535
REJECT icmp !eth0 eth1 !123.123.123.123/32 anywhere icmp !type 255
Chain OUTPUT (policy ACCEPT)
target prot idev odev source destination
Note:
- We're dropping dependency of argtable3, since it is difficult to support command like '! -p tcp ! -i eth0'
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2024-06-21 10:16:01 +08:00
Xiang Xiao
054cf3b1cb
Change all sizeof(arr)/sizeof(arr[0]) to nitems
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-08-17 22:51:51 +03:00
Zhe Weng
e935f153bc
apps/system: Call arg_freetable before iptables/tcpdump exit
...
Forget to free argtable before exit.
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-04-24 23:47:45 +08:00
Zhe Weng
19958f0428
apps/system: Add iptables command.
...
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2022-12-29 14:26:41 +08:00