miniupnp/miniupnpc
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
..
java miniupnpc: added argument remoteHost to UPNP_GetSpecificPortMappingEntry() 2014-01-31 14:32:00 +01:00
man3 Allow user to explicitly specify local (source) port 2015-05-12 19:05:48 -04:00
msvc miniupnpc/msvc/miniupnpc.vcproj: remove bsdqueue.h 2014-11-01 22:10:55 +01:00
testdesc miniupnpc: Add linksys_WAG200G_desc.xml to test 2014-11-26 12:39:43 +01:00
testreplyparse miniupnpc: added test cases for XML parsing 2014-01-27 16:27:51 +01:00
.gitignore miniupnpc: validate igd_desc_parse 2014-11-17 20:31:11 +01:00
CMakeLists.txt _BSD_SOURCE => _DEFAULT_SOURCE 2015-04-23 12:40:54 +02:00
Changelog.txt upnpc: output version on the terminal 2015-04-30 10:34:22 +02:00
LICENSE 2014 => 2015 2015-01-20 14:12:10 +01:00
MANIFEST.in Added miniupnpc 2011-09-27 22:25:35 +02:00
Makefile _BSD_SOURCE => _DEFAULT_SOURCE 2015-04-23 12:40:54 +02:00
Makefile.mingw Rename STATICLIB macro to resolve natpmp/miniupnp conflict 2014-06-01 13:22:35 +03:00
README miniupnpc: remove bsdqueue.h 2014-11-01 11:41:31 +01:00
VERSION VERSION 1.9 2014-01-31 14:32:26 +01:00
apiversions.txt Merge branch 'master' into search_all 2014-11-17 10:29:29 +01:00
codelength.h Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
connecthostport.c miniupnpc/connecthostport.c: fix for compilation with SunOS 2014-10-06 14:42:28 +02:00
connecthostport.h Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
declspec.h Rename LIBSPEC macro to resolve natpmp/miniupnp conflict 2014-06-01 13:35:13 +03:00
external-ip.sh Added miniupnpc 2011-09-27 22:25:35 +02:00
igd_desc_parse.c igd_desc_parse.c: define printIGD() only in DEBUG 2014-11-17 20:32:41 +01:00
igd_desc_parse.h igd_desc_parse.c: define printIGD() only in DEBUG 2014-11-17 20:32:41 +01:00
listdevices.c miniupnpc/listdevices.c: add -m option 2014-11-17 10:54:09 +01:00
mingw32make.bat Added miniupnpc 2011-09-27 22:25:35 +02:00
minihttptestserver.c miniupnpc: check realloc() return 2015-02-06 11:39:16 +01:00
minisoap.c miniupnpc: use #define UPNP_VERSION_STRING "UPnP/1.1" 2014-11-05 06:34:51 +01:00
minisoap.h Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
minissdpc.c minissdpc.c: Fix uninitialized dev->scope_id 2015-04-24 22:58:46 +02:00
minissdpc.h Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
miniupnpc.c Allow user to explicitly specify local (source) port 2015-05-12 19:05:48 -04:00
miniupnpc.def Dynamic build fails 2014-07-29 11:07:43 -04:00
miniupnpc.h Allow user to explicitly specify local (source) port 2015-05-12 19:05:48 -04:00
miniupnpcmodule.c Allow user to explicitly specify local (source) port 2015-05-12 19:05:48 -04:00
miniupnpcstrings.h.cmake miniupnpc: use #define UPNP_VERSION_STRING "UPnP/1.1" 2014-11-05 06:34:51 +01:00
miniupnpcstrings.h.in miniupnpc: use #define UPNP_VERSION_STRING "UPnP/1.1" 2014-11-05 06:34:51 +01:00
miniupnpctypes.h Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
miniwget.c miniupnpc: check realloc() return 2015-02-06 11:39:16 +01:00
miniwget.h Rename LIBSPEC macro to resolve natpmp/miniupnp conflict 2014-06-01 13:35:13 +03:00
minixml.c minixml.c: now handle XML comments 2014-02-03 11:28:31 +01:00
minixml.h Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
minixmlvalid.c Remove warning about unused argument 2012-05-01 20:55:13 +02:00
portlistingparse.c miniupnpc: remove bsdqueue.h 2014-11-01 11:41:31 +01:00
portlistingparse.h miniupnpc: remove bsdqueue.h 2014-11-01 11:41:31 +01:00
pymoduletest.py Allow user to explicitly specify local (source) port 2015-05-12 19:05:48 -04:00
pymoduletest3.py pymoduletest3.py: python3 version of the test program 2015-02-16 22:59:13 +01:00
receivedata.c miniupnpc/receivedata.c: zero src_addr to silence valgrind 2014-11-13 14:53:50 +01:00
receivedata.h Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
setup.py => 2014 2014-05-20 00:25:35 +02:00
setupmingw32.py => 2014 2014-05-20 00:25:35 +02:00
testigddescparse.c fix realloc failure issues detected thanks to cppcheck 2015-02-08 10:23:22 +01:00
testminiwget.c miniupnpc: parseURL()/miniwget() : IPv6 addresses scope 2012-06-24 00:55:31 +02:00
testminiwget.sh testminiwget.sh: fix comment (it now works with dash) 2013-12-09 09:31:04 +01:00
testminixml.c igd_desc_parse.c: define printIGD() only in DEBUG 2014-11-17 20:32:41 +01:00
testportlistingparse.c miniupnpc: remove bsdqueue.h 2014-11-01 11:41:31 +01:00
testupnpigd.py Added miniupnpc 2011-09-27 22:25:35 +02:00
testupnpreplyparse.c fix miniupnpc/testupnpreplyparse.c 2014-01-27 16:29:35 +01:00
testupnpreplyparse.sh miniupnpc: validate upnpreplyparse.c code with "make check" 2013-05-14 23:09:42 +02:00
updateminiupnpcstrings.sh Added miniupnpc 2011-09-27 22:25:35 +02:00
upnpc.c Allow user to explicitly specify local (source) port 2015-05-12 19:05:48 -04:00
upnpcommands.c miniupnpc/upnpcommands.c: minor fix to UPNP_GetStatusInfo() 2015-02-06 11:39:39 +01:00
upnpcommands.h Rename LIBSPEC macro to resolve natpmp/miniupnp conflict 2014-06-01 13:35:13 +03:00
upnperrors.c Add support for IGD2 AddAnyPortMapping and DeletePortMappingRange 2014-05-13 21:50:07 +01:00
upnperrors.h Rename LIBSPEC macro to resolve natpmp/miniupnp conflict 2014-06-01 13:35:13 +03:00
upnpreplyparse.c miniupnpc/upnpreplyparse.c: Fix compiling with DEBUG 2014-11-05 06:32:43 +01:00
upnpreplyparse.h remove need of sys/queue.h or bsdqueue.h in upnpreplyparse.c/.h 2014-10-27 17:38:26 +01:00
wingenminiupnpcstrings.c fix realloc failure issues detected thanks to cppcheck 2015-02-08 10:23:22 +01:00

README

Project: miniupnp
Project web page: http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
github: https://github.com/miniupnp/miniupnp
freecode: http://freecode.com/projects/miniupnp
Author: Thomas Bernard
Copyright (c) 2005-2014 Thomas Bernard
This software is subject to the conditions detailed in the
LICENSE file provided within this distribution.


* miniUPnP Client - miniUPnPc *

To compile, simply run 'gmake' (could be 'make' on your system).
Under win32, to compile with MinGW, type "mingw32make.bat".
MS Visual C solution and project files are supplied in the msvc/ subdirectory.

The compilation is known to work under linux, FreeBSD,
OpenBSD, MacOS X, AmigaOS and cygwin.
The official AmigaOS4.1 SDK was used for AmigaOS4 and GeekGadgets for AmigaOS3.
upx (http://upx.sourceforge.net) is used to compress the win32 .exe files.

To install the library and headers on the system use :
> su
> make install
> exit

alternatively, to install into a specific location, use :
> INSTALLPREFIX=/usr/local make install

upnpc.c is a sample client using the libminiupnpc.
To use the libminiupnpc in your application, link it with
libminiupnpc.a (or .so) and use the following functions found in miniupnpc.h,
upnpcommands.h and miniwget.h :
- upnpDiscover()
- miniwget()
- parserootdesc()
- GetUPNPUrls()
- UPNP_* (calling UPNP methods)

Note : use #include <miniupnpc/miniupnpc.h> etc... for the includes
and -lminiupnpc for the link

Discovery process is speeded up when MiniSSDPd is running on the machine.


* Python module *

you can build a python module with 'make pythonmodule'
and install it with 'make installpythonmodule'.
setup.py (and setupmingw32.py) are included in the distribution.


Feel free to contact me if you have any problem :
e-mail : miniupnp@free.fr

If you are using libminiupnpc in your application, please
send me an email !

For any question, you can use the web forum :
http://miniupnp.tuxfamily.org/forum/