Commit Graph

318 Commits

Author SHA1 Message Date
Nevo Hed 94a5af0c15 Allow user to explicitly specify local (source) port
See https://github.com/miniupnp/miniupnp/issues/119

- Replace the sameport parameter to the upnpDiscover* functions
- Added constants UPNP_LOCAL_PORT_ANY(0) & UPNP_LOCAL_PORT_SAME(1).  The
  value "1" was chosen for presumed backwards compatability with the
  previous "sameport" parameter (assuming usesr would have set to 1 if
  they wanted same port)
- Can be specified with "-z" to the test programs "upnpc" & "pymoduletest.py"
2015-05-12 19:05:48 -04:00
Nevo Hed f11b8b2a0d Init accepts multicastif, minissdpdsocket, discoverdelay
+ Created initialize for the UPnP class.  Initializer accepts named
  arguments to override defaults.
+ multicastif & minissdpdsocket ars strduped and thus freed in the dealloc
  (tho could/should they be native py objects instead?)
+ The pymoduletest.py test has been modified to support these but I only
  tested multicastif & discoverdelay.
2015-05-06 13:12:43 -04:00
Nevo Hed 82969aec1d Wrong field mapped for minissdpdsocket 2015-05-05 13:16:10 -04:00
Thomas Bernard 9b9c7dfe1d upnpc: output version on the terminal 2015-04-30 10:34:22 +02:00
Thomas Bernard c7943b6db3 upnpc.c: output Version on the terminal
fixes #115
2015-04-30 10:31:53 +02:00
Thomas Bernard 1df576c72e miniupnpc: update Changelog.txt 2015-04-27 18:02:41 +02:00
Thomas Bernard e501f5625d minissdpc.c: Fix uninitialized dev->scope_id 2015-04-24 22:58:46 +02:00
Thomas Bernard 1e7d13f34f improve -r command
fixes #104
2015-04-24 22:55:37 +02:00
sanderjo a0614ecfb3 add optional parameter <external_port> to option -r 2015-04-24 19:24:20 +02:00
Thomas Bernard d00db100c1 _BSD_SOURCE => _DEFAULT_SOURCE
with glibc 2.20+ _BSD_SOURCE is deprecated in favor of _DEFAULT_SOURCE
use both to please everyone

fixes #107
2015-04-23 12:40:54 +02:00
Mike Gelfand 5de2bcb561 Fix MINIUPNP_STATICLIB being lost in CMake configuration 2015-04-21 14:28:23 +03:00
Thomas Bernard 46533e6f6c pymoduletest3.py: python3 version of the test program 2015-02-16 22:59:13 +01:00
Thomas Bernard c7d7efd230 fix realloc failure issues detected thanks to cppcheck 2015-02-08 10:23:22 +01:00
Thomas Bernard e280c3dd3a miniupnpc/upnpcommands.c: minor fix to UPNP_GetStatusInfo()
*uptime = 0; instead of the useless uptime = 0;
2015-02-06 11:39:39 +01:00
Thomas Bernard 557fd71fb1 miniupnpc: check realloc() return 2015-02-06 11:39:16 +01:00
Maks Naumov 81dc08d290 Fix setsockopt() for IPV6_MULTICAST_IF
32bit: sizeof(&ifindex) == sizeof(void *) == 4
64bit: sizeof(&ifindex) == sizeof(void *) == 8

As a result, it is "ifindex" oob acces on 64bit platforms.
2015-01-21 16:44:36 +01:00
Thomas Bernard f795af5f54 2014 => 2015 2015-01-20 14:12:10 +01:00
Thomas Bernard a30bdc5e71 miniupnpc/Makefile: install-static target 2015-01-07 10:23:59 +01:00
Thomas Bernard 3875d61c9e miniupnpc/upnpc.c: avoid printing imaginary error when using -u 2015-01-01 19:40:44 +01:00
Thomas Bernard 6eef80dab0 miniupnpc.h: UPNP_GetIGDFromUrl() doc 2015-01-01 19:39:47 +01:00
Thomas Bernard 3a3072ee8c miniupnpc/upnpc.c: call WSACleanup() 2014-12-01 10:33:00 +01:00
Thomas Bernard c72591e72e miniupnpc/miniupnpc.c: fix compilation under WIN32 2014-12-01 10:31:50 +01:00
Thomas Bernard 4cae31c948 miniupnpc.c: dont use if_indextoname() under MS Windows
fixes #85
2014-11-27 12:59:12 +01:00
Thomas Bernard 725632f27d miniupnpc: Add linksys_WAG200G_desc.xml to test 2014-11-26 12:39:43 +01:00
Mike Gelfand c490b42547 Fix _POSIX_C_SOURCE definition
Current code makes use of `snprintf` function defined in C99 standard
but _POSIX_C_SOURCE is set to "1" which is not correct. To access C99
definitions, this macro should be set to at least "200112L".

Also, `strncasecmp` function is being used but corresponding <strings.h>
header is not being included in miniwget.c.

Changes have been tested on FreeBSD 10.1 amd64 with default compiler
(Clang).
2014-11-19 17:06:14 +03:00
Thomas Bernard 3690785a79 miniupnpc/miniupnpc.c: accept all versions of urn:schemas-upnp-org:service:WANCommonInterfaceConfig: service 2014-11-18 00:01:48 +01:00
Thomas Bernard d44d16a688 igd_desc_parse.c: define printIGD() only in DEBUG 2014-11-17 20:32:41 +01:00
Thomas Bernard 6e8106688c miniupnpc: validate igd_desc_parse 2014-11-17 20:31:11 +01:00
Thomas Bernard eefb134e09 miniupnpc/listdevices.c: add -m option 2014-11-17 10:54:09 +01:00
Thomas Bernard e60c3a8ce5 Merge branch 'master' into search_all
Conflicts:
	miniupnpc/apiversions.txt
2014-11-17 10:29:29 +01:00
Thomas Bernard 8d5a9d72da miniupnpc/receivedata.c: zero src_addr to silence valgrind 2014-11-13 14:53:50 +01:00
Thomas Bernard 8b22c4d7f4 miniupnpc/receivedata.c: clean up comments 2014-11-13 14:52:58 +01:00
Thomas Bernard b6438f2f72 miniupnpc: API_VERSION 11 2014-11-13 11:28:20 +01:00
Thomas Bernard 04b7126079 miniupnpc: fix LIBSPEC => MINIUPNP_LIBSPEC 2014-11-13 11:05:09 +01:00
Thomas Bernard 9325bacbfc Merge branch 'master' into search_all
Conflicts:
	miniupnpc/.gitignore
	miniupnpc/Makefile
	miniupnpc/miniupnpc.c
2014-11-13 11:02:28 +01:00
Thomas Bernard edfd211276 miniupnpc/miniupnpc.c: simplified function GetUPNPUrls() 2014-11-05 07:09:42 +01:00
Thomas Bernard 55fc3e4c3c miniupnpc: use #define UPNP_VERSION_STRING "UPnP/1.1" 2014-11-05 06:34:51 +01:00
Thomas Bernard 80268b203c miniupnpc/upnpreplyparse.c: Fix compiling with DEBUG
DEBUG only enabled code was forgotten in commit a80c87fb8d
2014-11-05 06:32:43 +01:00
Thomas Bernard c333c3218d miniupnpc/msvc/miniupnpc.vcproj: remove bsdqueue.h 2014-11-01 22:10:55 +01:00
Thomas Bernard 06bf746cc2 miniupnpc: remove bsdqueue.h 2014-11-01 11:41:31 +01:00
Thomas Bernard 00fd13abe5 miniupnpc/Makefile: fix dependencies 2014-11-01 11:40:15 +01:00
Thomas Bernard 63964448b6 miniupnpc: add testportlistringparse 2014-11-01 11:18:26 +01:00
Thomas Bernard a80c87fb8d remove need of sys/queue.h or bsdqueue.h in upnpreplyparse.c/.h 2014-10-27 17:38:26 +01:00
Thomas Bernard 5973d53736 miniupnpc/Makefile: fix installation of man page 2014-10-25 22:04:10 +02:00
Thomas BERNARD c68c435827 Merge pull request #39 from rofl0r/master
get rid of bsd sys/queue.h dependency
2014-10-25 21:56:33 +02:00
Thomas Bernard 28e3bda6dd miniupnpc/connecthostport.c: fix for compilation with SunOS 2014-10-06 14:42:28 +02:00
Thomas Bernard 0436d03757 miniupnpc/upnpc.c: use remoteHost arg of DeletePortMapping 2014-09-11 16:31:36 +02:00
Thomas Bernard 05cc5daf14 update Changelog.txt files 2014-09-06 10:37:08 +02:00
Thomas Bernard 658c5bd0dc miniupnpc/Makefile: clean minihttptestserver 2014-09-06 10:36:58 +02:00
Thomas Bernard c7b0c20502 miniupnpc/miniupnpcmidule.c: fix for both python2 and python3 2014-09-06 10:01:15 +02:00
Mr. Snow f3fb046e45 Repair python3 build under Homebrew Python 3.4 with OSX 10.9. 2014-09-06 09:58:31 +02:00
Thomas Bernard 626cd2cd6c miniupnpc/miniwget.c: define MIN only when not defined by system headers 2014-08-26 20:48:34 +02:00
Jason Huntley 000f9be7fd Dynamic build fails
Dynamic build fails as a result of undefined reference for UPNP_AddAnyPortMapping and UPNP_DeletePortMappingRange
2014-07-29 11:07:43 -04:00
Thomas Bernard f8cb84e393 miniupnpc/igd_desc_parse.c: Fix parsing of IGD:2 root descriptions
fixes #083
2014-07-01 15:03:34 +02:00
Thomas Bernard bd4de468ad update Changelog.txt 2014-07-01 15:03:08 +02:00
Thomas Bernard 78d32ba012 Merge remote branch 'mikedld/remove-macosx-macro' 2014-06-16 10:54:03 +02:00
Mike Gelfand c08833f9e8 Use _WIN32 instead of WIN32 to check for Windows
MinGW defines both _WIN32 and WIN32 (and may even be the only compiler
doing so). Microsoft and Intel compilers only define _WIN32. Use the
common one to eliminate the need in defining WIN32 explicitly.
2014-06-15 09:37:13 +03:00
Mike Gelfand 920845b107 Use built-in __APPLE__ macro instead of MACOSX
GCC and Clang on Mac OS have a built-in __APPLE__ macro. Use it instead of
manually-defined MACOSX.
2014-06-15 04:14:43 +03:00
Thomas Bernard ebd7138cc0 miniupnpc/Makefile: Add test executables to clean target 2014-06-10 11:55:03 +02:00
Thomas BERNARD 011e7e7acd Merge pull request #77 from mikedld/miniupnp-staticlib
Rename STATICLIB macro to resolve natpmp/miniupnp conflict
2014-06-02 18:54:33 +02:00
Thomas Bernard e222e50b24 miniupnpc: Compile with GNU/Hurd and GNU/kFreeBSD 2014-06-02 17:13:52 +02:00
Mike Gelfand 2e4011ce33 Rename LIBSPEC macro to resolve natpmp/miniupnp conflict
Same macro name is used in both natpmp and miniupnp libraries so it's
impossble to link one statically and another dynamically. This patch
renames the macro to have library-specific name.
2014-06-01 13:35:13 +03:00
Mike Gelfand f6774e3316 Rename STATICLIB macro to resolve natpmp/miniupnp conflict
Same macro name is used in both natpmp and miniupnp libraries so it's
impossble to link one statically and another dynamically. This patch
renames the macro to have library-specific name.
2014-06-01 13:22:35 +03:00
Thomas Bernard 1213033912 => 2014 2014-05-20 00:25:35 +02:00
Thomas Bernard 126bf58d23 miniupnpc: add more info to python packages 2014-05-20 00:24:59 +02:00
Thomas Bernard de96dd47d5 update Changelog.txt files 2014-05-15 10:42:08 +02:00
Arran Cudbard-Bell 0490d16221 Don't print garbage values on failure 2014-05-13 21:50:16 +01:00
Arran Cudbard-Bell b9362f32a7 Add support for IGD2 AddAnyPortMapping and DeletePortMappingRange
Added python bindings for both AddAnyPortMapping and DeletePortMappingRange
2014-05-13 21:50:07 +01:00
Arran Cudbard-Bell be9584d156 Fix formatting in areas the next commit will touch 2014-05-13 21:49:51 +01:00
Thomas Bernard 242aceceb4 miniupnpc/CMakeLists.txt: install portlistingparse.h upnpreplyparse.h
Was in Makefile, but forgotten in CMakeLists.txt
Fixes #68
2014-04-17 12:53:11 +02:00
Thomas Bernard c2b3c70f3d miniupnpc/listdevices.c: improve output 2014-04-14 18:11:01 +02:00
Thomas Bernard c2273b584e miniupnpc: API_VERSION incremented to 11 2014-04-14 17:48:50 +02:00
Thomas Bernard 4e44ef642a Merge branch 'master' into search_all
Conflicts:
	miniupnpc/miniupnpc.c
2014-04-14 17:32:27 +02:00
Thomas BERNARD 1576c07058 use bigger buffers for minissdpd responses 2014-04-12 10:06:53 +02:00
Thomas Bernard 0a46cb1616 miniupnpc/minihttptestserver.c: small improvements 2014-04-01 17:24:19 +02:00
Thomas Bernard 1c451f31bc miniupnpc/minihttptestserver.c: Have fun with favicon ;) 2014-04-01 16:47:57 +02:00
Thomas Bernard a4b29d2c3c miniupnpc/minihttptestserver.c: use sigaction() instead of signal()
now accept() is interrupted by signals
2014-04-01 16:47:00 +02:00
Thomas Bernard acbe15c5ea miniupnpc: fix exported symbols in OS X dynlibs
fixes #63
2014-03-14 09:21:11 +01:00
Thomas Bernard 7fb5fe5dcb miniupnpc/upnpcommands.h: explain UPNP error codes 2014-02-17 16:52:53 +01:00
Thomas Bernard 8ffaa91b2d upnpc.c: 2013 -> 2014 2014-02-05 18:32:47 +01:00
Thomas Bernard cd5cb6e48e removed unused stuff 2014-02-05 18:32:29 +01:00
Thomas Bernard f354f73238 miniupnpc/connecthostport.c: handle EINPROGRESS after connect() 2014-02-05 18:31:28 +01:00
Thomas Bernard 4d62c19c29 send ssdp:all requests to MiniSSDPD correctly 2014-02-03 16:40:42 +01:00
Thomas Bernard b7a4f8d696 minixml.c: now handle XML comments 2014-02-03 11:28:31 +01:00
Thomas Bernard ab7865ae99 miniupnpc.c: translate comment from French to English :) 2014-01-31 15:20:15 +01:00
Thomas Bernard b36900b3e9 miniupnpc/Makefile: fix clean target 2014-01-31 15:19:38 +01:00
Thomas Bernard 02f137700f APIVERSION = 10 2014-01-31 15:00:09 +01:00
Thomas Bernard bf3a91ba83 miniupnpc.c: added upnpDiscoverDevice() 2014-01-31 14:59:21 +01:00
Thomas Bernard 66bd0cce2d APIVERSION = 10 2014-01-31 14:58:40 +01:00
Thomas Bernard 7ef1687d72 Merge branch 'master' into search_all 2014-01-31 14:40:22 +01:00
Thomas Bernard b72a782ab0 VERSION 1.9 2014-01-31 14:32:26 +01:00
Thomas Bernard 28cab3e219 miniupnpc: added argument remoteHost to UPNP_GetSpecificPortMappingEntry()
increment API_VERSION to 10
2014-01-31 14:32:00 +01:00
Thomas Bernard 223398ee0e fix miniupnpc/testupnpreplyparse.c 2014-01-27 16:29:35 +01:00
Thomas Bernard a79cd61fc8 fix miniupnpc.def 2014-01-27 16:29:13 +01:00
Thomas Bernard fd065f7c75 Makefile.mingw: removed -enable-stdcall-fixup 2014-01-27 16:28:50 +01:00
Thomas Bernard af085e8276 miniupnpc: added test cases for XML parsing 2014-01-27 16:27:51 +01:00
Thomas Bernard 18d54e2ae0 miniupnpc.c: MX cannot be 0 2013-12-13 12:50:25 +01:00
Thomas Bernard 370d568715 Merge branch 'master' into search_all 2013-12-13 12:46:09 +01:00
Thomas Bernard b6ecae893c upnpc.c: --help and -h arguments
fixes #037
2013-12-09 10:25:27 +01:00
Thomas Bernard 81f57226eb upnpcommands.c: fixes potential null dereference. Fix #046 2013-12-09 09:31:05 +01:00
Thomas Bernard 3ae6b969a3 testminiwget.sh: fix comment (it now works with dash) 2013-12-09 09:31:04 +01:00
Thomas Bernard 6e20b2af61 miniupnpc.c: UPNP_GetValidIGD() now checks for ExternalIpAddress 2013-12-09 09:31:04 +01:00
Thomas Bernard 3a87aa2f10 miniwget.c: fixed potential buffer overrun 2013-12-09 09:31:04 +01:00
Thomas Bernard b0c66c01e2 miniupnpc: define MAXHOSTNAMELEN if not already done 2013-12-09 09:31:04 +01:00
Karl Hiramoto 2ae481b969 some libc implementations don't define struct ip_mreqn
define it here if CFLAG passed with -DNEED_STRUCT_IP_MREQN

I found this issue cross compiling for ARM using eclibc in the
https://www.yoctoproject.org/  build system.
2013-11-15 10:42:27 +01:00
rofl0r aaf8b028a2 upnpreplyparse.h: always use internal bsdqueue.h 2013-07-05 12:00:04 +02:00
rofl0r e86867da8b postlistingparse.h: always use included bsdqueue.h 2013-07-05 11:55:23 +02:00
rofl0r e901773530 install bsdqueue.h, so an installed version of upnpreplyparse.h can find it 2013-07-05 11:54:20 +02:00
Thomas Bernard 63ece30b87 update upnpreplyparse to allow larger values (128 chars instead of 64)
also add testcase
2013-06-06 23:41:23 +02:00
Thomas Bernard 9b193b0546 comment unused function... 2013-05-14 23:11:43 +02:00
Thomas Bernard a8b1851522 testminixml.c: remove warnings 2013-05-14 23:10:06 +02:00
Thomas Bernard 59d98199c5 miniupnpc: validate upnpreplyparse.c code with "make check" 2013-05-14 23:09:42 +02:00
Thomas Bernard 0f401fe2d5 Update upnpreplyparse.c to take into account "empty" elements 2013-05-14 23:05:08 +02:00
Thomas Bernard 4cd6295119 Changelog for cc165a7aa3 2013-05-14 23:02:47 +02:00
Maciej Małecki cc165a7aa3 Fix Solaris (SmartOS) build
* On Solaris `fd_set` is defined in `sys/select.h`.
  * `libsocket`, `libnsl` and `libresolv` are required.

This makes it build cleanly if `MINIUPNPC_SET_SOCKET_TIMEOUT` is forced
to `false` (as tested on Joyent's SmartOS).
2013-05-03 07:40:26 +02:00
Thomas Bernard 1a2984c1d8 miniupnpc: Fix testminiwget.sh for BSD
Fixes #33
2013-04-27 17:50:02 +02:00
Thomas Bernard e371359050 added miniupnpc/apiversions.txt 2013-03-29 15:46:25 +01:00
Thomas Bernard 2b2efd4459 miniupnpc: Fixed Makefile for *BSD 2013-03-23 10:08:43 +01:00
Thomas Bernard 3f1aaef49a miniupnpc: Update Makefile to use JNAerator version 0.11
fix #29
2013-03-11 11:23:08 +01:00
Thomas Bernard 3e885191c0 miniupnpc.c: MX cannot be 0 2013-02-20 17:08:07 +01:00
Thomas Bernard 91602e129d miniupnpc.c: change upnpDiscoverDevice() to stop when devices are 2013-02-20 17:07:18 +01:00
Thomas Bernard cb054ef580 miniupnpc.c: add upnpDiscoverAll() function 2013-02-20 17:04:53 +01:00
Thomas Bernard 09d5473c54 miniupnpc.c: reindent upnpDiscover() 2013-02-20 16:29:28 +01:00
Thomas Bernard 2b9c014394 miniupnpc.c: improve debug output in upnpDiscoverDevices() 2013-02-20 16:12:35 +01:00
Thomas Bernard f9ea7ad372 upnpDiscover() => upnpDiscoverDevices() 2013-02-18 00:46:09 +01:00
Thomas Bernard 9f1a9a91e6 test: patch upnpDiscover() in order to allow to detect all UPnP devices on the network 2013-02-16 10:48:56 +01:00
Thomas Bernard d06140277b Adding listdevice program 2013-02-16 10:25:10 +01:00
Thomas Bernard 01ec54aec3 Update Changelog.txt files 2013-02-11 11:40:01 +01:00
Michał Górny a3e8540cd0 Fix killing the test server.
The '%1' argument seems to be non-POSIX and does not work well with
dash. Store the forked PID instead, and use it directly to kill the
server.
2013-02-11 10:59:36 +01:00
Thomas Bernard d50eaf3c52 to upper case 2013-02-09 16:32:57 +01:00
Thomas Bernard 44bff51403 miniupnpc/.gitignore: add miniupnpc.h.bak 2013-02-09 16:32:32 +01:00
Thomas Bernard 803899514e use DESTDIR for install targets
fix #026
thanks to rofl0r
2013-02-09 16:17:23 +01:00
Thomas Bernard 370bf72e72 miniupnpc.h changed version to 1.8 2013-02-06 15:50:37 +01:00
Thomas Bernard 49f38310fa miniupnpc: prepare version 1.8 ! 2013-02-06 14:57:49 +01:00
Leah X Schmidt 5e5847facc distclean target 2013-01-27 22:42:52 +01:00
Leah X Schmidt 89755b36aa fix gitignore 2013-01-27 22:42:30 +01:00
Leah X Schmidt 184d79bf59 fix typo in makefile 2013-01-27 22:42:14 +01:00
Leah X Schmidt b74bb40780 Make miniupnpc jar file build on win32 2013-01-27 22:41:33 +01:00
Thomas Bernard 3e5aedae7f miniupnpc/miniupnpc.c: #define strdup to please MSVC 2012-10-16 18:53:28 +02:00
Thomas Bernard d6c4e55e68 miniupnpc/Changelog.txt: update 2012-10-16 18:51:58 +02:00
Nikolay Orlyuk ea7b76b46c miniupnpc: added HAVE_IPV6 and LIBDIR 2012-10-16 08:04:05 +03:00
Jardel Weyrich a8b4fa53ba Fix include guards that were missed in 95d5c0bf39. 2012-10-09 19:00:31 -03:00
Jardel Weyrich 95d5c0bf39 Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
Thomas Bernard 18ea17b95e Add -e option to upnpc program (set description for port mappings) 2012-08-30 12:38:27 +02:00
Thomas Bernard d148904d2b update/fix changelogs 2012-08-29 09:59:06 +02:00
Thomas Bernard 0aea9dc0fb Try to handle scope id in link local IPv6 URL under MS Windows 2012-08-29 09:58:39 +02:00
Thomas Bernard f9c6d4709e Fix a memory link in UPNP_GetValidIGD() 2012-08-29 09:57:38 +02:00
Christopher Foo 0c652db9dd miniupnpc: Supports Python 3 2012-08-28 21:25:00 -04:00
Thomas Bernard ad744bd6a5 miniupnpc: Disable HAS_IP_MREQN on DragonFly BSD 2012-07-20 10:09:40 +02:00
Thomas Bernard 06484ed6d7 miniupnpc: GetUPNPUrls() now inserts scope into link-local IPv6 addresses 2012-06-28 21:05:50 +02:00