Commit Graph

2341 Commits

Author SHA1 Message Date
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
Thomas BERNARD a2e38e6099
Merge pull request #560 from stefantalpalaru/mingw
miniupnpc: don't assume '.' is in the Windows PATH
2021-08-19 10:08:08 +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
Ștefan Talpalaru d04473c67f
miniupnpc: don't assume '.' is in the Windows PATH 2021-08-17 02:48:36 +02: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 1aa46b5a2c 2021-08-11 12:19:30 +02:00
Thomas BERNARD 1dae9bfca5
Merge pull request #554 from ncopa/improve-error-message
miniupnpd: improve error message for bad config
2021-08-06 19:09:47 +02:00
Pali Rohár 67e4ed74b9 Add github workflow for x86_64-w64-mingw32 compiler 2021-08-06 17:07:40 +02:00
Pali Rohár be48e154b9 Rename github workflow for i686-w64-mingw32 compiler to match its name 2021-08-06 17:06:46 +02:00
Pali Rohár 54b3058b87 Add github workflow for i586-mingw32msvc compiler
Packages for i586-mingw32msvc compiler are not available in latest Ubuntu,
so download them from Ubuntu primary archive on Launchpad.
2021-08-06 16:57:07 +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
SpaceIm da771539c1 fix cross-build to iOS/tvOS/watchOS 2021-07-19 22:35:31 +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 9c76760fb5 travis is dead 2021-06-18 00:33:58 +02:00
Thomas Bernard 7fcbcd35b9
fix commit 5567e7c7e0 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
fanquake 8f9ce751ba
Fix __STDC_VERSION__ check in upnpdev.h 2021-06-17 14:48:34 +08:00
Thomas Bernard 7783ac1545
upnphttp.c: Code factorization : use SendResp_upnphttp() in SendRespAndClose_upnphttp() 2021-05-22 23:54:32 +02:00
Thomas Bernard acca60a365
miniupnpd: Better comment snprintf() used to build HTTP headers 2021-05-22 23:30:05 +02:00
Thomas Bernard 08ae9e9e71
miniupnpd: dynamically retrieve `uname -r`
fixes #547
2021-05-22 00:16:40 +02:00
Thomas Bernard 479f6ed616
miniupnpc/CMakeLists.txt: TAB => SPACES 2021-05-22 00:09:09 +02:00
past-due 2c564135e1 [CMake] Build listdevices.c as part of the listdevices executable
Do not include it in MINIUPNPC_SOURCES
2021-05-21 17:06:33 -04:00
Thomas Bernard adc3af534d
appveyor: add build with VS 2019 + Python 3.9 2021-05-19 10:34:23 +02:00
Thomas Bernard f3c0d52ca4
wingenminiupnpcstrings.c: fix -Wsign-compare warning 2021-05-19 10:33:33 +02:00
Thomas Bernard 5c84b30d96 appveyor.yml: image: is in Matrix 2021-05-19 10:30:38 +02:00
Thomas Bernard 50df9ed2ad version is now 2.2 2021-05-19 10:30:08 +02:00
Thomas Bernard 982f47a8b6
miniupnpd: version 2.2.2 2021-05-13 13:33:02 +02:00
Thomas Bernard 69acdf3356
ssdpDiscoverDevices() ignore empty string multicastif
fixes #544
2021-05-13 13:01:38 +02:00
SeaEagle1 1713f4b9b4
Add SO_REUSEPORT option for SSDP
fixes #541
2021-05-12 00:15:02 +02:00
Thomas Bernard f13a79fabc Merge branch 'apple_clock_gettime_fallback_1'
see #516
2021-05-12 00:09:48 +02:00
Thomas Bernard 56aa707a75
use C style comments 2021-05-12 00:09:28 +02:00
Thomas Bernard 0c7579c9aa
2020 => 2021 2021-05-12 00:00:06 +02:00
Thomas Bernard 57e9a52b95
miniupnpd/Changelog.txt: update 2021-05-11 23:58:35 +02:00
Thomas Bernard 3a87be33e7
upnpsoap.c: comment and improve GetExternalIPAddress()
GetExternalIPAddress returns empty string when the External IP address can
not be retrieved.
2021-03-31 09:43:28 +02:00
Pali Rohár 20ee72f9c8 miniupnpc: Show error message when GetExternalIPAddress returns empty string
According to IGD v2.0 specification GetExternalIPAddress can return also
empty string in case of error.
2021-03-28 17:33:15 +02:00
Pali Rohár 79ca440f73 miniupnpd: When ExternalIPAddress is unknown returns empty string in GetExternalIPAddress
IGD v2.0 specification for WANIPConnection:2 says:

  When the external IP address could not be retrieved by the gateway (for
  example, because the interface is down or because there was a failure in
  the last connection setup attempt), then the ExternalIPAddress MUST be
  equal to the empty string.

So instead of Error 501 "Action Failed" returns empty string to be
compliant with IGD v2.0 specification.
2021-03-28 17:20:34 +02:00
Thomas Bernard 2254e8928e
(try to) fix miniupnpc mingw build in gitlab-ci 2021-03-19 10:20:42 +01:00
Fabio Alessandrelli 3a08dd4b89 Use GetBestInterfaceEx when available.
Since GetBestInterface is not available in UWP apps.

GetBestInterface:
https://docs.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-getbestinterface#requirements

GetBestInterfaceEx:
https://docs.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-getbestinterfaceex#requirements
2021-03-18 17:30:46 +01:00
Fabio Alessandrelli c1b64740fb Use WINVER values instead of _WIN32_WINNT_[NAME].
WINVER values are well defined, see:

https://docs.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt?view=msvc-160
2021-03-18 17:11:48 +01:00