Commit Graph

446 Commits

Author SHA1 Message Date
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 b7e1b2ef09 miniupnpc/miniupnpcmodule.c: small fix 2018-04-26 22:27:05 +02:00
Thomas Bernard 9663c55c61 miniupnpc/Makefile.mingw: Support cross compiling for Ming32
fixes #293
2018-04-26 22:13:06 +02:00
Thomas Bernard 9d569438d3 update MS VS 2010 project files 2018-04-20 16:34:44 +02:00
Thomas Bernard 154d27c773 miniupnpc/upnpc.c: 2017=>2018 2018-04-20 16:34:42 +02:00
Thomas Bernard 0d0b4d2372 .gitignore: add miniupnpc.pc 2018-04-10 09:47:18 +02:00
Thomas Bernard f8acab6d38 miniupnpc: increments API_VERSION to 17 2018-04-06 12:48:24 +02:00
Thomas Bernard 284db0bb49 miniupnpc: use SOCKET type instead of int for copilation under Win64
see #289
2018-04-06 12:21:36 +02:00
Thomas Bernard a4af4a66b2 miniupnpc: cleanup includes in upnpcommands.h
see #289
2018-03-14 00:36:12 +01:00
Thomas Bernard 8945a6ee15 miniupnpc/miniwget.c: remove useless test
see #289
2018-03-14 00:23:10 +01:00
Thomas Bernard ce2673118d miniupnpc: disable call to MiniSSDPd when -m option is used
fixes #269
2018-02-22 15:58:25 +01:00
Thomas Bernard 90b8f3711c miniupnpc: add miniupnpc.pc for pkg-config
fixes #281
2018-02-22 15:31:34 +01:00
Thomas Bernard a752cf30b5 Add project files for MS Visual Studio 2010 2018-02-17 18:06:57 +01:00
Thomas BERNARD 348e5c405a Fix Makefile for GNU make 3.80
"else ifeq" on the same line is not compatible with GNU Make 3.80
2018-02-03 18:29:35 +01:00
yangfl 2b0a6dd163 Makefile: Use crosscompile target as OS 2018-02-03 11:29:58 +08:00
yangfl b40e6e4eb6 miniupnpc: fix typo 2018-02-03 01:12:45 +08:00
Thomas Bernard 718deea11e Update file headers. 2017 => 2018 etc. 2018-01-16 02:06:46 +01:00
Thomas Bernard 34ac268fc2 minihttptestserver: int => size_t when possible 2018-01-15 17:39:08 +01:00
yangfl d492fa39ef fix typo 2018-01-09 09:33:31 +08:00
Thomas Bernard 37d54ed207 miniupnpc: update Changelog.txt 2017-12-12 12:27:05 +01:00
Thomas Bernard 377cef2dc8 upnpreplyparse.c: NameValueParserEndElt() rename arg to avoid confusion 2017-12-12 12:21:38 +01:00
Thomas Bernard 1f5ca16931 miniupnpc: improve testupnpreplyparse 2017-12-12 11:07:09 +01:00
Thomas Bernard a0573e2518 minixml.c: fix heap buffer overflow
should fix #268
2017-12-11 14:59:29 +01:00
Thomas Bernard 7aeb624b44 properly initialize data structure for SOAP parsing in ParseNameValue()
topelt field was not properly initialized.

should fix #268
2017-12-11 14:27:27 +01:00
Thomas Bernard b4bbee1df9 testminiwget.sh: test IPV6 availability 2017-11-02 18:24:08 +01:00
Thomas Bernard 6600c52b67 testminiwget.sh: display network confing in case of error 2017-11-02 18:11:29 +01:00
Thomas Bernard dfb3115bc3 minihttptestserver.c: fix minor warning in build_favicon_content() 2017-11-02 18:01:57 +01:00
Thomas Bernard 38a20e4849 testminiwget.sh: don't get stuck if the http test server does not starts 2017-11-02 17:53:33 +01:00
Thomas Bernard 7848d799a4 Merge remote-tracking branch 'raspopov/patch-2' 2017-09-29 11:16:20 +02:00
DQ 4afc0edbe3 Update external-ip.sh, only output on success
change sed pattern to only match when GetExternalIPAaddress succeeds and output nothing if it fails

$ upnpc -s | grep ExternalIPAddress | sed 's/[^0-9\.]//g'
.3
$ upnpc -s | grep ExternalIPAddress 
GetExternalIPAddress failed. (errorcode=-3)
$ upnpc -s | sed -n -e 's/^ExternalIPAddress = \([0-9.]*\)$/\1/p'
$
2017-09-28 15:14:22 -07:00
Nikolay Raspopov 1ffb2ea580 Fixed incompatible types (from 'int *' to 'const char *') warning #2
https://msdn.microsoft.com/en-us/library/windows/desktop/ms738574(v=vs.85).aspx
2017-09-18 20:27:10 +03:00
Dmytro Milinevskyy 74c6ab5a46 cli:py: do not ship binaries in sdist
#252
2017-08-25 16:06:26 +02:00
Dmytro Milinevskyy 587f33c3c9 py: include version file in the package file 2017-08-08 19:55:24 +02:00
Thomas Bernard a5f3436cfd Merge remote-tracking branch 'niamster/master' 2017-07-19 20:07:02 +02:00
Thomas Bernard d40e9a9f52 allow setup.py to call another make executable that 'make'
closes #246
2017-07-19 19:44:30 +02:00
Dmytro Milinevskyy a677dccc4d miniupnpc:py: allow desc and remote to be None for addportmapping and addanyportmapping 2017-07-19 13:44:26 +02:00
Dmytro Milinevskyy ae0c3489bf miniupnpc:py: build libminiupnpc.a 2017-07-18 13:00:28 +02:00
Thomas Bernard d13f840a4a =>2017. http => https 2017-07-06 00:03:12 +02:00
Thomas Bernard 04d1e4e3f5 miniupnpc: Add MS VS 2015 solution/project files 2017-06-20 11:45:27 +02:00
Sean Li 1988b54fec Fix issue in CMakeLists.txt.
CMAKE_COMPILER_IS_GNUC should be CMAKE_COMPILER_IS_GNUCC.
2017-06-12 19:13:18 +08:00
Thomas Bernard 15cd905f6f => 2017
also http://miniupnp.tuxfamily.org => HTTPS
2017-05-26 17:27:20 +02:00
Thomas Bernard f0f1f4b22d miniupnpc: Fix CVE-2017-8798
Thanks to tin/Team OSTStrom
2017-05-09 12:00:47 +02:00
Thomas Bernard 086c387924 miniwget.c: use sizeof(buf) 2017-05-05 12:46:09 +02:00
Matthieu Nottale af5c091002 Send error logs to stderr. 2017-04-21 11:25:49 +02:00
Thomas Bernard e6ed3c5b8a do not stop discovery on sendto() failure 2017-03-13 15:33:38 +01:00
Thomas Bernard d36853118e connecthostport.c: fix compilation with -DNO_GETADDRINFO 2017-03-13 14:34:16 +01:00
Darexon 2c262a8793 AddPortMapping() now returns an error code 2017-02-15 00:01:41 -06:00
Thomas Bernard 8c9ce4dbb4 make sure no unitialized memory is accessed in the sockaddr_un structure 2017-01-09 10:18:16 +01:00
Thomas Bernard c8b42602a2 fix potential mem leaks in upnpcommands.c
fixes #225
2017-01-09 10:18:16 +01:00
Thomas Bernard e7068a7d34 LDLIBS, not LDFLAGS :) 2016-12-30 20:07:59 +01:00
Thomas Bernard b433902c02 update .gitignore for win32 files 2016-12-30 16:42:33 +01:00
Thomas Bernard 9e73075752 initialize Winsock in python module
fixes #221
2016-12-28 10:16:47 +01:00
Thomas Bernard 6bbdb817f7 miniupnpc: update Changelog.txt and 2015=>2016 2016-12-16 09:59:10 +01:00
Thomas Bernard 0aa7c46227 remove unsigned/signed comparison 2016-11-11 17:53:21 +01:00
Thomas Bernard ec1c49bb0c check strlen before memcmp
1st try to fix #220
2016-11-11 17:24:39 +01:00
Thomas Bernard d33e1be3a8 avoid useless setsockopt() under solaris
fixes #218
2016-11-11 10:14:14 -05:00
Thomas Bernard c39dda549d better error msg for setsockopt() calls 2016-11-11 10:13:48 -05:00
Thomas Bernard edc1974126 pid_t is not int.. 2016-11-11 08:54:24 -05:00
Thomas Bernard 2dcdf7749f enable extensions when compiling under Solaris 2016-11-11 08:54:07 -05:00
Thomas Bernard 960f8666e8 remove warning: variable 'reason_phrase_len' set but not used
when DEBUG is disabled
also
warning: variable 'reason_phrase' set but not used
2016-11-11 12:35:59 +01:00
Thomas Bernard 6c3e21352e remove -fPIC with CYGWIN
remove "warning: -fPIC ignored for target (all code is position independent)"

fixes #217
2016-11-11 12:31:25 +01:00
Thomas Bernard 71ce1d6dfa fix for Solaris 11 compilation
see #216
2016-11-10 21:55:33 +01:00
Sylvain Pelissier 7db2ae5cdd Add python 3 compatibility to IGD test 2016-10-11 21:14:04 +02:00
Thomas Bernard 1579f4a2af 2015 => 2016 2016-10-07 11:16:03 +02:00
Thomas Bernard 3b2fe1c3e7 Merge remote-tracking branch 'ifarbod/patch-1' 2016-10-07 10:54:09 +02:00
iFarbod cc9639d597 2015 => 2016 2016-10-06 15:51:07 +03:30
Yann GARRAS 3f0bcbf7b5 RemoveRedirect() now return an error code
fixes #210
2016-09-23 17:22:45 +02:00
Thomas Bernard a4916a4c94 SetRedirectAndTest() now return an error code
fixes #210
2016-09-22 22:02:00 +02:00
Thomas Bernard dadbc62f80 Merge remote-tracking branch 'kingduckz/master' 2016-09-05 13:27:18 +02:00
Stefan Hertenberger 00121e9830 add NetBSD support 2016-09-03 09:34:15 +02:00
King_DuckZ 69d70d6721 Fix cmake file so project can be used as a subproject 2016-08-26 00:12:19 +02:00
Thomas Bernard 5f34c62ce3 CMake : use LINK_PRIVATE instead of PRIVATE for compatibility with older versions 2016-06-26 21:07:43 +02:00
Thomas BERNARD 4af956a393 update CMakeLists.txt to build upnpc-static/upnpc-shared executables 2016-06-26 14:19:38 +02:00
Thomas BERNARD f8e3f6fcd6 tab->spaces 2016-06-26 14:19:18 +02:00
Thomas BERNARD 2d20c05935 fix CMakeLists.txt for Darwin/FreeBSD
see d6700c5d 6728b129 and 3fc23c3b
2016-06-26 10:51:07 +02:00
Thomas Bernard 1337158fcf miniupnpd & miniupnpc version 2.0 2016-04-19 23:17:29 +02:00
Thomas Bernard 413db201fe miniupnpc: update README 2016-04-19 22:58:48 +02:00
Thomas Bernard dc9eb0df1c remove useless check
see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=1834
2016-03-07 09:59:06 +01:00
Thomas Bernard c4991916e5 miniupnpc: change miniwget to return HTTP status code
increments API_VERSION to 16
2016-01-24 18:30:41 +01:00
Thomas Bernard d274456d07 UPNP_GetValidIGD() checks external ip address = 0.0.0.0
(or empty string)
2016-01-24 17:38:40 +01:00
Thomas Bernard 4f0e9d20e5 fix previous commit d1243e157d 2016-01-22 17:12:48 +01:00
Thomas Bernard d1243e157d parse HTTP response status line in miniwget.c 2016-01-22 16:53:19 +01:00
Thomas Bernard 2808e5c1c8 upnpc.c: do not use uninitialized bytes 2016-01-22 16:52:18 +01:00
Thomas Bernard cf9a2940e6 2015=>2016 2016-01-22 15:22:23 +01:00
Thomas Bernard 99c7aeef4d Improve UPNPIGD_IsConnected() to check if WAN address is not private. 2016-01-22 15:22:01 +01:00
Thomas Bernard 2e30127cee 2016 ! 2016-01-17 19:36:29 +01:00
Thomas Bernard 02e64e9f85 build listdevices.exe with mingw32 2016-01-17 19:33:13 +01:00
Thomas Bernard 5a284d6b21 fix previous commit. Win32 doesn't have SIOCGIFETADDR 2016-01-17 19:32:05 +01:00
Thomas Bernard aaecdd4190 allow to use interface name for multicast if with *BSD
use SIOCGIFADDR to get interface IP

TODO : check how it works under Win32 ...
2016-01-17 18:49:41 +01:00
Thomas Bernard 6e8fda2358 fix previous commit 53804c3db
allow calling UPNP_GetValidIGD() with lanaddr=NULL
2015-12-11 17:48:43 +01:00
Denis Leroy 53804c3db3 Fix bug in returning IGD LAN address 2015-12-11 16:59:38 +01:00
Thomas Bernard ba05a5aefe compilation fix 2015-11-17 10:08:34 +01:00
Thomas Bernard 87fbbd0e5b define INADDR_LOOPBACK when needed
fixes #161
2015-11-17 10:08:01 +01:00
Thomas Bernard be9ab60dea 2014=>2015 :) 2015-11-05 12:36:33 +01:00
Thomas Bernard 372ad64bb5 update Changelog.txt files 2015-11-05 12:04:26 +01:00
Thomas Bernard 3c18a3ef02 Merge branch '2015_10_strprintf_fixes'
see PR #157 : String handling fixes
2015-10-26 11:46:41 +01:00
Thomas Bernard 06417600f8 miniupnpc.c: simpleUPnPcommand2() C++ => C comments
also reindentation, move declaration of soapbodylen up
vim stuff :)
2015-10-26 11:44:40 +01:00
Thomas Bernard 899ccb9575 ssdpDiscoverDevices() set error 2015-10-26 11:35:09 +01:00
Thomas Bernard bbbbb0c95a minisoap.c: make soapPostSubmit() return -1 for errors 2015-10-26 11:27:10 +01:00
Thomas Bernard cc3eefd912 still trying to fix stuff for appveyor
https://ci.appveyor.com/project/miniupnp/miniupnp
2015-10-26 11:04:47 +01:00