miniupnp/miniupnpc
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
..
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 increments API_VERSION to 15 2015-10-08 17:59:55 +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 increments API_VERSION to 15 2015-10-08 17:59:55 +02:00
Makefile.mingw miniupnpc: fix Win32 build, both MinGW and MSVC 2015-09-18 18:11:56 +02: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 miniupnpc: fix while-loop condition 2015-10-09 15:18:08 +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
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 miniupnpc: Check malloc/calloc return values 2015-07-15 14:48:57 +02:00
minisoap.c Check snprintf result 2015-10-25 21:13:23 +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 Check snprintf result 2015-10-25 21:13:23 +01:00
minissdpc.h Merge branch 'master' into local_port 2015-10-08 17:42:45 +02:00
miniupnpc.c More accurate checking while writing buffer in simpleUPnPcommand2 2015-10-25 21:48:00 +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 Check snprintf result 2015-10-25 21:13:23 +01:00
miniwget.h miniupnpc: renamed declspec.h in order to avoid conflicts 2015-07-21 12:39:40 +02: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 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 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 formatting 2015-10-08 17:48:04 +02: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/