Thomas Bernard
c70a646a73
add genminiupnpcstrings.vbs to MSVC 2015 project
2018-07-14 13:34:44 +02:00
Thomas Bernard
6f99427d69
improve genminiupnpcstrings.vbs to generate file only if changed
2018-07-14 13:29:37 +02:00
Thomas Bernard
8babc5d013
Win32 : use InetPton() etc. to silence MSVC warnings
2018-07-14 12:53:42 +02:00
Thomas Bernard
fe73488e88
Add Debug Dll/Release Dll configurations to MSVC 2015 projects
...
also fix the link with miniupnpc.lib in MSVC 2010
2018-07-14 12:41:52 +02:00
Thomas Bernard
032ecf654a
Add Debug Dll / Release Dll configurations for MSVC 2010
2018-07-14 11:51:48 +02:00
Thomas Bernard
13a9c24d7f
declspec.h had been renamed miniupnpc_declspec.h
2018-07-14 11:29:07 +02:00
Thomas Bernard
d27a3152bd
fix generate_transaction_id()
2018-07-06 15:29:15 +02: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
6e5a88098d
fix file headers (=>2018)
...
Signed-off-by: Thomas Bernard <miniupnp@free.fr>
2018-07-06 14:16:49 +02:00
Thomas Bernard
d84e004849
Fix upnpstun.o dependencies
2018-07-06 14:16:07 +02:00
Thomas Bernard
810cb665c2
Merge branch 'pr_307'
...
see #307
2018-07-06 13:40:18 +02:00
Thomas Bernard
012cad4111
Makefile.linux: fix depends
2018-07-06 13:36:23 +02:00
Thomas Bernard
b2343c87a7
Add STUN support
...
see #307
2018-07-06 13:33:33 +02:00
Thomas Bernard
18ec4e88e7
asyncsendto.c: 2018
2018-07-06 13:31:44 +02:00
Thomas Bernard
1da39554c7
fixes in upnpstun.c
...
Signed-off-by: Thomas Bernard <miniupnp@free.fr>
2018-07-06 13:31:26 +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
8c91ff515e
reserved[] is const
2018-07-06 13:20:30 +02:00
irwir
bded13f390
When code was updated for 64-bit Windows configurations, some changes were not applied.
...
Details :
cast for connect() sendto() arguments
remove unecessary p = NULL;
remove unecessary code
printf format fixes in ssdpDiscoverDevices()
fixes #311
Signed-off-by: Thomas Bernard <miniupnp@free.fr>
2018-07-06 11:35:12 +02:00
Thomas Bernard
ef179a45e3
do not check empty string with strlen(s) == 0
...
see #292
2018-06-01 10:55:45 +02:00
Thomas Bernard
72005ce86a
add -w option to iptables.
...
see https://miniupnp.tuxfamily.org/forum/viewtopic.php?p=5113
Signed-off-by: Thomas Bernard <miniupnp@free.fr>
2018-05-29 12:26:33 +02:00
Pali Rohár
c1472ffe4e
miniupnpd: GetExternalIPAddress(): Instead of invalid IP address 0.0.0.0 returns error 501
...
IP address 0.0.0.0 is filled when it is not possible to retrieve IP address. According to specification, GetExternalIPAddress() can return error 501 when action failed.
2018-05-19 17:28:43 +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
Pali Rohár
c35935c61d
miniupnpd: Add function addr_is_reserved() to check if address is private/reserved and therefore not for public port forwarding
2018-05-19 13:31:14 +02:00
Pali Rohár
4f53b322fd
miniupnpd: Add function perform_stun() for detecting external IP address and restrictive NAT via STUN protocol
...
It automatically unblock selected UDP ports for incoming responses and after finishing ports unblock is removed.
2018-05-19 13:31:08 +02:00
Pali Rohár
cd7284785b
miniupnpd: Add function delete_filter_rule() also for PF and Linux Netfilter
...
It is needed for STUN implementation.
2018-05-19 13:31:02 +02:00
Tengiz Sharafiev
d3a7441aeb
Fix colliding of miniupnpc.lib files
...
Fix miniupnp/miniupnp#270
Both libminiupnpc-static and libminiupnpc-shared targets
were generated miniupnpc.lib files.
Now libminiupnpc-static generates libminiupnpc.lib whereas
libminiupnpc-shared generates miniupnpc.lib and miniupnpc.dll
2018-05-09 13:52:41 +03:00
Tengiz Sharafiev
891b15b789
Fix copy-paste typo
2018-05-09 13:51:30 +03:00
Thomas Bernard
582375b64f
miniupnpd: VERSION 2.1
2018-05-08 23:40:27 +02:00
Thomas Bernard
e11bbf0bc0
miniupnpd/pcp: Send PCP announcment at startup
...
fixes #254
2018-05-08 23:06:19 +02:00
yangfl
b3849ef311
Fix OS detection for Debian kFreeBSD
2018-05-08 21:59:15 +08:00
Thomas Bernard
bd836936f7
miniupnpc: VERSION 2.1
2018-05-07 13:12:58 +02:00
Thomas Bernard
4a9c12ca20
VBscript to generate miniupnpcstrings.h
...
fixes #297
2018-05-07 12:51:59 +02:00
Thomas BERNARD
943e28bdaa
Merge pull request #296 from btolfa/miniupnpc-modern-cmake
...
Modernize and cleanup CMakeLists.txt
2018-05-07 11:24:22 +02:00
Thomas Bernard
d2bbdee995
fix typo introduced in 00abd9e6c8
2018-05-03 09:54:02 +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
d0e7958617
lease_file_remove(): replace strncpy/strncat by snprintf()
2018-05-01 13:04:20 +02:00
Thomas Bernard
f6ac854f0f
miniupnpd: fix storing of unlimited lease time in lease_file
...
see #295
2018-05-01 11:26:49 +02:00
Thomas Bernard
17773f0a72
if LEASEFILE_USE_REMAINING_TIME is defined, only the remaining time is stored
...
see #295
2018-04-30 17:25:26 +02:00
Thomas Bernard
00abd9e6c8
miniupnpd: store UNIX time in lease_file
...
fixes #295
2018-04-30 16:59:40 +02:00
Thomas Bernard
61703ad8b1
miniupnpc/lisdevices.c: remove warnings. fix leak
2018-04-30 16:44:15 +02:00
Thomas Bernard
073642d7e4
test2
2018-04-30 16:39:28 +02:00
Thomas Bernard
cc3541e6cf
appveyor: version
2018-04-30 16:35:07 +02:00
Thomas Bernard
f65d34433f
miniupnpc/listdevices: remove duplicates
2018-04-30 16:26:29 +02:00
Thomas BERNARD
bdfd7bb562
miniupnpc/listdevices: show devices sorted by XML desc URL
2018-04-30 01:59:38 +02:00
Tengiz Sharafiev
530b272350
Modernize and cleanup CMakeLists.txt
...
[Effective Modern CMake](https://gist.github.com/mbinna/c61dbb39bca0e4fb7d1f73b0d66a4fd1 )
- Set the minimum required version for CMake to 3.5
- Added `UPNPC_BUILD_SAMPLE` option for building sample client application (upnpc.c)
- Added interface target library `miniupnpc-private` for common settings like compile
definitions, flags and include directories. It helps to keep global scope clean.
https://cmake.org/cmake/help/v3.11/manual/cmake-buildsystem.7.html#interface-libraries
- Replaced `-fPIC` compile option with `POSITION_INDEPENDENT_CODE` target property
https://cmake.org/cmake/help/v3.11/prop_tgt/POSITION_INDEPENDENT_CODE.html#prop_tgt:POSITION_INDEPENDENT_CODE
- Set usage requirements for `libminiupnpc-*` targets for more convenient
usage through `add_subdirectory()` (as cmake subproject)
https://cmake.org/cmake/help/v3.11/manual/cmake-buildsystem.7.html#build-specification-and-usage-requirements
- Removed old and outdated code from CMakeLists.txt
2018-04-27 21:38:25 +07:00
Thomas Bernard
491ee9f8bf
miniupnpd/upnpevents.c: Add log when error
2018-04-27 00:08:06 +02:00