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
7c112e2b39
Merge commit '7ee554d31b47a7227ab85aa919792597ce78c81e'
2021-08-11 14:49:06 +02:00
Thomas Bernard
f1388717af
miniupnpd.c: fix 1aa46b5a2c
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
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
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
08ae9e9e71
miniupnpd: dynamically retrieve `uname -r`
...
fixes #547
2021-05-22 00:16:40 +02:00
Thomas Bernard
207d1849e4
miniupnpd.c: typo and ip -> IP
2021-01-15 19:33:29 +01:00
Pali Rohár
e6bf74a691
Add check that miniupnpd is not going to listen on WAN interface with public IP address
...
Option listen= is used for LAN interface/address and option ext_addr= is
used for public IP address. If users by mistake swap WAN and LAN interface
or public and private IP addresses then miniupnpd obviously would not work
and instead of hacking miniupnpd code users should rather check their
miniupnpd configuration or local firewall settings.
So add checks and hints which prevents security issues like swapping LAN
and WAN interfaces/addresses and therefore prevent exposing port forwarding
and firewall configuration on public Internet.
2020-12-30 11:23:29 +01:00
Pali Rohár
304ff79dc5
Update and extend description from STUN output
...
People sometimes do not understand where is the problem, so include also
hints what they needs to check, change and re-configure.
2020-12-30 11:22:12 +01:00
Thomas Bernard
68cc35156e
fix nftables shutdown_redirect()
...
see #481
2020-10-22 21:19:37 +02:00
Thomas Bernard
f9908a788b
Move chain name variables to netfilter/*
2020-09-28 22:44:24 +02:00
Thomas Bernard
7a9452fca9
miniupnpd: make sure "runtime_vars" are initialized
2020-06-20 17:02:19 +02:00
Thomas Bernard
5bbcc0bb65
miniupnpd --help shows usage
2020-06-20 17:01:01 +02:00
Thomas Bernard
417b496617
miniupnpd: add -v/-vv command line argument to enable more logs
...
fixes #477
2020-06-20 17:00:10 +02:00
Thomas Bernard
8a665a1c8e
configure --disable-fork to disable going to background
...
fixes #468
2020-06-03 23:43:58 +02:00
Thomas Bernard
194566a5bd
support for libcap-ng
...
fixes #405
2020-05-10 15:34:45 +02:00
Thomas Bernard
5abb714d34
drop linux capabilities
2020-05-10 15:34:44 +02:00
Thomas Bernard
7800de9429
miniupnpd: fix for bridges
...
you now can setup :
listening_ip=igb1 bridge0 xxx0 xxx1 ...
miniupnpd will use igd1 address, but will not complain when receiving
packets from either igb1, bridge0, xxx0 or xxx1
fixes #379
see also #408
2020-04-29 00:03:54 +02:00
Thomas Bernard
c51c5b7d58
miniupnpd: be more explicit about usage of ext_ip= in double nat setups
2020-04-12 19:44:27 +02:00
Thomas Bernard
a774830fe0
miniupnpd: Option to disable IPv6 at runtime : -4 / ipv6_disable=yes
2020-04-09 21:12:20 +02:00
Thomas Bernard
aa08b09068
miniupnpd version prints backend
2019-10-22 20:11:02 +02:00
Thomas Bernard
49d3b57441
miniupnpd: Add --version commandline option
...
fixes #370
2019-10-05 22:44:31 +02:00
Thomas Bernard
22223da9a1
use OpenBSD pledge() to drop privileges
...
To be tested
see #405
2019-10-03 23:23:53 +02:00
Paul Chambers
7ea314412c
make rdr_name_type enum values more unique
2019-10-02 23:42:15 +02:00
Paul Chambers
75bdb777cf
rework nft-specific globals, create & destroy tables/chains at init & shutdown
2019-09-30 00:12:08 -07:00
Thomas Bernard
a1ceec3dba
miniupnpd: Allow to use two different network interfaces for IPv4 and IPv6 internet
...
-i / -I
ext_ifname= / ext_ifname6=
see :
df906367be
/
thanks to "sfstudio"
2019-05-21 10:42:40 +02:00
Thomas Bernard
510a6e9630
fix check of valid HTTPS socket
2019-01-23 09:25:10 +01:00
Thomas Bernard
efe5d87103
LOG_WARNING if behind restrictive NAT
2018-07-06 14:41:04 +02:00
Pali Rohár
e6011dc534
miniupnpd: Allow to specify also port number in -o STUN: option
...
Also update help for -o STUN: option, it can take stun hostname too.
2018-07-06 14:38:37 +02:00
Thomas Bernard
810cb665c2
Merge branch 'pr_307'
...
see #307
2018-07-06 13:40:18 +02:00
Thomas Bernard
15b6f3e9c2
fixes in update_ext_ip_addr_from_stun()
...
Signed-off-by: Thomas Bernard <miniupnp@free.fr>
2018-07-06 13:29:33 +02:00
Thomas Bernard
8bc6d6f556
PERFORMSTUN => PERFORMSTUNMASK. allow to specify stun using -o option
2018-07-06 13:23:22 +02:00
Thomas Bernard
ef179a45e3
do not check empty string with strlen(s) == 0
...
see #292
2018-06-01 10:55:45 +02:00
Pali Rohár
8c97654d70
miniupnpd: When enabled perform STUN to learn external IP address and NAT type
...
Also enable port forwarding when direct (non-NAT) connection or unrestricted NAT 1:1 (without any filtering) is detected.
2018-05-19 13:32:42 +02:00
Pali Rohár
8e10a1aeab
miniupnpd: Disable port forwarding when we are behind restrictive nat with reserved / private IP address
...
In this case port forwarding is impossible, so rather return error code to the client instead of silently trying to do something and informing clients that port forwarding is enabled.
2018-05-19 13:32:04 +02:00
Pali Rohár
cce19781e6
miniupnpd: Add validation that public ip address is not reserved and is really public
...
This ensures that all requests for getting public IP address (either via UPnP IGD or PCP/PMP) would contain correct public IP address or an error (instead of some invalid private/reserved IP address).
2018-05-19 13:31:26 +02:00
Thomas Bernard
e11bbf0bc0
miniupnpd/pcp: Send PCP announcment at startup
...
fixes #254
2018-05-08 23:06:19 +02:00
Thomas Bernard
a92138345b
add option LEASEFILE_USE_REMAINING_TIME
...
new function lease_file_rewrite()
that is called just before exiting, and when SIGUSR2 is received
see #295
2018-05-02 09:40:12 +02:00
Thomas Bernard
1fe8d21cf2
fixes #272
2018-04-12 10:49:53 +02:00
Thomas Bernard
eaaf4f10ae
miniupnpd: introduce upnp_gettimeofday() which is monotonic :)
...
fixes #288
2018-04-12 10:07:11 +02:00
Thomas Bernard
dd2aa84204
miniupnpd: use monotonic clock for timeouts, etc.
...
fixes #288
also changed set_startup_time()
2018-03-13 11:43:07 +01:00
Thomas Bernard
f0511d761b
miniupnpd: Add -1 option
...
fixes #277
see #282
2018-02-22 14:02:52 +01:00
Thomas Bernard
80779ff4f7
Fix commit 6cbf0ba
...
Use the "flags" global variable to store the option value
Save a lot of complexity.
2018-02-22 13:47:48 +01:00
Nye Liu
c6bf0ba6f3
Allow runtime override of igd to v1 for people running binaries with v2 enabled
...
Towards miniupnp/miniupnp#277
2018-02-19 22:14:05 -08:00
Thomas Bernard
7492fe42c2
pcpserver.c: send ANNOUNCE when IP changed
...
see #254
2017-11-27 23:04:51 +01:00
Thomas Bernard
6ce6a70973
PCP : reset epoch after address change
...
see #254
2017-11-02 17:27:24 +01:00
Thomas Bernard
5923d5de6f
=> 2017
2017-05-27 10:25:53 +02:00
Thomas Bernard
11fcf5a008
Merge branch 'master' into randomize_url
2017-05-26 17:30:18 +02:00
Thomas Bernard
50d21a38d0
SSDP: use receiving interface index to check if from LAN
2017-05-25 00:44:29 +02:00