1134 Commits

Author SHA1 Message Date
Brian John
8d061ecf65 Fix typo: should check for $NAT_TABLE 2022-01-01 16:17:31 -06:00
Brian John
69f01ffcc8 Spelling fix: routeing --> routing 2022-01-01 16:15:54 -06:00
Thomas Bernard
78823d762e
README.md: updated. fix titles 2021-12-16 00:29:39 +01:00
Thomas Bernard
2bfed34e8c
README.md: reformat chain/tables setup
fix 3129683cb335fa8559928d4b8557248f3bc1bc51
2021-12-16 00:27:57 +01:00
Thomas Bernard
1a5cdc0a13 remove space before eol 2021-12-02 00:35:51 +01:00
Thomas Bernard
af0ee582d9
commonrdr.h: 2021 2021-12-02 00:06:24 +01:00
Thomas Bernard
97aa00f076
miniupnpd/Changelog.txt: update regarding #584 / 3129683c 2021-12-02 00:06:24 +01:00
Thomas Bernard
46ecef1365
miniupnpd.conf: default table name changed with #584 / 3129683c 2021-12-02 00:06:23 +01:00
Sven Auhagen
3129683cb3 NFTables use scripts to create tables and chains
To hardcode table and chain creation and deletion makes it impossible
for existing firewall infrastructures to integrate miniupnpd.
NFTables will either reevaluate packets through miniupnpd or
it will delete existing tables when there are already custom chains in it.

Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
2021-11-28 08:08:37 +01:00
Thomas Bernard
d4849fa08e
miniupnpd.conf: comments about netfilter table/chain names 2021-11-27 21:49:25 +01:00
Sven Auhagen
0b3f3e4029
NFTables make tables name configurable
Right now the table names are hardcoded and do not integrate with an overall
firewall strategy.
NFTables has restrictions on how packets are evaluated against chains.
For example if multiple forward chains are evaluated with different prioity,
all packets that pass the first one will be reevaluated again in the second chain.
To have an overall firewall concept with miniupnpd it is necessary to use existing
tables and hence to configure them in miniupnpd.

Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
2021-11-27 21:49:21 +01:00
Thomas Bernard
9eb826a7eb
miniupnpd/Changelog.txt: update regarding merge of #562
see https://github.com/miniupnp/miniupnp/pull/562
2021-11-17 12:37:02 +01:00
Thomas BERNARD
9a5215c54a
Merge pull request #562 from svenauhagen/feature/nftablesnat
NFTables use nat chain for inet (instead of specific IPv4 chain)
2021-11-17 12:36:19 +01:00
Stijn Tintel
51a422407b miniupnpd/configure: don't hardcode iptables
The OpenWrt Makefile that builds miniupnpd passes the firewall argument
to the configure script, so this is not needed and it is blocking us
from using nftables instead, which will be the default backend for
firewall4 to be used in the next OpenWrt stable release.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2021-11-07 20:24:29 +02:00
Stijn Tintel
2b00c461fb treewide: s/OpenWRT/OpenWrt/
The correct spelling is OpenWrt.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2021-11-07 20:21:25 +02:00
Thomas Bernard
7634920f3c
Makefile.linux_nft: fix DEPFLAGS and make install 2021-09-30 23:20:52 +02:00
Thomas Bernard
a933c76be4
Makefile.linux: fix install dependencies 2021-09-30 23:20:25 +02:00
Thomas Bernard
881ba06bc1
configure: warning when no libiptc pkg-config found 2021-09-30 01:49:30 +02:00
Thomas Bernard
d2f558f659
configure: use 'command -v' instead of 'which' 2021-09-30 01:49:30 +02:00
Thomas Bernard
6e16650bc2
miniupnpd/configure: fix comparaison
[ "$IPTABLES_143" -eq 1 ]
doesn't work if $ITABLES_143 is empty
using instead :
 [ "$IPTABLES_143" = "1" ]
2021-09-30 01:49:30 +02:00
Thomas Bernard
c88178650e
replace 'which' with 'command -v' 2021-09-30 01:49:30 +02:00
Thomas Bernard
5d315359aa
gitrev.mk: use gitlab-ci predefined variables 2021-09-30 01:49:29 +02:00
Thomas Bernard
50950a3520
iptcrdr.c: fix a potential double iptc_free(h)
closes #566
2021-09-28 22:47:05 +02:00
Pali Rohár
200d6c2509 miniupnpd: Add some missing checks when update_ext_ip_addr_from_stun() or getifaddr() fails
There is missing corner case check when these functions return failure.
Network in this case does not work, so disable port forwarding to prevent
returning incorrect response about port forwarding state.

Also explicitly set disable_port_forwarding to 0 on success to make code
more readable.
2021-08-31 21:34:27 +02:00
Michał Górny
2087e14b8e testgetifaddr.sh: Always use the first IP addr from 'ip -4 addr'
Terminate the awk after getting the first interface name and IP address
from 'ip -4 addr' output.  Otherwise, the test fails if the interface
in question has multiple IP addresses, as the test program returns
the first address, while awk prints all.
2021-08-22 09:53:31 +02:00
Michał Górny
8c1e5f9500 testgetifaddr.sh: Implement EXTIF fallback to 'ip -4 addr'
Fall back to getting the interface name from 'ip -4 addr' when there
is no default route.  In this case, the test simply uses the interface
providing the IP address for 'ip -4 addr' (since the command is
implicitly called with no interface argument).
2021-08-22 09:50:25 +02:00
Thomas Bernard
df0fbf08b8 miniupnpd version 2.2.3 2021-08-21 11:17:30 +02:00
Thomas Bernard
92cf5c2f95 nftnlrdr_misc.c: 2021 2021-08-21 10:26:31 +02:00
Thomas Bernard
23edb7e5eb options.c: 2021 2021-08-21 10:24:22 +02:00
Thomas Bernard
fec7d87f00 pcplearndscp.h: "new" website 2021-08-21 10:22:26 +02:00
Thomas Bernard
9dbee950ad
upnppinhole.c/.h: 2021 2021-08-21 10:14:28 +02:00
Thomas BERNARD
2115b8f8f0
Merge pull request #553 from ncopa/musl-libc-fix
miniupnpd: don't check for glibc version with musl
2021-08-21 09:52:06 +02:00
Sven Auhagen
acc3bcb0a3 NFTables use inet nat chain
NFTables supports inet in the nat chain as well.
Use it instead of IPv4 chain so it is consistent with the filter chain.

Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
2021-08-18 16:58:50 +01:00
Thomas Bernard
5d5a06c206
Changelog.txt: lease file for IPv6 pinholes
closes #18
2021-08-18 12:38:04 +02:00
Sven Auhagen
74dbad5ab0 IPv6 pinholes lease file
This patch adds a lease file for IPv6 pinholes.
The leases are maintained and readded when miniupnpd restarts.
Currently all IPv6 leases are lost on restart.

Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
2021-08-18 11:06:12 +01:00
Thomas Bernard
46fedcbc32
update Changelog.txt
see #539
2021-08-12 23:19:14 +02:00
Thomas Bernard
32f1d4cd1a
upnpdescgen.c: rootDesc.xml skip DeviceProtection and WANIPv6FirewallControl when force_igd1
see #539
2021-08-12 23:19:14 +02:00
Thomas Bernard
4d4121bf40
upnpdescgen.c: move a variable declaration 2021-08-12 23:19:14 +02:00
Thomas Bernard
2f2685af97
upnphttp.c: detecting MS client and forcing IGD v1
should fix #539
2021-08-12 23:19:14 +02:00
Thomas Bernard
d8e5659c7b
upnpdescgen.c: add force_igd1 param to XML description generation functions 2021-08-12 23:19:13 +02:00
Thomas Bernard
7c112e2b39 Merge commit '7ee554d31b47a7227ab85aa919792597ce78c81e' 2021-08-11 14:49:06 +02:00
Thomas Bernard
f1388717af
miniupnpd.c: fix 1aa46b5a2c71578d63f836c446686c3bc7316733 2021-08-11 12:19:30 +02:00
Pali Rohár
7ee554d31b miniupnpd: Disable port forwarding when upstream interface is down
Obviously port forwarding cannot work when upstream interface is down. So
correctly report status code for port forwarding requests to clients in
this case.
2021-08-06 16:13:25 +02:00
Natanael Copa
ebaa69b313 miniupnpd: don't check for glibc version with musl
Test that ldd is from GLIBC before exctracting the GLIBC_VERSION. This
is not needed with musl libc.
2021-07-21 10:38:35 +02:00
Natanael Copa
1aa46b5a2c miniupnpd: improve error message for bad config
Improve error message so users don't need read the source to figure out
why miniupnpd refuses to start even if the usage is correct.
2021-07-15 12:23:26 +02:00
Thomas Bernard
6f848ae082
2021 2021-06-18 00:37:27 +02:00
Thomas Bernard
7fcbcd35b9
fix commit 5567e7c7e05f2cda8e2f82d97b4054c5729fb933 2021-06-18 00:31:27 +02:00
Thomas Bernard
5567e7c7e0
miniupnpd: improves error handling during init.
- Fails on config parsing and init errors.
- print errors during init to both syslog and stderr.

fixes #551
2021-06-18 00:21:16 +02:00
Thomas Bernard
97b7ec1ad2
normalize use of __STDC_VERSION__ 2021-06-17 09:25:26 +02:00
Thomas Bernard
7783ac1545
upnphttp.c: Code factorization : use SendResp_upnphttp() in SendRespAndClose_upnphttp() 2021-05-22 23:54:32 +02:00