miniupnp/miniupnpc
Thomas Bernard d274456d07 UPNP_GetValidIGD() checks external ip address = 0.0.0.0
(or empty string)
2016-01-24 17:38:40 +01:00
..
java changes java sample according to change of upnpDiscover() 2015-09-04 18:15:07 +02:00
man3 Allow user to explicitly specify local (source) port 2015-05-12 19:05:48 -04:00
msvc miniupnpc: update MSVC project file 2015-09-18 18:12:19 +02: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 chmod +x setup*.py 2015-10-25 19:52:54 +01:00
CMakeLists.txt increments API_VERSION to 15 2015-10-08 17:59:55 +02:00
Changelog.txt parse HTTP response status line in miniwget.c 2016-01-22 16:53:19 +01: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 fix/update Makefile so it is possible to build universal binaries on OS X 2015-10-25 22:24:33 +01:00
Makefile.mingw build listdevices.exe with mingw32 2016-01-17 19:33:13 +01: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 increments API_VERSION to 15 2015-10-08 17:59:55 +02:00
codelength.h miniupnpc: update getDevicesFromMiniSSDPD() to process longer minissdpd responses 2015-06-16 17:33:59 +02:00
connecthostport.c 2014=>2015 :) 2015-11-05 12:36:33 +01: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
external-ip.sh Added miniupnpc 2011-09-27 22:25:35 +02:00
igd_desc_parse.c igd_desc_parse.c: fix buffer overflow 2015-09-15 15:32:33 +02:00
igd_desc_parse.h igd_desc_parse.c: define printIGD() only in DEBUG 2014-11-17 20:32:41 +01:00
listdevices.c Merge branch 'master' into local_port 2015-10-08 17:42:45 +02:00
mingw32make.bat Added miniupnpc 2011-09-27 22:25:35 +02:00
minihttptestserver.c define INADDR_LOOPBACK when needed 2015-11-17 10:08:01 +01:00
minisoap.c minisoap.c: make soapPostSubmit() return -1 for errors 2015-10-26 11:27:10 +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 fix previous commit. Win32 doesn't have SIOCGIFETADDR 2016-01-17 19:32:05 +01:00
minissdpc.h Merge branch 'master' into local_port 2015-10-08 17:42:45 +02:00
miniupnpc.c UPNP_GetValidIGD() checks external ip address = 0.0.0.0 2016-01-24 17:38:40 +01:00
miniupnpc.def Dynamic build fails 2014-07-29 11:07:43 -04:00
miniupnpc.h increments API_VERSION to 15 2015-10-08 17:59:55 +02:00
miniupnpc_declspec.h miniupnpc: renamed declspec.h in order to avoid conflicts 2015-07-21 12:39:40 +02:00
miniupnpcmodule.c Support of older Python 2. 2015-10-25 19:49:03 +01: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 parse HTTP response status line in miniwget.c 2016-01-22 16:53:19 +01:00
miniwget.h fix previous commit d1243e157d 2016-01-22 17:12:48 +01: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 Check malloc/calloc return values 2015-07-15 18:10:10 +02:00
portlistingparse.c miniupnpc: Check malloc/calloc return values 2015-07-15 14:48:57 +02:00
portlistingparse.h miniupnpc: renamed declspec.h in order to avoid conflicts 2015-07-21 12:39:40 +02:00
pymoduletest.py Support of older Python 2. 2015-10-25 19:49:03 +01:00
pymoduletest3.py pymoduletest3.py: python3 version of the test program 2015-02-16 22:59:13 +01:00
receivedata.c compilation fix 2015-11-17 10:08:34 +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 chmod +x setup*.py 2015-10-25 19:52:54 +01:00
setupmingw32.py chmod +x setup*.py 2015-10-25 19:52:54 +01:00
testigddescparse.c miniupnpc: mem leaks fixes. 2015-07-30 01:10:03 +02:00
testminiwget.c miniupnpc: parseURL()/miniwget() : IPv6 addresses scope 2012-06-24 00:55:31 +02:00
testminiwget.sh miniupnpc/testminiwget.sh: fix for OS X mktemp 2015-09-04 17:47:11 +02: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 upnpc.c: do not use uninitialized bytes 2016-01-22 16:52:18 +01:00
upnpcommands.c miniupnpc: Check malloc/calloc return values 2015-07-15 14:48:57 +02:00
upnpcommands.h miniupnpc: renamed declspec.h in order to avoid conflicts 2015-07-21 12:39:40 +02:00
upnpdev.c miniupnpc: update Changelog / dependencies / comments 2015-08-28 14:23:38 +02:00
upnpdev.h miniupnpc: update Changelog / dependencies / comments 2015-08-28 14:23:38 +02:00
upnperrors.c Add support for IGD2 AddAnyPortMapping and DeletePortMappingRange 2014-05-13 21:50:07 +01:00
upnperrors.h miniupnpc: renamed declspec.h in order to avoid conflicts 2015-07-21 12:39:40 +02:00
upnpreplyparse.c miniupnpc: Check malloc/calloc return values 2015-07-15 14:48:57 +02: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/