Commit Graph

641 Commits

Author SHA1 Message Date
Pali Rohár 8cd542a809 Fix snprintf emulation for Windows
* Move it into separate win32_snprintf.h file to de-duplicate its
  implementation from all miniupnp source files.

* Do not use this emulation with mingw32 SDK when __NO_ISOCEXT is not
  defined as in this case mingw32 provides working snprintf function.

* Fix detection for mingw-w64 variants, when __NO_ISOCEXT is defined or
  when older version without UCRT is used.

* Add check if _scprintf function is available. In case it is not available
  just returns length of filled buffer to prevent buffer overflow.
2020-10-18 20:29:53 +02:00
Thomas Bernard bd71e2e279
miniupnpc/addr_is_reserved.c: include sys/types.h 2020-10-17 22:13:32 +02:00
Thomas Bernard 138b4ff3aa
Fix for compiling with old windows SDK 2020-10-17 22:03:22 +02:00
Thomas Bernard 7a66f373fc inet_pton() instead of inet_addr() 2020-10-17 15:19:58 +02:00
Thomas Bernard 69fc376929 add addr_is_reserved.c/.h to MSVC project files
fixes #489
2020-10-17 15:15:59 +02:00
Thomas Bernard 63bf239a3e remove unused definitions
see #489
2020-10-17 14:56:58 +02:00
Thomas Bernard 062b562c37 ignore *.opendb 2020-10-17 14:49:43 +02:00
Thomas Bernard 9ec4351829
Fix solaris build
fixes #490
2020-10-07 00:17:16 +02:00
Pali Rohár f5f693876d miniupnpc: By default skip invalid, disconnected and non-IGD devices
Allow to use such IGD devices by new -i option.
2020-10-05 22:30:30 +02:00
Thomas Bernard 11c479fb2a Merge remote-tracking branch 'pali/master' 2020-10-05 22:02:29 +02:00
Thomas Bernard c7cfe2c51a
fix compilation warning (WIN32) 2020-10-05 21:56:32 +02:00
Pali Rohár fc74c42864 miniupnpc: Fix name of miniupnpc import library in setupmingw32.py 2020-10-02 22:52:26 +02:00
Pali Rohár 7d5fdf0743 miniupnpc: Fix usage of Windows _snprintf() function
_snprintf() differs from snprintf() in:

* on overflow it returns -1 instead of required buffer size
* on overflow it does not fill nul byte
* does not accept NULL/0 as a buffer

Microsoft implemented snprintf() in Visual Studio 2015 as part of UCRT.

Mingw32 contains snprintf() implementation only when __USE_MINGW_ANSI_STDIO
is defined.

Mingw-w64 versions prior to 8.0.0. contain snprintf() implementation when
__USE_MINGW_ANSI_STDIO or _UCRT is defined. Since version 8.0.0 it is
always supported.

Mingw-w64 defines both __MINGW32__ and __MINGW64_VERSION_MAJOR macros.
Mingw32 defines only __MINGW32__.

_scprintf() just count number of bytes needed for formatting string, so it
is basically return value of snprintf().

This change updates miniupnpc code to use snprintf() when is provided by
compiler/runtime to avoid usage _snprintf().

And also this changes updates miniupnpc emulation of snprintf() by
_snprintf() and _scprintf() functions to avoid buffer overflows.

For inspiration full emulation of snprintf() by _snprintf() is available in
mingw-w64 stdio library:

https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-crt/stdio/snprintf.c
2020-10-02 22:32:36 +02:00
Thomas Bernard c1eb7c0069 update Changelog 2020-09-28 23:25:23 +02:00
Thomas Bernard 6358882f19 check string passed to atoi() 2020-09-28 23:24:54 +02:00
Thomas Bernard cce4407d9d check for malformed HTTP response 2020-09-28 23:23:17 +02:00
Thomas Bernard 426f9a1835 fix warning 2020-09-24 10:38:05 +02:00
Thomas Bernard 2db013d891
use GetTickCount()/GetTickCount64() under windows
GetTickCount() when GetTickCount64() is not available
2020-09-24 10:19:09 +02:00
Thomas Bernard af1ea9f60b
miniupnpc: use clock_gettime() instead of gettimeofday() if possible 2020-09-24 10:19:08 +02:00
Thomas Bernard aa490867b3
prevent infinite loop in upnpDiscover()
fixes #488
2020-09-24 10:19:08 +02:00
Thomas Bernard 0c556655ea
Move addr_is_reserved() to a specific source file and test it 2020-09-24 09:57:25 +02:00
Pali Rohár 96aa863c78 Fix check for reserved IP addresses in miniupnpc
Check for 0.0.0.0, 192.168., 10. and 172. is not enough. Nowadays routers
behind NAT are getting IP address from shared CG-NAT space 100.64.0.0/10.

This patch adjust miniupnpc to check for all reserved IPv4 addresses.
2020-08-05 16:26:26 +02:00
Henrik Rydgård 7e229ddd63 Fix Windows UWP build. 2020-07-21 23:42:42 +02:00
Thomas Bernard 029383e5f4
initialize tp_free 2020-06-05 21:13:19 +02:00
Thomas Bernard 47a55b27c7
miniupnpc: use C99 flexible array member for struct UPNPDev
see #462
2020-05-29 17:59:38 +02:00
Thomas Bernard f34241339e
miniupnpc: update *.py files headers 2020-04-06 12:25:34 +02:00
Thomas BERNARD c5e8694746
Merge pull request #434 from pali/master
Fix and simplify Makefile.mingw for miniupnpc
2020-04-06 12:05:56 +02:00
Pali Rohár 8fc9a6d8ad Compile static mingw executables with -static argument 2020-04-06 00:09:52 +02:00
Pali Rohár 2e3e6990db Fix and simplify Makefile.mingw for miniupnpc
* Ensure that all executables would have .exe Windows extension
* Do not use dll subdirectory, so makefile would be slash agnostic
* Define common targets to simplify makefile
* Export required functions for listdevices executable
2020-04-02 18:45:46 +02:00
jaehong park ad7c1db49a fix: TypeError: a bytes-like object is required, not 'str' 2020-03-22 03:31:34 +09:00
Thomas Bernard 4436632866
2019=>2020 2020-02-20 09:04:23 +01:00
Thomas Bernard 443cb78e83
Haiku support 2020-02-20 09:03:53 +01:00
CodeforEvolution bffb6a828f Add Haiku Support 2020-02-19 16:07:56 -06:00
Thomas Bernard f8a39b7fd5 miniupnpc/Changelog.txt: update 2019-12-24 00:36:49 +01:00
Thomas Bernard 0ab1d6725b Merge branch 'issue396' 2019-11-01 00:04:23 +01:00
Thomas Bernard efb6ec1b2f testminiwget.sh: use either "ip addr" or "ifconfig -a" 2019-10-22 14:35:15 +02:00
Thomas Bernard c2818392e1 fix UPNP_GetValidIGD()
lanaddr was the one used to connect to the last device.
fixes #396
2019-10-13 19:58:52 +02:00
Thomas Bernard 5f85321084 connecthostport.c: output to help debug
see #396
2019-10-13 19:22:59 +02:00
Thomas Bernard 7c35c5269c
update miniupnpc/Changelog.txt 2019-08-24 10:51:36 +02:00
Thomas Bernard 191b8bc106
upnperrors.c: update url and add vim modeline 2019-08-24 10:51:27 +02:00
Thomas Bernard 564464efdb Merge remote-tracking branch 'jleyec/master' 2019-07-30 00:17:09 +02:00
Sibi Prabakaran ea69474873
Fix error code for 708
According to the specification
http://upnp.org/specs/gw/UPnP-gw-WANIPConnection-v2-Service.pdf, the
708 error code corresponds to InvalidLayer2Address. Also
WildcardNotPermittedInSrcIP is for 715 which is already properly mapped.
2019-07-29 22:49:07 +05:30
jlayec e1ff22b20d manage [remote host] 2019-07-13 12:39:33 +02:00
Thomas Bernard 1d6b9ae38d
upnperrors.c: 2019 ! 2019-06-25 23:21:26 +02:00
Thomas Bernard 14f6ed5111
python module: UPnP_addportmapping() lease duration is unsigned int
Also, this is the server that will check for the maximum value (604800 seconds)
2019-05-20 21:07:53 +02:00
Nathan Richard d457eacec6 Added the leaseDuration parameter to the addportmapping python binding.
This parameter was already present in the C API but not exposed to the
python module.

For backward compatibility, leaseDuration was made optional with a
default value of 0 (unlimited duration).
2019-05-17 15:45:21 +02:00
Thomas Bernard 9132003aa0
simplify Win32 loop
thanks to irwir !
see https://github.com/miniupnp/miniupnp/pull/362
2019-05-08 15:46:52 +02:00
Ștefan Talpalaru c8566d6ebd
strupnperror(): add 2 more error codes 2019-05-03 14:37:02 +02:00
Nathan Richard 8aec04e234 Add wheels as a distribution alternative for Windows builds. 2019-04-25 18:17:27 +02:00
Nathan Richard b11f642b81 Creation a build matrix to support various python versions. 2019-04-25 17:28:49 +02:00
Nathan Richard e1779d3518 Attempt to have a working build for Python 3.7 under windows with appveyor.
- Python 3.7 is built using Visual Studio 2017 so we use the corresponding image.
- Python 3.7 replaces Python 2.7 when building the module.
- Adding the library legacy_stdio_definitions to the linker input as starting with VS 2015 some symbols have been inlined but may be expected by older binaries. This compatibility library exposes these symbols so they can be dynamically linked when required (Cf. https://stackoverflow.com/a/32418900).
2019-04-25 17:07:26 +02:00
Thomas Bernard f3a567cedf
best way to test for integer in [16;31] 2019-04-23 14:19:31 +02:00
Thomas Bernard 60ed85fe70
upnpcommands.c: restrict scope of variable p
see #362
2019-04-23 14:18:23 +02:00
Thomas Bernard 422d42357e
use strncmp() instead of memcmp() when needed
memcmp(s1, s2, l) is valid when both s1 and s2
have at least l bytes acccessible. So
memcmp("a", "abcdefgh", 8)
is not valid

see #362
2019-04-23 14:16:25 +02:00
Thomas Bernard c1cbcd971b remove space at end of line... 2019-04-23 12:56:28 +02:00
Rosen Penev 82b117ee7f
CMake: Add listdevices
Matches the Makefile
2019-04-23 12:56:15 +02:00
past-due aea0a6093d
[CMake] Add UPNPC_NO_INSTALL option 2019-04-17 10:27:29 -04:00
Thomas Bernard 5ae326a95e
minissdpc.c: fix variable redeclaration of p 2019-04-10 14:15:33 +02:00
Thomas Bernard 922372bff3 2019 2019-04-08 14:46:11 +02:00
Thomas Bernard e1b4f25bba
upnpreplyparse.c: Fix memory leak
If there are multiple  NewPortListing tags,
there is a malloc() for each one.

fixes #357
2019-04-05 10:30:10 +02:00
Thomas Bernard a9a764cea9 update Changlogs. 2019-04-03 17:38:33 +02:00
Thomas Bernard b725f5114f
connecthostport.c: code simplification 2019-03-10 19:23:58 +01:00
Cameron Gutman 3d4661635e Fix connect() socket error trace on Windows
closesocket() clobbers the Winsock last error value, so we must only call it after tracing.
2019-03-05 23:30:24 -08:00
Thomas Bernard 61a18d6b02 getnameinfo() 2nd arg is socklen_t
fixes #350

also fix ressource leak
2019-02-12 14:26:01 +01:00
Thomas Bernard 3e32ea04c8 fix ssdpDiscoverDevices() when building for DEBUG under WIN32 2019-02-11 16:08:55 +01:00
Thomas Bernard 08e955de40 Update Changelogs + 2019 2019-02-10 16:11:16 +01:00
Thomas Bernard 2656f41c7a
miniupnpc: set timeout for select() in connecthostport() 2019-01-23 09:44:21 +01:00
Thomas Bernard e7d99e6b65
fix comment about parseMSEARCHReply() 2019-01-07 09:35:21 +01:00
Cameron Gutman aaa0ed8c86 ensure SSDP reply headers are not partial matches 2019-01-05 12:24:46 -08:00
Thomas Bernard 6ae3445c2e
miniupnpcmodule.c: check return of WSAStartup() 2018-10-31 16:34:00 +01:00
Thomas Bernard 33de3996d7 Merge branch 'uwp_upnpc' 2018-10-31 16:30:56 +01:00
Thomas Bernard 4b87224e6f fix WIN32 warnings introduced in a31c86b8db 2018-10-31 16:26:01 +01:00
Brett 9638371244 Update renamed file in MSVC Project (#331) 2018-10-20 08:56:12 +02:00
Fabio Alessandrelli a31c86b8db Replace GetBestRoute with UWP-compatible API
Everything should still work with Windows XP as minimum version.
Those API are, according to Microsoft docs, compatible with XP.
2018-09-21 14:56:59 +02:00
Thomas Bernard ab4559a432
Make testigddescparse work under Win32
fixes #325
Line endings are CRLF
2018-09-02 18:50:58 +02:00
irwir a7626af053 Fix conditions for Windows versions below Vista 2018-08-05 15:20:44 +03:00
Thomas Bernard 5ddf1e7edb
update miniupnpc README about MINIUPNP_STATICLIB 2018-08-03 02:52:10 +02:00
Thomas Bernard c55d27f46e InetPton() is not available with Win XP so use inet_addr()
see 8babc5d013

Signed-off-by: Thomas Bernard <miniupnp@free.fr>
2018-07-15 12:52:19 +02:00
Pali Rohár a2cec1d868 miniupnp: Add information about iptables settings into README 2018-07-14 13:45:09 +02:00
irwir d8c6433c2e Move common definition to miniupnpc_socketdef.h 2018-07-14 13:39:01 +02:00
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
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
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 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 61703ad8b1 miniupnpc/lisdevices.c: remove warnings. fix leak 2018-04-30 16:44:15 +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 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
Thomas Bernard 42461f4e41 I don't know what is wrong with appveyor, this is another try to get things working 2015-10-26 10:48:45 +01:00
Thomas BERNARD 53367cf85a fix/update Makefile so it is possible to build universal binaries on OS X
use such commandline :
LDFLAGS="-arch ppc64 -arch ppc -mmacosx-version-min=10.4" CFLAGS="-arch ppc64 -arch ppc" make
2015-10-25 22:24:33 +01:00
Wladimir J. van der Laan fb02299fff More accurate checking while writing buffer in simpleUPnPcommand2
Account exactly for bytes when building buffer in simpleUPnPcommand2.
The margin of 100 is not guaranteed to always be enough. When long
parameters are passed in, it was possible to overflow the buffer.
2015-10-25 21:48:00 +01:00
Wladimir J. van der Laan 4c90b87ce3 Check snprintf result
Verify that the buffer size was large enough to write the output,
raise an error condition if not.
2015-10-25 21:13:23 +01:00
Thomas BERNARD f4b173d3b9 chmod +x setup*.py
+ add a few python build dir to .gitignore
2015-10-25 19:52:54 +01:00