mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-06-05 03:53:44 +02:00
Turns out it wasn't hard to add miniupnpc to the VS2012 project and just have it build with the rest of the code.
This commit is contained in:
parent
dc8edea0c6
commit
0f5fb48a0b
35 changed files with 157 additions and 1633 deletions
|
@ -1,633 +0,0 @@
|
||||||
$Id: Changelog.txt,v 1.208 2015/07/15 12:18:59 nanard Exp $
|
|
||||||
miniUPnP client Changelog.
|
|
||||||
|
|
||||||
2015/07/15:
|
|
||||||
Check malloc/calloc
|
|
||||||
|
|
||||||
2015/06/16:
|
|
||||||
update getDevicesFromMiniSSDPD() to process longer minissdpd
|
|
||||||
responses
|
|
||||||
|
|
||||||
2015/05/22:
|
|
||||||
add searchalltypes param to upnpDiscoverDevices()
|
|
||||||
increments API_VERSION to 13
|
|
||||||
|
|
||||||
2015/04/30:
|
|
||||||
upnpc: output version on the terminal
|
|
||||||
|
|
||||||
2015/04/27:
|
|
||||||
_BSD_SOURCE is deprecated in favor of _DEFAULT_SOURCE
|
|
||||||
fix CMakeLists.txt COMPILE_DEFINITIONS
|
|
||||||
fix getDevicesFromMiniSSDPD() not setting scope_id
|
|
||||||
improve -r command of upnpc command line tool
|
|
||||||
|
|
||||||
2014/11/17:
|
|
||||||
search all :
|
|
||||||
upnpDiscoverDevices() / upnpDiscoverAll() functions
|
|
||||||
listdevices executable
|
|
||||||
increment API_VERSION to 12
|
|
||||||
validate igd_desc_parse
|
|
||||||
|
|
||||||
2014/11/13:
|
|
||||||
increment API_VERSION to 11
|
|
||||||
|
|
||||||
2014/11/05:
|
|
||||||
simplified function GetUPNPUrls()
|
|
||||||
|
|
||||||
2014/09/11:
|
|
||||||
use remoteHost arg of DeletePortMapping
|
|
||||||
|
|
||||||
2014/09/06:
|
|
||||||
Fix python3 build
|
|
||||||
|
|
||||||
2014/07/01:
|
|
||||||
Fix parsing of IGD2 root descriptions
|
|
||||||
|
|
||||||
2014/06/10:
|
|
||||||
rename LIBSPEC to MINIUPNP_LIBSPEC
|
|
||||||
|
|
||||||
2014/05/15:
|
|
||||||
Add support for IGD2 AddAnyPortMapping and DeletePortMappingRange
|
|
||||||
|
|
||||||
2014/02/05:
|
|
||||||
handle EINPROGRESS after connect()
|
|
||||||
|
|
||||||
2014/02/03:
|
|
||||||
minixml now handle XML comments
|
|
||||||
|
|
||||||
VERSION 1.9 : released 2014/01/31
|
|
||||||
|
|
||||||
2014/01/31:
|
|
||||||
added argument remoteHost to UPNP_GetSpecificPortMappingEntry()
|
|
||||||
increment API_VERSION to 10
|
|
||||||
|
|
||||||
2013/12/09:
|
|
||||||
--help and -h arguments in upnpc.c
|
|
||||||
|
|
||||||
2013/10/07:
|
|
||||||
fixed potential buffer overrun in miniwget.c
|
|
||||||
Modified UPNP_GetValidIGD() to check for ExternalIpAddress
|
|
||||||
|
|
||||||
2013/08/01:
|
|
||||||
define MAXHOSTNAMELEN if not already done
|
|
||||||
|
|
||||||
2013/06/06:
|
|
||||||
update upnpreplyparse to allow larger values (128 chars instead of 64)
|
|
||||||
|
|
||||||
2013/05/14:
|
|
||||||
Update upnpreplyparse to take into account "empty" elements
|
|
||||||
validate upnpreplyparse.c code with "make check"
|
|
||||||
|
|
||||||
2013/05/03:
|
|
||||||
Fix Solaris build thanks to Maciej Małecki
|
|
||||||
|
|
||||||
2013/04/27:
|
|
||||||
Fix testminiwget.sh for BSD
|
|
||||||
|
|
||||||
2013/03/23:
|
|
||||||
Fixed Makefile for *BSD
|
|
||||||
|
|
||||||
2013/03/11:
|
|
||||||
Update Makefile to use JNAerator version 0.11
|
|
||||||
|
|
||||||
2013/02/11:
|
|
||||||
Fix testminiwget.sh for use with dash
|
|
||||||
Use $(DESTDIR) in Makefile
|
|
||||||
|
|
||||||
VERSION 1.8 : released 2013/02/06
|
|
||||||
|
|
||||||
2012/10/16:
|
|
||||||
fix testminiwget with no IPv6 support
|
|
||||||
|
|
||||||
2012/09/27:
|
|
||||||
Rename all include guards to not clash with C99
|
|
||||||
(7.1.3 Reserved identifiers).
|
|
||||||
|
|
||||||
2012/08/30:
|
|
||||||
Added -e option to upnpc program (set description for port mappings)
|
|
||||||
|
|
||||||
2012/08/29:
|
|
||||||
Python 3 support (thanks to Christopher Foo)
|
|
||||||
|
|
||||||
2012/08/11:
|
|
||||||
Fix a memory link in UPNP_GetValidIGD()
|
|
||||||
Try to handle scope id in link local IPv6 URL under MS Windows
|
|
||||||
|
|
||||||
2012/07/20:
|
|
||||||
Disable HAS_IP_MREQN on DragonFly BSD
|
|
||||||
|
|
||||||
2012/06/28:
|
|
||||||
GetUPNPUrls() now inserts scope into link-local IPv6 addresses
|
|
||||||
|
|
||||||
2012/06/23:
|
|
||||||
More error return checks in upnpc.c
|
|
||||||
#define MINIUPNPC_GET_SRC_ADDR enables receivedata() to get scope_id
|
|
||||||
parseURL() now parses IPv6 addresses scope
|
|
||||||
new parameter for miniwget() : IPv6 address scope
|
|
||||||
increment API_VERSION to 9
|
|
||||||
|
|
||||||
2012/06/20:
|
|
||||||
fixed CMakeLists.txt
|
|
||||||
|
|
||||||
2012/05/29
|
|
||||||
Improvements in testminiwget.sh
|
|
||||||
|
|
||||||
VERSION 1.7 : released 2012/05/24
|
|
||||||
|
|
||||||
2012/05/01:
|
|
||||||
Cleanup settings of CFLAGS in Makefile
|
|
||||||
Fix signed/unsigned integer comparaisons
|
|
||||||
|
|
||||||
2012/04/20:
|
|
||||||
Allow to specify protocol with TCP or UDP for -A option
|
|
||||||
|
|
||||||
2012/04/09:
|
|
||||||
Only try to fetch XML description once in UPNP_GetValidIGD()
|
|
||||||
Added -ansi flag to compilation, and fixed C++ comments to ANSI C comments.
|
|
||||||
|
|
||||||
2012/04/05:
|
|
||||||
minor improvements to minihttptestserver.c
|
|
||||||
|
|
||||||
2012/03/15:
|
|
||||||
upnperrors.c returns valid error string for unrecognized error codes
|
|
||||||
|
|
||||||
2012/03/08:
|
|
||||||
make minihttptestserver listen on loopback interface instead of 0.0.0.0
|
|
||||||
|
|
||||||
2012/01/25:
|
|
||||||
Maven installation thanks to Alexey Kuznetsov
|
|
||||||
|
|
||||||
2012/01/21:
|
|
||||||
Replace WIN32 macro by _WIN32
|
|
||||||
|
|
||||||
2012/01/19:
|
|
||||||
Fixes in java wrappers thanks to Alexey Kuznetsov :
|
|
||||||
https://github.com/axet/miniupnp/tree/fix-javatest/miniupnpc
|
|
||||||
Make and install .deb packages (python) thanks to Alexey Kuznetsov :
|
|
||||||
https://github.com/axet/miniupnp/tree/feature-debbuild/miniupnpc
|
|
||||||
|
|
||||||
2012/01/07:
|
|
||||||
The multicast interface can now be specified by name with IPv4.
|
|
||||||
|
|
||||||
2012/01/02:
|
|
||||||
Install man page
|
|
||||||
|
|
||||||
2011/11/25:
|
|
||||||
added header to Port Mappings list in upnpc.c
|
|
||||||
|
|
||||||
2011/10/09:
|
|
||||||
Makefile : make clean now removes jnaerator generated files.
|
|
||||||
MINIUPNPC_VERSION in miniupnpc.h (updated by make)
|
|
||||||
|
|
||||||
2011/09/12:
|
|
||||||
added rootdescURL to UPNPUrls structure.
|
|
||||||
|
|
||||||
VERSION 1.6 : released 2011/07/25
|
|
||||||
|
|
||||||
2011/07/25:
|
|
||||||
Update doc for version 1.6 release
|
|
||||||
|
|
||||||
2011/06/18:
|
|
||||||
Fix for windows in miniwget.c
|
|
||||||
|
|
||||||
2011/06/04:
|
|
||||||
display remote host in port mapping listing
|
|
||||||
|
|
||||||
2011/06/03:
|
|
||||||
Fix in make install : there were missing headers
|
|
||||||
|
|
||||||
2011/05/26:
|
|
||||||
Fix the socket leak in miniwget thanks to Richard Marsh.
|
|
||||||
Permit to add leaseduration in -a command. Display lease duration.
|
|
||||||
|
|
||||||
2011/05/15:
|
|
||||||
Try both LinkLocal and SiteLocal multicast address for SSDP in IPv6
|
|
||||||
|
|
||||||
2011/05/09:
|
|
||||||
add a test in testminiwget.sh.
|
|
||||||
more error checking in miniwget.c
|
|
||||||
|
|
||||||
2011/05/06:
|
|
||||||
Adding some tool to test and validate miniwget.c
|
|
||||||
simplified and debugged miniwget.c
|
|
||||||
|
|
||||||
2011/04/11:
|
|
||||||
moving ReceiveData() to a receivedata.c file.
|
|
||||||
parsing presentation url
|
|
||||||
adding IGD v2 WANIPv6FirewallControl commands
|
|
||||||
|
|
||||||
2011/04/10:
|
|
||||||
update of miniupnpcmodule.c
|
|
||||||
comments in miniwget.c, update in testminiwget
|
|
||||||
Adding errors codes from IGD v2
|
|
||||||
new functions in upnpc.c for IGD v2
|
|
||||||
|
|
||||||
2011/04/09:
|
|
||||||
Support for litteral ip v6 address in miniwget
|
|
||||||
|
|
||||||
2011/04/08:
|
|
||||||
Adding support for urn:schemas-upnp-org:service:WANIPv6FirewallControl:1
|
|
||||||
Updating APIVERSION
|
|
||||||
Supporting IPV6 in upnpDiscover()
|
|
||||||
Adding a -6 option to upnpc command line tool
|
|
||||||
|
|
||||||
2011/03/18:
|
|
||||||
miniwget/parseURL() : return an error when url param is null.
|
|
||||||
fixing GetListOfPortMappings()
|
|
||||||
|
|
||||||
2011/03/14:
|
|
||||||
upnpDiscover() now reporting an error code.
|
|
||||||
improvements in comments.
|
|
||||||
|
|
||||||
2011/03/11:
|
|
||||||
adding miniupnpcstrings.h.cmake and CMakeLists.txt files.
|
|
||||||
|
|
||||||
2011/02/15:
|
|
||||||
Implementation of GetListOfPortMappings()
|
|
||||||
|
|
||||||
2011/02/07:
|
|
||||||
updates to minixml to support character data starting with spaces
|
|
||||||
minixml now support CDATA
|
|
||||||
upnpreplyparse treats <NewPortListing> specificaly
|
|
||||||
change in simpleUPnPcommand to return the buffer (simplification)
|
|
||||||
|
|
||||||
2011/02/06:
|
|
||||||
Added leaseDuration argument to AddPortMapping()
|
|
||||||
Starting to implement GetListOfPortMappings()
|
|
||||||
|
|
||||||
2011/01/11:
|
|
||||||
updating wingenminiupnpcstrings.c
|
|
||||||
|
|
||||||
2011/01/04:
|
|
||||||
improving updateminiupnpcstrings.sh
|
|
||||||
|
|
||||||
VERSION 1.5 : released 2011/01/01
|
|
||||||
|
|
||||||
2010/12/21:
|
|
||||||
use NO_GETADDRINFO macro to disable the use of getaddrinfo/freeaddrinfo
|
|
||||||
|
|
||||||
2010/12/11:
|
|
||||||
Improvements on getHTTPResponse() code.
|
|
||||||
|
|
||||||
2010/12/09:
|
|
||||||
new code for miniwget that handle Chunked transfer encoding
|
|
||||||
using getHTTPResponse() in SOAP call code
|
|
||||||
Adding MANIFEST.in for 'python setup.py bdist_rpm'
|
|
||||||
|
|
||||||
2010/11/25:
|
|
||||||
changes to minissdpc.c to compile under Win32.
|
|
||||||
see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=729
|
|
||||||
|
|
||||||
2010/09/17:
|
|
||||||
Various improvement to Makefile from Michał Górny
|
|
||||||
|
|
||||||
2010/08/05:
|
|
||||||
Adding the script "external-ip.sh" from Reuben Hawkins
|
|
||||||
|
|
||||||
2010/06/09:
|
|
||||||
update to python module to match modification made on 2010/04/05
|
|
||||||
update to Java test code to match modification made on 2010/04/05
|
|
||||||
all UPNP_* function now return an error if the SOAP request failed
|
|
||||||
at HTTP level.
|
|
||||||
|
|
||||||
2010/04/17:
|
|
||||||
Using GetBestRoute() under win32 in order to find the
|
|
||||||
right interface to use.
|
|
||||||
|
|
||||||
2010/04/12:
|
|
||||||
Retrying with HTTP/1.1 if HTTP/1.0 failed. see
|
|
||||||
http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=1703
|
|
||||||
|
|
||||||
2010/04/07:
|
|
||||||
avoid returning duplicates in upnpDiscover()
|
|
||||||
|
|
||||||
2010/04/05:
|
|
||||||
Create a connecthostport.h/.c with connecthostport() function
|
|
||||||
and use it in miniwget and miniupnpc.
|
|
||||||
Use getnameinfo() instead of inet_ntop or inet_ntoa
|
|
||||||
Work to make miniupnpc IPV6 compatible...
|
|
||||||
Add java test code.
|
|
||||||
Big changes in order to support device having both WANIPConnection
|
|
||||||
and WANPPPConnection.
|
|
||||||
|
|
||||||
2010/04/04:
|
|
||||||
Use getaddrinfo() instead of gethostbyname() in miniwget.
|
|
||||||
|
|
||||||
2010/01/06:
|
|
||||||
#define _DARWIN_C_SOURCE for Mac OS X
|
|
||||||
|
|
||||||
2009/12/19:
|
|
||||||
Improve MinGW32 build
|
|
||||||
|
|
||||||
2009/12/11:
|
|
||||||
adding a MSVC9 project to build the static library and executable
|
|
||||||
|
|
||||||
2009/12/10:
|
|
||||||
Fixing some compilation stuff for Windows/MinGW
|
|
||||||
|
|
||||||
2009/12/07:
|
|
||||||
adaptations in Makefile and updateminiupnpcstring.sh for AmigaOS
|
|
||||||
some fixes for Windows when using virtual ethernet adapters (it is the
|
|
||||||
case with VMWare installed).
|
|
||||||
|
|
||||||
2009/12/04:
|
|
||||||
some fixes for AmigaOS compilation
|
|
||||||
Changed HTTP version to HTTP/1.0 for Soap too (to prevent chunked
|
|
||||||
transfer encoding)
|
|
||||||
|
|
||||||
2009/12/03:
|
|
||||||
updating printIDG and testigddescparse.c for debug.
|
|
||||||
modifications to compile under AmigaOS
|
|
||||||
adding a testminiwget program
|
|
||||||
Changed miniwget to advertise itself as HTTP/1.0 to prevent chunked
|
|
||||||
transfer encoding
|
|
||||||
|
|
||||||
2009/11/26:
|
|
||||||
fixing updateminiupnpcstrings.sh to take into account
|
|
||||||
which command that does not return an error code.
|
|
||||||
|
|
||||||
VERSION 1.4 : released 2009/10/30
|
|
||||||
|
|
||||||
2009/10/16:
|
|
||||||
using Py_BEGIN_ALLOW_THREADS and Py_END_ALLOW_THREADS in python module.
|
|
||||||
|
|
||||||
2009/10/10:
|
|
||||||
Some fixes for compilation under Solaris
|
|
||||||
compilation fixes : http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=1464
|
|
||||||
|
|
||||||
2009/09/21:
|
|
||||||
fixing the code to ignore EINTR during connect() calls.
|
|
||||||
|
|
||||||
2009/08/07:
|
|
||||||
Set socket timeout for connect()
|
|
||||||
Some cleanup in miniwget.c
|
|
||||||
|
|
||||||
2009/08/04:
|
|
||||||
remove multiple redirections with -d in upnpc.c
|
|
||||||
Print textual error code in upnpc.c
|
|
||||||
Ignore EINTR during the connect() and poll() calls.
|
|
||||||
|
|
||||||
2009/07/29:
|
|
||||||
fix in updateminiupnpcstrings.sh if OS name contains "/"
|
|
||||||
Sending a correct value for MX: field in SSDP request
|
|
||||||
|
|
||||||
2009/07/20:
|
|
||||||
Change the Makefile to compile under Mac OS X
|
|
||||||
Fixed a stackoverflow in getDevicesFromMiniSSDPD()
|
|
||||||
|
|
||||||
2009/07/09:
|
|
||||||
Compile under Haiku
|
|
||||||
generate miniupnpcstrings.h.in from miniupnpcstrings.h
|
|
||||||
|
|
||||||
2009/06/04:
|
|
||||||
patching to compile under CygWin and cross compile for minGW
|
|
||||||
|
|
||||||
VERSION 1.3 :
|
|
||||||
|
|
||||||
2009/04/17:
|
|
||||||
updating python module
|
|
||||||
Use strtoull() when using C99
|
|
||||||
|
|
||||||
2009/02/28:
|
|
||||||
Fixed miniwget.c for compiling under sun
|
|
||||||
|
|
||||||
2008/12/18:
|
|
||||||
cleanup in Makefile (thanks to Paul de Weerd)
|
|
||||||
minissdpc.c : win32 compatibility
|
|
||||||
miniupnpc.c : changed xmlns prefix from 'm' to 'u'
|
|
||||||
Removed NDEBUG (using DEBUG)
|
|
||||||
|
|
||||||
2008/10/14:
|
|
||||||
Added the ExternalHost argument to DeletePortMapping()
|
|
||||||
|
|
||||||
2008/10/11:
|
|
||||||
Added the ExternalHost argument to AddPortMapping()
|
|
||||||
Put a correct User-Agent: header in HTTP requests.
|
|
||||||
|
|
||||||
VERSION 1.2 :
|
|
||||||
|
|
||||||
2008/10/07:
|
|
||||||
Update docs
|
|
||||||
|
|
||||||
2008/09/25:
|
|
||||||
Integrated sameport patch from Dario Meloni : Added a "sameport"
|
|
||||||
argument to upnpDiscover().
|
|
||||||
|
|
||||||
2008/07/18:
|
|
||||||
small modif to make Clang happy :)
|
|
||||||
|
|
||||||
2008/07/17:
|
|
||||||
#define SOAPPREFIX "s" in miniupnpc.c in order to remove SOAP-ENV...
|
|
||||||
|
|
||||||
2008/07/14:
|
|
||||||
include declspec.h in installation (to /usr/include/miniupnpc)
|
|
||||||
|
|
||||||
VERSION 1.1 :
|
|
||||||
|
|
||||||
2008/07/04:
|
|
||||||
standard options for install/ln instead of gnu-specific stuff.
|
|
||||||
|
|
||||||
2008/07/03:
|
|
||||||
now builds a .dll and .lib with win32. (mingw32)
|
|
||||||
|
|
||||||
2008/04/28:
|
|
||||||
make install now install the binary of the upnpc tool
|
|
||||||
|
|
||||||
2008/04/27:
|
|
||||||
added testupnpigd.py
|
|
||||||
added error strings for miniupnpc "internal" errors
|
|
||||||
improved python module error/exception reporting.
|
|
||||||
|
|
||||||
2008/04/23:
|
|
||||||
Completely rewrite igd_desc_parse.c in order to be compatible with
|
|
||||||
Linksys WAG200G
|
|
||||||
Added testigddescparse
|
|
||||||
updated python module
|
|
||||||
|
|
||||||
VERSION 1.0 :
|
|
||||||
|
|
||||||
2008/02/21:
|
|
||||||
put some #ifdef DEBUG around DisplayNameValueList()
|
|
||||||
|
|
||||||
2008/02/18:
|
|
||||||
Improved error reporting in upnpcommands.c
|
|
||||||
UPNP_GetStatusInfo() returns LastConnectionError
|
|
||||||
|
|
||||||
2008/02/16:
|
|
||||||
better error handling in minisoap.c
|
|
||||||
improving display of "valid IGD found" in upnpc.c
|
|
||||||
|
|
||||||
2008/02/03:
|
|
||||||
Fixing UPNP_GetValidIGD()
|
|
||||||
improved make install :)
|
|
||||||
|
|
||||||
2007/12/22:
|
|
||||||
Adding upnperrors.c/h to provide a strupnperror() function
|
|
||||||
used to translate UPnP error codes to string.
|
|
||||||
|
|
||||||
2007/12/19:
|
|
||||||
Fixing getDevicesFromMiniSSDPD()
|
|
||||||
improved error reporting of UPnP functions
|
|
||||||
|
|
||||||
2007/12/18:
|
|
||||||
It is now possible to specify a different location for MiniSSDPd socket.
|
|
||||||
working with MiniSSDPd is now more efficient.
|
|
||||||
python module improved.
|
|
||||||
|
|
||||||
2007/12/16:
|
|
||||||
improving error reporting
|
|
||||||
|
|
||||||
2007/12/13:
|
|
||||||
Try to improve compatibility by using HTTP/1.0 instead of 1.1 and
|
|
||||||
XML a bit different for SOAP.
|
|
||||||
|
|
||||||
2007/11/25:
|
|
||||||
fixed select() call for linux
|
|
||||||
|
|
||||||
2007/11/15:
|
|
||||||
Added -fPIC to CFLAG for better shared library code.
|
|
||||||
|
|
||||||
2007/11/02:
|
|
||||||
Fixed a potential socket leak in miniwget2()
|
|
||||||
|
|
||||||
2007/10/16:
|
|
||||||
added a parameter to upnpDiscover() in order to allow the use of another
|
|
||||||
interface than the default multicast interface.
|
|
||||||
|
|
||||||
2007/10/12:
|
|
||||||
Fixed the creation of symbolic link in Makefile
|
|
||||||
|
|
||||||
2007/10/08:
|
|
||||||
Added man page
|
|
||||||
|
|
||||||
2007/10/02:
|
|
||||||
fixed memory bug in GetUPNPUrls()
|
|
||||||
|
|
||||||
2007/10/01:
|
|
||||||
fixes in the Makefile
|
|
||||||
Added UPNP_GetIGDFromUrl() and adapted the sample program accordingly.
|
|
||||||
Added SONAME in the shared library to please debian :)
|
|
||||||
fixed MS Windows compilation (minissdpd is not available under MS Windows).
|
|
||||||
|
|
||||||
2007/09/25:
|
|
||||||
small change to Makefile to be able to install in a different location
|
|
||||||
(default is /usr)
|
|
||||||
|
|
||||||
2007/09/24:
|
|
||||||
now compiling both shared and static library
|
|
||||||
|
|
||||||
2007/09/19:
|
|
||||||
Cosmetic changes on upnpc.c
|
|
||||||
|
|
||||||
2007/09/02:
|
|
||||||
adapting to new miniSSDPd (release version ?)
|
|
||||||
|
|
||||||
2007/08/31:
|
|
||||||
Usage of miniSSDPd to skip discovery process.
|
|
||||||
|
|
||||||
2007/08/27:
|
|
||||||
fixed python module to allow compilation with Python older than Python 2.4
|
|
||||||
|
|
||||||
2007/06/12:
|
|
||||||
Added a python module.
|
|
||||||
|
|
||||||
2007/05/19:
|
|
||||||
Fixed compilation under MinGW
|
|
||||||
|
|
||||||
2007/05/15:
|
|
||||||
fixed a memory leak in AddPortMapping()
|
|
||||||
Added testupnpreplyparse executable to check the parsing of
|
|
||||||
upnp soap messages
|
|
||||||
minixml now ignore namespace prefixes.
|
|
||||||
|
|
||||||
2007/04/26:
|
|
||||||
upnpc now displays external ip address with -s or -l
|
|
||||||
|
|
||||||
2007/04/11:
|
|
||||||
changed MINIUPNPC_URL_MAXSIZE to 128 to accomodate the "BT Voyager 210"
|
|
||||||
|
|
||||||
2007/03/19:
|
|
||||||
cleanup in miniwget.c
|
|
||||||
|
|
||||||
2007/03/01:
|
|
||||||
Small typo fix...
|
|
||||||
|
|
||||||
2007/01/30:
|
|
||||||
Now parsing the HTTP header from SOAP responses in order to
|
|
||||||
get content-length value.
|
|
||||||
|
|
||||||
2007/01/29:
|
|
||||||
Fixed the Soap Query to speedup the HTTP request.
|
|
||||||
added some Win32 DLL stuff...
|
|
||||||
|
|
||||||
2007/01/27:
|
|
||||||
Fixed some WIN32 compatibility issues
|
|
||||||
|
|
||||||
2006/12/14:
|
|
||||||
Added UPNPIGD_IsConnected() function in miniupnp.c/.h
|
|
||||||
Added UPNP_GetValidIGD() in miniupnp.c/.h
|
|
||||||
cleaned upnpc.c main(). now using UPNP_GetValidIGD()
|
|
||||||
|
|
||||||
2006/12/07:
|
|
||||||
Version 1.0-RC1 released
|
|
||||||
|
|
||||||
2006/12/03:
|
|
||||||
Minor changes to compile under SunOS/Solaris
|
|
||||||
|
|
||||||
2006/11/30:
|
|
||||||
made a minixml parser validator program
|
|
||||||
updated minixml to handle attributes correctly
|
|
||||||
|
|
||||||
2006/11/22:
|
|
||||||
Added a -r option to the upnpc sample thanks to Alexander Hubmann.
|
|
||||||
|
|
||||||
2006/11/19:
|
|
||||||
Cleanup code to make it more ANSI C compliant
|
|
||||||
|
|
||||||
2006/11/10:
|
|
||||||
detect and display local lan address.
|
|
||||||
|
|
||||||
2006/11/04:
|
|
||||||
Packets and Bytes Sent/Received are now unsigned int.
|
|
||||||
|
|
||||||
2006/11/01:
|
|
||||||
Bug fix thanks to Giuseppe D'Angelo
|
|
||||||
|
|
||||||
2006/10/31:
|
|
||||||
C++ compatibility for .h files.
|
|
||||||
Added a way to get ip Address on the LAN used to reach the IGD.
|
|
||||||
|
|
||||||
2006/10/25:
|
|
||||||
Added M-SEARCH to the services in the discovery process.
|
|
||||||
|
|
||||||
2006/10/22:
|
|
||||||
updated the Makefile to use makedepend, added a "make install"
|
|
||||||
update Makefile
|
|
||||||
|
|
||||||
2006/10/20:
|
|
||||||
fixing the description url parsing thanks to patch sent by
|
|
||||||
Wayne Dawe.
|
|
||||||
Fixed/translated some comments.
|
|
||||||
Implemented a better discover process, first looking
|
|
||||||
for IGD then for root devices (as some devices only reply to
|
|
||||||
M-SEARCH for root devices).
|
|
||||||
|
|
||||||
2006/09/02:
|
|
||||||
added freeUPNPDevlist() function.
|
|
||||||
|
|
||||||
2006/08/04:
|
|
||||||
More command line arguments checking
|
|
||||||
|
|
||||||
2006/08/01:
|
|
||||||
Added the .bat file to compile under Win32 with minGW32
|
|
||||||
|
|
||||||
2006/07/31:
|
|
||||||
Fixed the rootdesc parser (igd_desc_parse.c)
|
|
||||||
|
|
||||||
2006/07/20:
|
|
||||||
parseMSEARCHReply() is now returning the ST: line as well
|
|
||||||
starting changes to detect several UPnP devices on the network
|
|
||||||
|
|
||||||
2006/07/19:
|
|
||||||
using GetCommonLinkProperties to get down/upload bitrate
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
MiniUPnPc
|
|
||||||
Copyright (c) 2005-2015, Thomas BERNARD
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer.
|
|
||||||
* Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer in the documentation
|
|
||||||
and/or other materials provided with the distribution.
|
|
||||||
* The name of the author may not be used to endorse or promote products
|
|
||||||
derived from this software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
libminiupnpc binaries
|
|
||||||
======
|
|
||||||
|
|
||||||
This is a binary build of [libminiupnpc](http://miniupnp.free.fr) for certain architectures to faciliate easy building. Where possible the build flags were set for improved security by enabling options like stack protector (a.k.a. stack canary), ASLR support, etc.
|
|
|
@ -1 +0,0 @@
|
||||||
1.9
|
|
|
@ -1,54 +0,0 @@
|
||||||
/* $Id: codelength.h,v 1.5 2015/07/09 12:40:18 nanard Exp $ */
|
|
||||||
/* Project : miniupnp
|
|
||||||
* Author : Thomas BERNARD
|
|
||||||
* copyright (c) 2005-2015 Thomas Bernard
|
|
||||||
* This software is subjet to the conditions detailed in the
|
|
||||||
* provided LICENCE file. */
|
|
||||||
#ifndef CODELENGTH_H_INCLUDED
|
|
||||||
#define CODELENGTH_H_INCLUDED
|
|
||||||
|
|
||||||
/* Encode length by using 7bit per Byte :
|
|
||||||
* Most significant bit of each byte specifies that the
|
|
||||||
* following byte is part of the code */
|
|
||||||
|
|
||||||
/* n : unsigned
|
|
||||||
* p : unsigned char *
|
|
||||||
*/
|
|
||||||
#define DECODELENGTH(n, p) n = 0; \
|
|
||||||
do { n = (n << 7) | (*p & 0x7f); } \
|
|
||||||
while((*(p++)&0x80) && (n<(1<<25)));
|
|
||||||
|
|
||||||
/* n : unsigned
|
|
||||||
* READ : function/macro to read one byte (unsigned char)
|
|
||||||
*/
|
|
||||||
#define DECODELENGTH_READ(n, READ) \
|
|
||||||
n = 0; \
|
|
||||||
do { \
|
|
||||||
unsigned char c; \
|
|
||||||
READ(c); \
|
|
||||||
n = (n << 7) | (c & 0x07f); \
|
|
||||||
if(!(c&0x80)) break; \
|
|
||||||
} while(n<(1<<25));
|
|
||||||
|
|
||||||
/* n : unsigned
|
|
||||||
* p : unsigned char *
|
|
||||||
* p_limit : unsigned char *
|
|
||||||
*/
|
|
||||||
#define DECODELENGTH_CHECKLIMIT(n, p, p_limit) \
|
|
||||||
n = 0; \
|
|
||||||
do { \
|
|
||||||
if((p) >= (p_limit)) break; \
|
|
||||||
n = (n << 7) | (*(p) & 0x7f); \
|
|
||||||
} while((*((p)++)&0x80) && (n<(1<<25)));
|
|
||||||
|
|
||||||
|
|
||||||
/* n : unsigned
|
|
||||||
* p : unsigned char *
|
|
||||||
*/
|
|
||||||
#define CODELENGTH(n, p) if(n>=268435456) *(p++) = (n >> 28) | 0x80; \
|
|
||||||
if(n>=2097152) *(p++) = (n >> 21) | 0x80; \
|
|
||||||
if(n>=16384) *(p++) = (n >> 14) | 0x80; \
|
|
||||||
if(n>=128) *(p++) = (n >> 7) | 0x80; \
|
|
||||||
*(p++) = n & 0x7f;
|
|
||||||
|
|
||||||
#endif /* CODELENGTH_H_INCLUDED */
|
|
|
@ -1,18 +0,0 @@
|
||||||
/* $Id: connecthostport.h,v 1.3 2012/09/27 15:42:10 nanard Exp $ */
|
|
||||||
/* Project: miniupnp
|
|
||||||
* http://miniupnp.free.fr/
|
|
||||||
* Author: Thomas Bernard
|
|
||||||
* Copyright (c) 2010-2012 Thomas Bernard
|
|
||||||
* This software is subjects to the conditions detailed
|
|
||||||
* in the LICENCE file provided within this distribution */
|
|
||||||
#ifndef CONNECTHOSTPORT_H_INCLUDED
|
|
||||||
#define CONNECTHOSTPORT_H_INCLUDED
|
|
||||||
|
|
||||||
/* connecthostport()
|
|
||||||
* return a socket connected (TCP) to the host and port
|
|
||||||
* or -1 in case of error */
|
|
||||||
int connecthostport(const char * host, unsigned short port,
|
|
||||||
unsigned int scope_id);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,49 +0,0 @@
|
||||||
/* $Id: igd_desc_parse.h,v 1.12 2014/11/17 17:19:13 nanard Exp $ */
|
|
||||||
/* Project : miniupnp
|
|
||||||
* http://miniupnp.free.fr/
|
|
||||||
* Author : Thomas Bernard
|
|
||||||
* Copyright (c) 2005-2014 Thomas Bernard
|
|
||||||
* This software is subject to the conditions detailed in the
|
|
||||||
* LICENCE file provided in this distribution.
|
|
||||||
* */
|
|
||||||
#ifndef IGD_DESC_PARSE_H_INCLUDED
|
|
||||||
#define IGD_DESC_PARSE_H_INCLUDED
|
|
||||||
|
|
||||||
/* Structure to store the result of the parsing of UPnP
|
|
||||||
* descriptions of Internet Gateway Devices */
|
|
||||||
#define MINIUPNPC_URL_MAXSIZE (128)
|
|
||||||
struct IGDdatas_service {
|
|
||||||
char controlurl[MINIUPNPC_URL_MAXSIZE];
|
|
||||||
char eventsuburl[MINIUPNPC_URL_MAXSIZE];
|
|
||||||
char scpdurl[MINIUPNPC_URL_MAXSIZE];
|
|
||||||
char servicetype[MINIUPNPC_URL_MAXSIZE];
|
|
||||||
/*char devicetype[MINIUPNPC_URL_MAXSIZE];*/
|
|
||||||
};
|
|
||||||
|
|
||||||
struct IGDdatas {
|
|
||||||
char cureltname[MINIUPNPC_URL_MAXSIZE];
|
|
||||||
char urlbase[MINIUPNPC_URL_MAXSIZE];
|
|
||||||
char presentationurl[MINIUPNPC_URL_MAXSIZE];
|
|
||||||
int level;
|
|
||||||
/*int state;*/
|
|
||||||
/* "urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1" */
|
|
||||||
struct IGDdatas_service CIF;
|
|
||||||
/* "urn:schemas-upnp-org:service:WANIPConnection:1"
|
|
||||||
* "urn:schemas-upnp-org:service:WANPPPConnection:1" */
|
|
||||||
struct IGDdatas_service first;
|
|
||||||
/* if both WANIPConnection and WANPPPConnection are present */
|
|
||||||
struct IGDdatas_service second;
|
|
||||||
/* "urn:schemas-upnp-org:service:WANIPv6FirewallControl:1" */
|
|
||||||
struct IGDdatas_service IPv6FC;
|
|
||||||
/* tmp */
|
|
||||||
struct IGDdatas_service tmp;
|
|
||||||
};
|
|
||||||
|
|
||||||
void IGDstartelt(void *, const char *, int);
|
|
||||||
void IGDendelt(void *, const char *, int);
|
|
||||||
void IGDdata(void *, const char *, int);
|
|
||||||
#ifdef DEBUG
|
|
||||||
void printIGD(struct IGDdatas *);
|
|
||||||
#endif /* DEBUG */
|
|
||||||
|
|
||||||
#endif /* IGD_DESC_PARSE_H_INCLUDED */
|
|
|
@ -1,15 +0,0 @@
|
||||||
/* $Id: minisoap.h,v 1.5 2012/09/27 15:42:10 nanard Exp $ */
|
|
||||||
/* Project : miniupnp
|
|
||||||
* Author : Thomas Bernard
|
|
||||||
* Copyright (c) 2005 Thomas Bernard
|
|
||||||
* This software is subject to the conditions detailed in the
|
|
||||||
* LICENCE file provided in this distribution. */
|
|
||||||
#ifndef MINISOAP_H_INCLUDED
|
|
||||||
#define MINISOAP_H_INCLUDED
|
|
||||||
|
|
||||||
/*int httpWrite(int, const char *, int, const char *);*/
|
|
||||||
int soapPostSubmit(int, const char *, const char *, unsigned short,
|
|
||||||
const char *, const char *, const char *);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
/* $Id: minissdpc.h,v 1.2 2012/09/27 15:42:10 nanard Exp $ */
|
|
||||||
/* Project: miniupnp
|
|
||||||
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
|
|
||||||
* Author: Thomas Bernard
|
|
||||||
* Copyright (c) 2005-2007 Thomas Bernard
|
|
||||||
* This software is subjects to the conditions detailed
|
|
||||||
* in the LICENCE file provided within this distribution */
|
|
||||||
#ifndef MINISSDPC_H_INCLUDED
|
|
||||||
#define MINISSDPC_H_INCLUDED
|
|
||||||
|
|
||||||
struct UPNPDev *
|
|
||||||
getDevicesFromMiniSSDPD(const char * devtype, const char * socketpath);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,154 +0,0 @@
|
||||||
/* $Id: miniupnpc.h,v 1.42 2015/07/21 13:16:55 nanard Exp $ */
|
|
||||||
/* Project: miniupnp
|
|
||||||
* http://miniupnp.free.fr/
|
|
||||||
* Author: Thomas Bernard
|
|
||||||
* Copyright (c) 2005-2015 Thomas Bernard
|
|
||||||
* This software is subjects to the conditions detailed
|
|
||||||
* in the LICENCE file provided within this distribution */
|
|
||||||
#ifndef MINIUPNPC_H_INCLUDED
|
|
||||||
#define MINIUPNPC_H_INCLUDED
|
|
||||||
|
|
||||||
#include "miniupnpc_declspec.h"
|
|
||||||
#include "igd_desc_parse.h"
|
|
||||||
|
|
||||||
/* error codes : */
|
|
||||||
#define UPNPDISCOVER_SUCCESS (0)
|
|
||||||
#define UPNPDISCOVER_UNKNOWN_ERROR (-1)
|
|
||||||
#define UPNPDISCOVER_SOCKET_ERROR (-101)
|
|
||||||
#define UPNPDISCOVER_MEMORY_ERROR (-102)
|
|
||||||
|
|
||||||
/* versions : */
|
|
||||||
#define MINIUPNPC_VERSION "1.9.20150721"
|
|
||||||
#define MINIUPNPC_API_VERSION 13
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Structures definitions : */
|
|
||||||
struct UPNParg { const char * elt; const char * val; };
|
|
||||||
|
|
||||||
char *
|
|
||||||
simpleUPnPcommand(int, const char *, const char *,
|
|
||||||
const char *, struct UPNParg *,
|
|
||||||
int *);
|
|
||||||
|
|
||||||
struct UPNPDev {
|
|
||||||
struct UPNPDev * pNext;
|
|
||||||
char * descURL;
|
|
||||||
char * st;
|
|
||||||
unsigned int scope_id;
|
|
||||||
char buffer[2];
|
|
||||||
};
|
|
||||||
|
|
||||||
/* upnpDiscover()
|
|
||||||
* discover UPnP devices on the network.
|
|
||||||
* The discovered devices are returned as a chained list.
|
|
||||||
* It is up to the caller to free the list with freeUPNPDevlist().
|
|
||||||
* delay (in millisecond) is the maximum time for waiting any device
|
|
||||||
* response.
|
|
||||||
* If available, device list will be obtained from MiniSSDPd.
|
|
||||||
* Default path for minissdpd socket will be used if minissdpdsock argument
|
|
||||||
* is NULL.
|
|
||||||
* If multicastif is not NULL, it will be used instead of the default
|
|
||||||
* multicast interface for sending SSDP discover packets.
|
|
||||||
* If sameport is not null, SSDP packets will be sent from the source port
|
|
||||||
* 1900 (same as destination port) otherwise system assign a source port.
|
|
||||||
* "searchalltypes" parameter is useful when searching several types,
|
|
||||||
* if 0, the discovery will stop with the first type returning results. */
|
|
||||||
MINIUPNP_LIBSPEC struct UPNPDev *
|
|
||||||
upnpDiscover(int delay, const char * multicastif,
|
|
||||||
const char * minissdpdsock, int sameport,
|
|
||||||
int ipv6,
|
|
||||||
int * error);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC struct UPNPDev *
|
|
||||||
upnpDiscoverAll(int delay, const char * multicastif,
|
|
||||||
const char * minissdpdsock, int sameport,
|
|
||||||
int ipv6,
|
|
||||||
int * error);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC struct UPNPDev *
|
|
||||||
upnpDiscoverDevice(const char * device, int delay, const char * multicastif,
|
|
||||||
const char * minissdpdsock, int sameport,
|
|
||||||
int ipv6,
|
|
||||||
int * error);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC struct UPNPDev *
|
|
||||||
upnpDiscoverDevices(const char * const deviceTypes[],
|
|
||||||
int delay, const char * multicastif,
|
|
||||||
const char * minissdpdsock, int sameport,
|
|
||||||
int ipv6,
|
|
||||||
int * error,
|
|
||||||
int searchalltypes);
|
|
||||||
|
|
||||||
/* freeUPNPDevlist()
|
|
||||||
* free list returned by upnpDiscover() */
|
|
||||||
MINIUPNP_LIBSPEC void freeUPNPDevlist(struct UPNPDev * devlist);
|
|
||||||
|
|
||||||
/* parserootdesc() :
|
|
||||||
* parse root XML description of a UPnP device and fill the IGDdatas
|
|
||||||
* structure. */
|
|
||||||
MINIUPNP_LIBSPEC void parserootdesc(const char *, int, struct IGDdatas *);
|
|
||||||
|
|
||||||
/* structure used to get fast access to urls
|
|
||||||
* controlURL: controlURL of the WANIPConnection
|
|
||||||
* ipcondescURL: url of the description of the WANIPConnection
|
|
||||||
* controlURL_CIF: controlURL of the WANCommonInterfaceConfig
|
|
||||||
* controlURL_6FC: controlURL of the WANIPv6FirewallControl
|
|
||||||
*/
|
|
||||||
struct UPNPUrls {
|
|
||||||
char * controlURL;
|
|
||||||
char * ipcondescURL;
|
|
||||||
char * controlURL_CIF;
|
|
||||||
char * controlURL_6FC;
|
|
||||||
char * rootdescURL;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* UPNP_GetValidIGD() :
|
|
||||||
* return values :
|
|
||||||
* 0 = NO IGD found
|
|
||||||
* 1 = A valid connected IGD has been found
|
|
||||||
* 2 = A valid IGD has been found but it reported as
|
|
||||||
* not connected
|
|
||||||
* 3 = an UPnP device has been found but was not recognized as an IGD
|
|
||||||
*
|
|
||||||
* In any non zero return case, the urls and data structures
|
|
||||||
* passed as parameters are set. Donc forget to call FreeUPNPUrls(urls) to
|
|
||||||
* free allocated memory.
|
|
||||||
*/
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_GetValidIGD(struct UPNPDev * devlist,
|
|
||||||
struct UPNPUrls * urls,
|
|
||||||
struct IGDdatas * data,
|
|
||||||
char * lanaddr, int lanaddrlen);
|
|
||||||
|
|
||||||
/* UPNP_GetIGDFromUrl()
|
|
||||||
* Used when skipping the discovery process.
|
|
||||||
* When succeding, urls, data, and lanaddr arguments are set.
|
|
||||||
* return value :
|
|
||||||
* 0 - Not ok
|
|
||||||
* 1 - OK */
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_GetIGDFromUrl(const char * rootdescurl,
|
|
||||||
struct UPNPUrls * urls,
|
|
||||||
struct IGDdatas * data,
|
|
||||||
char * lanaddr, int lanaddrlen);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC void
|
|
||||||
GetUPNPUrls(struct UPNPUrls *, struct IGDdatas *,
|
|
||||||
const char *, unsigned int);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC void
|
|
||||||
FreeUPNPUrls(struct UPNPUrls *);
|
|
||||||
|
|
||||||
/* return 0 or 1 */
|
|
||||||
MINIUPNP_LIBSPEC int UPNPIGD_IsConnected(struct UPNPUrls *, struct IGDdatas *);
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
#ifndef MINIUPNPC_DECLSPEC_H_INCLUDED
|
|
||||||
#define MINIUPNPC_DECLSPEC_H_INCLUDED
|
|
||||||
|
|
||||||
#if defined(_WIN32) && !defined(MINIUPNP_STATICLIB)
|
|
||||||
/* for windows dll */
|
|
||||||
#ifdef MINIUPNP_EXPORTS
|
|
||||||
#define MINIUPNP_LIBSPEC __declspec(dllexport)
|
|
||||||
#else
|
|
||||||
#define MINIUPNP_LIBSPEC __declspec(dllimport)
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
#if defined(__GNUC__) && __GNUC__ >= 4
|
|
||||||
/* fix dynlib for OS X 10.9.2 and Apple LLVM version 5.0 */
|
|
||||||
#define MINIUPNP_LIBSPEC __attribute__ ((visibility ("default")))
|
|
||||||
#else
|
|
||||||
#define MINIUPNP_LIBSPEC
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* MINIUPNPC_DECLSPEC_H_INCLUDED */
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
/* $Id: miniupnpcstrings.h.in,v 1.6 2014/11/04 22:31:55 nanard Exp $ */
|
|
||||||
/* Project: miniupnp
|
|
||||||
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
|
|
||||||
* Author: Thomas Bernard
|
|
||||||
* Copyright (c) 2005-2014 Thomas Bernard
|
|
||||||
* This software is subjects to the conditions detailed
|
|
||||||
* in the LICENCE file provided within this distribution */
|
|
||||||
#ifndef MINIUPNPCSTRINGS_H_INCLUDED
|
|
||||||
#define MINIUPNPCSTRINGS_H_INCLUDED
|
|
||||||
|
|
||||||
#define OS_STRING "Darwin/14.4.0"
|
|
||||||
#define MINIUPNPC_VERSION_STRING "1.9"
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* according to "UPnP Device Architecture 1.0" */
|
|
||||||
#define UPNP_VERSION_STRING "UPnP/1.0"
|
|
||||||
#else
|
|
||||||
/* according to "UPnP Device Architecture 1.1" */
|
|
||||||
#define UPNP_VERSION_STRING "UPnP/1.1"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
/* $Id: miniupnpctypes.h,v 1.2 2012/09/27 15:42:10 nanard Exp $ */
|
|
||||||
/* Miniupnp project : http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org
|
|
||||||
* Author : Thomas Bernard
|
|
||||||
* Copyright (c) 2011 Thomas Bernard
|
|
||||||
* This software is subject to the conditions detailed in the
|
|
||||||
* LICENCE file provided within this distribution */
|
|
||||||
#ifndef MINIUPNPCTYPES_H_INCLUDED
|
|
||||||
#define MINIUPNPCTYPES_H_INCLUDED
|
|
||||||
|
|
||||||
#if (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
|
|
||||||
#define UNSIGNED_INTEGER unsigned long long
|
|
||||||
#define STRTOUI strtoull
|
|
||||||
#else
|
|
||||||
#define UNSIGNED_INTEGER unsigned int
|
|
||||||
#define STRTOUI strtoul
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
/* $Id: miniwget.h,v 1.10 2015/07/21 13:16:55 nanard Exp $ */
|
|
||||||
/* Project : miniupnp
|
|
||||||
* Author : Thomas Bernard
|
|
||||||
* Copyright (c) 2005-2015 Thomas Bernard
|
|
||||||
* This software is subject to the conditions detailed in the
|
|
||||||
* LICENCE file provided in this distribution.
|
|
||||||
* */
|
|
||||||
#ifndef MINIWGET_H_INCLUDED
|
|
||||||
#define MINIWGET_H_INCLUDED
|
|
||||||
|
|
||||||
#include "miniupnpc_declspec.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC void * getHTTPResponse(int s, int * size);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC void * miniwget(const char *, int *, unsigned int);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC void * miniwget_getaddr(const char *, int *, char *, int, unsigned int);
|
|
||||||
|
|
||||||
int parseURL(const char *, char *, unsigned short *, char * *, unsigned int *);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
/* $Id: minixml.h,v 1.7 2012/09/27 15:42:10 nanard Exp $ */
|
|
||||||
/* minimal xml parser
|
|
||||||
*
|
|
||||||
* Project : miniupnp
|
|
||||||
* Website : http://miniupnp.free.fr/
|
|
||||||
* Author : Thomas Bernard
|
|
||||||
* Copyright (c) 2005 Thomas Bernard
|
|
||||||
* This software is subject to the conditions detailed in the
|
|
||||||
* LICENCE file provided in this distribution.
|
|
||||||
* */
|
|
||||||
#ifndef MINIXML_H_INCLUDED
|
|
||||||
#define MINIXML_H_INCLUDED
|
|
||||||
#define IS_WHITE_SPACE(c) ((c==' ') || (c=='\t') || (c=='\r') || (c=='\n'))
|
|
||||||
|
|
||||||
/* if a callback function pointer is set to NULL,
|
|
||||||
* the function is not called */
|
|
||||||
struct xmlparser {
|
|
||||||
const char *xmlstart;
|
|
||||||
const char *xmlend;
|
|
||||||
const char *xml; /* pointer to current character */
|
|
||||||
int xmlsize;
|
|
||||||
void * data;
|
|
||||||
void (*starteltfunc) (void *, const char *, int);
|
|
||||||
void (*endeltfunc) (void *, const char *, int);
|
|
||||||
void (*datafunc) (void *, const char *, int);
|
|
||||||
void (*attfunc) (void *, const char *, int, const char *, int);
|
|
||||||
};
|
|
||||||
|
|
||||||
/* parsexml()
|
|
||||||
* the xmlparser structure must be initialized before the call
|
|
||||||
* the following structure members have to be initialized :
|
|
||||||
* xmlstart, xmlsize, data, *func
|
|
||||||
* xml is for internal usage, xmlend is computed automatically */
|
|
||||||
void parsexml(struct xmlparser *);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
/* $Id: portlistingparse.h,v 1.11 2015/07/21 13:16:55 nanard Exp $ */
|
|
||||||
/* MiniUPnP project
|
|
||||||
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
|
|
||||||
* (c) 2011-2015 Thomas Bernard
|
|
||||||
* This software is subject to the conditions detailed
|
|
||||||
* in the LICENCE file provided within the distribution */
|
|
||||||
#ifndef PORTLISTINGPARSE_H_INCLUDED
|
|
||||||
#define PORTLISTINGPARSE_H_INCLUDED
|
|
||||||
|
|
||||||
#include "miniupnpc_declspec.h"
|
|
||||||
/* for the definition of UNSIGNED_INTEGER */
|
|
||||||
#include "miniupnpctypes.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* sample of PortMappingEntry :
|
|
||||||
<p:PortMappingEntry>
|
|
||||||
<p:NewRemoteHost>202.233.2.1</p:NewRemoteHost>
|
|
||||||
<p:NewExternalPort>2345</p:NewExternalPort>
|
|
||||||
<p:NewProtocol>TCP</p:NewProtocol>
|
|
||||||
<p:NewInternalPort>2345</p:NewInternalPort>
|
|
||||||
<p:NewInternalClient>192.168.1.137</p:NewInternalClient>
|
|
||||||
<p:NewEnabled>1</p:NewEnabled>
|
|
||||||
<p:NewDescription>dooom</p:NewDescription>
|
|
||||||
<p:NewLeaseTime>345</p:NewLeaseTime>
|
|
||||||
</p:PortMappingEntry>
|
|
||||||
*/
|
|
||||||
typedef enum { PortMappingEltNone,
|
|
||||||
PortMappingEntry, NewRemoteHost,
|
|
||||||
NewExternalPort, NewProtocol,
|
|
||||||
NewInternalPort, NewInternalClient,
|
|
||||||
NewEnabled, NewDescription,
|
|
||||||
NewLeaseTime } portMappingElt;
|
|
||||||
|
|
||||||
struct PortMapping {
|
|
||||||
struct PortMapping * l_next; /* list next element */
|
|
||||||
UNSIGNED_INTEGER leaseTime;
|
|
||||||
unsigned short externalPort;
|
|
||||||
unsigned short internalPort;
|
|
||||||
char remoteHost[64];
|
|
||||||
char internalClient[64];
|
|
||||||
char description[64];
|
|
||||||
char protocol[4];
|
|
||||||
unsigned char enabled;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct PortMappingParserData {
|
|
||||||
struct PortMapping * l_head; /* list head */
|
|
||||||
portMappingElt curelt;
|
|
||||||
};
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC void
|
|
||||||
ParsePortListing(const char * buffer, int bufsize,
|
|
||||||
struct PortMappingParserData * pdata);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC void
|
|
||||||
FreePortListing(struct PortMappingParserData * pdata);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,19 +0,0 @@
|
||||||
/* $Id: receivedata.h,v 1.4 2012/09/27 15:42:10 nanard Exp $ */
|
|
||||||
/* Project: miniupnp
|
|
||||||
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
|
|
||||||
* Author: Thomas Bernard
|
|
||||||
* Copyright (c) 2011-2012 Thomas Bernard
|
|
||||||
* This software is subjects to the conditions detailed
|
|
||||||
* in the LICENCE file provided within this distribution */
|
|
||||||
#ifndef RECEIVEDATA_H_INCLUDED
|
|
||||||
#define RECEIVEDATA_H_INCLUDED
|
|
||||||
|
|
||||||
/* Reads data from the specified socket.
|
|
||||||
* Returns the number of bytes read if successful, zero if no bytes were
|
|
||||||
* read or if we timed out. Returns negative if there was an error. */
|
|
||||||
int receivedata(int socket,
|
|
||||||
char * data, int length,
|
|
||||||
int timeout, unsigned int * scope_id);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,348 +0,0 @@
|
||||||
/* $Id: upnpcommands.h,v 1.31 2015/07/21 13:16:55 nanard Exp $ */
|
|
||||||
/* Miniupnp project : http://miniupnp.free.fr/
|
|
||||||
* Author : Thomas Bernard
|
|
||||||
* Copyright (c) 2005-2015 Thomas Bernard
|
|
||||||
* This software is subject to the conditions detailed in the
|
|
||||||
* LICENCE file provided within this distribution */
|
|
||||||
#ifndef UPNPCOMMANDS_H_INCLUDED
|
|
||||||
#define UPNPCOMMANDS_H_INCLUDED
|
|
||||||
|
|
||||||
#include "upnpreplyparse.h"
|
|
||||||
#include "portlistingparse.h"
|
|
||||||
#include "miniupnpc_declspec.h"
|
|
||||||
#include "miniupnpctypes.h"
|
|
||||||
|
|
||||||
/* MiniUPnPc return codes : */
|
|
||||||
#define UPNPCOMMAND_SUCCESS (0)
|
|
||||||
#define UPNPCOMMAND_UNKNOWN_ERROR (-1)
|
|
||||||
#define UPNPCOMMAND_INVALID_ARGS (-2)
|
|
||||||
#define UPNPCOMMAND_HTTP_ERROR (-3)
|
|
||||||
#define UPNPCOMMAND_INVALID_RESPONSE (-4)
|
|
||||||
#define UPNPCOMMAND_MEM_ALLOC_ERROR (-5)
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC UNSIGNED_INTEGER
|
|
||||||
UPNP_GetTotalBytesSent(const char * controlURL,
|
|
||||||
const char * servicetype);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC UNSIGNED_INTEGER
|
|
||||||
UPNP_GetTotalBytesReceived(const char * controlURL,
|
|
||||||
const char * servicetype);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC UNSIGNED_INTEGER
|
|
||||||
UPNP_GetTotalPacketsSent(const char * controlURL,
|
|
||||||
const char * servicetype);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC UNSIGNED_INTEGER
|
|
||||||
UPNP_GetTotalPacketsReceived(const char * controlURL,
|
|
||||||
const char * servicetype);
|
|
||||||
|
|
||||||
/* UPNP_GetStatusInfo()
|
|
||||||
* status and lastconnerror are 64 byte buffers
|
|
||||||
* Return values :
|
|
||||||
* UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR
|
|
||||||
* or a UPnP Error code */
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_GetStatusInfo(const char * controlURL,
|
|
||||||
const char * servicetype,
|
|
||||||
char * status,
|
|
||||||
unsigned int * uptime,
|
|
||||||
char * lastconnerror);
|
|
||||||
|
|
||||||
/* UPNP_GetConnectionTypeInfo()
|
|
||||||
* argument connectionType is a 64 character buffer
|
|
||||||
* Return Values :
|
|
||||||
* UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR
|
|
||||||
* or a UPnP Error code */
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_GetConnectionTypeInfo(const char * controlURL,
|
|
||||||
const char * servicetype,
|
|
||||||
char * connectionType);
|
|
||||||
|
|
||||||
/* UPNP_GetExternalIPAddress() call the corresponding UPNP method.
|
|
||||||
* if the third arg is not null the value is copied to it.
|
|
||||||
* at least 16 bytes must be available
|
|
||||||
*
|
|
||||||
* Return values :
|
|
||||||
* 0 : SUCCESS
|
|
||||||
* NON ZERO : ERROR Either an UPnP error code or an unknown error.
|
|
||||||
*
|
|
||||||
* possible UPnP Errors :
|
|
||||||
* 402 Invalid Args - See UPnP Device Architecture section on Control.
|
|
||||||
* 501 Action Failed - See UPnP Device Architecture section on Control. */
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_GetExternalIPAddress(const char * controlURL,
|
|
||||||
const char * servicetype,
|
|
||||||
char * extIpAdd);
|
|
||||||
|
|
||||||
/* UPNP_GetLinkLayerMaxBitRates()
|
|
||||||
* call WANCommonInterfaceConfig:1#GetCommonLinkProperties
|
|
||||||
*
|
|
||||||
* return values :
|
|
||||||
* UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR
|
|
||||||
* or a UPnP Error Code. */
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_GetLinkLayerMaxBitRates(const char* controlURL,
|
|
||||||
const char* servicetype,
|
|
||||||
unsigned int * bitrateDown,
|
|
||||||
unsigned int * bitrateUp);
|
|
||||||
|
|
||||||
/* UPNP_AddPortMapping()
|
|
||||||
* if desc is NULL, it will be defaulted to "libminiupnpc"
|
|
||||||
* remoteHost is usually NULL because IGD don't support it.
|
|
||||||
*
|
|
||||||
* Return values :
|
|
||||||
* 0 : SUCCESS
|
|
||||||
* NON ZERO : ERROR. Either an UPnP error code or an unknown error.
|
|
||||||
*
|
|
||||||
* List of possible UPnP errors for AddPortMapping :
|
|
||||||
* errorCode errorDescription (short) - Description (long)
|
|
||||||
* 402 Invalid Args - See UPnP Device Architecture section on Control.
|
|
||||||
* 501 Action Failed - See UPnP Device Architecture section on Control.
|
|
||||||
* 606 Action not authorized - The action requested REQUIRES authorization and
|
|
||||||
* the sender was not authorized.
|
|
||||||
* 715 WildCardNotPermittedInSrcIP - The source IP address cannot be
|
|
||||||
* wild-carded
|
|
||||||
* 716 WildCardNotPermittedInExtPort - The external port cannot be wild-carded
|
|
||||||
* 718 ConflictInMappingEntry - The port mapping entry specified conflicts
|
|
||||||
* with a mapping assigned previously to another client
|
|
||||||
* 724 SamePortValuesRequired - Internal and External port values
|
|
||||||
* must be the same
|
|
||||||
* 725 OnlyPermanentLeasesSupported - The NAT implementation only supports
|
|
||||||
* permanent lease times on port mappings
|
|
||||||
* 726 RemoteHostOnlySupportsWildcard - RemoteHost must be a wildcard
|
|
||||||
* and cannot be a specific IP address or DNS name
|
|
||||||
* 727 ExternalPortOnlySupportsWildcard - ExternalPort must be a wildcard and
|
|
||||||
* cannot be a specific port value
|
|
||||||
* 728 NoPortMapsAvailable - There are not enough free ports available to
|
|
||||||
* complete port mapping.
|
|
||||||
* 729 ConflictWithOtherMechanisms - Attempted port mapping is not allowed
|
|
||||||
* due to conflict with other mechanisms.
|
|
||||||
* 732 WildCardNotPermittedInIntPort - The internal port cannot be wild-carded
|
|
||||||
*/
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_AddPortMapping(const char * controlURL, const char * servicetype,
|
|
||||||
const char * extPort,
|
|
||||||
const char * inPort,
|
|
||||||
const char * inClient,
|
|
||||||
const char * desc,
|
|
||||||
const char * proto,
|
|
||||||
const char * remoteHost,
|
|
||||||
const char * leaseDuration);
|
|
||||||
|
|
||||||
/* UPNP_AddAnyPortMapping()
|
|
||||||
* if desc is NULL, it will be defaulted to "libminiupnpc"
|
|
||||||
* remoteHost is usually NULL because IGD don't support it.
|
|
||||||
*
|
|
||||||
* Return values :
|
|
||||||
* 0 : SUCCESS
|
|
||||||
* NON ZERO : ERROR. Either an UPnP error code or an unknown error.
|
|
||||||
*
|
|
||||||
* List of possible UPnP errors for AddPortMapping :
|
|
||||||
* errorCode errorDescription (short) - Description (long)
|
|
||||||
* 402 Invalid Args - See UPnP Device Architecture section on Control.
|
|
||||||
* 501 Action Failed - See UPnP Device Architecture section on Control.
|
|
||||||
* 606 Action not authorized - The action requested REQUIRES authorization and
|
|
||||||
* the sender was not authorized.
|
|
||||||
* 715 WildCardNotPermittedInSrcIP - The source IP address cannot be
|
|
||||||
* wild-carded
|
|
||||||
* 716 WildCardNotPermittedInExtPort - The external port cannot be wild-carded
|
|
||||||
* 728 NoPortMapsAvailable - There are not enough free ports available to
|
|
||||||
* complete port mapping.
|
|
||||||
* 729 ConflictWithOtherMechanisms - Attempted port mapping is not allowed
|
|
||||||
* due to conflict with other mechanisms.
|
|
||||||
* 732 WildCardNotPermittedInIntPort - The internal port cannot be wild-carded
|
|
||||||
*/
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_AddAnyPortMapping(const char * controlURL, const char * servicetype,
|
|
||||||
const char * extPort,
|
|
||||||
const char * inPort,
|
|
||||||
const char * inClient,
|
|
||||||
const char * desc,
|
|
||||||
const char * proto,
|
|
||||||
const char * remoteHost,
|
|
||||||
const char * leaseDuration,
|
|
||||||
char * reservedPort);
|
|
||||||
|
|
||||||
/* UPNP_DeletePortMapping()
|
|
||||||
* Use same argument values as what was used for AddPortMapping().
|
|
||||||
* remoteHost is usually NULL because IGD don't support it.
|
|
||||||
* Return Values :
|
|
||||||
* 0 : SUCCESS
|
|
||||||
* NON ZERO : error. Either an UPnP error code or an undefined error.
|
|
||||||
*
|
|
||||||
* List of possible UPnP errors for DeletePortMapping :
|
|
||||||
* 402 Invalid Args - See UPnP Device Architecture section on Control.
|
|
||||||
* 606 Action not authorized - The action requested REQUIRES authorization
|
|
||||||
* and the sender was not authorized.
|
|
||||||
* 714 NoSuchEntryInArray - The specified value does not exist in the array */
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_DeletePortMapping(const char * controlURL, const char * servicetype,
|
|
||||||
const char * extPort, const char * proto,
|
|
||||||
const char * remoteHost);
|
|
||||||
|
|
||||||
/* UPNP_DeletePortRangeMapping()
|
|
||||||
* Use same argument values as what was used for AddPortMapping().
|
|
||||||
* remoteHost is usually NULL because IGD don't support it.
|
|
||||||
* Return Values :
|
|
||||||
* 0 : SUCCESS
|
|
||||||
* NON ZERO : error. Either an UPnP error code or an undefined error.
|
|
||||||
*
|
|
||||||
* List of possible UPnP errors for DeletePortMapping :
|
|
||||||
* 606 Action not authorized - The action requested REQUIRES authorization
|
|
||||||
* and the sender was not authorized.
|
|
||||||
* 730 PortMappingNotFound - This error message is returned if no port
|
|
||||||
* mapping is found in the specified range.
|
|
||||||
* 733 InconsistentParameters - NewStartPort and NewEndPort values are not consistent. */
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_DeletePortMappingRange(const char * controlURL, const char * servicetype,
|
|
||||||
const char * extPortStart, const char * extPortEnd,
|
|
||||||
const char * proto,
|
|
||||||
const char * manage);
|
|
||||||
|
|
||||||
/* UPNP_GetPortMappingNumberOfEntries()
|
|
||||||
* not supported by all routers */
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_GetPortMappingNumberOfEntries(const char* controlURL,
|
|
||||||
const char* servicetype,
|
|
||||||
unsigned int * num);
|
|
||||||
|
|
||||||
/* UPNP_GetSpecificPortMappingEntry()
|
|
||||||
* retrieves an existing port mapping
|
|
||||||
* params :
|
|
||||||
* in extPort
|
|
||||||
* in proto
|
|
||||||
* in remoteHost
|
|
||||||
* out intClient (16 bytes)
|
|
||||||
* out intPort (6 bytes)
|
|
||||||
* out desc (80 bytes)
|
|
||||||
* out enabled (4 bytes)
|
|
||||||
* out leaseDuration (16 bytes)
|
|
||||||
*
|
|
||||||
* return value :
|
|
||||||
* UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR
|
|
||||||
* or a UPnP Error Code.
|
|
||||||
*
|
|
||||||
* List of possible UPnP errors for _GetSpecificPortMappingEntry :
|
|
||||||
* 402 Invalid Args - See UPnP Device Architecture section on Control.
|
|
||||||
* 501 Action Failed - See UPnP Device Architecture section on Control.
|
|
||||||
* 606 Action not authorized - The action requested REQUIRES authorization
|
|
||||||
* and the sender was not authorized.
|
|
||||||
* 714 NoSuchEntryInArray - The specified value does not exist in the array.
|
|
||||||
*/
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_GetSpecificPortMappingEntry(const char * controlURL,
|
|
||||||
const char * servicetype,
|
|
||||||
const char * extPort,
|
|
||||||
const char * proto,
|
|
||||||
const char * remoteHost,
|
|
||||||
char * intClient,
|
|
||||||
char * intPort,
|
|
||||||
char * desc,
|
|
||||||
char * enabled,
|
|
||||||
char * leaseDuration);
|
|
||||||
|
|
||||||
/* UPNP_GetGenericPortMappingEntry()
|
|
||||||
* params :
|
|
||||||
* in index
|
|
||||||
* out extPort (6 bytes)
|
|
||||||
* out intClient (16 bytes)
|
|
||||||
* out intPort (6 bytes)
|
|
||||||
* out protocol (4 bytes)
|
|
||||||
* out desc (80 bytes)
|
|
||||||
* out enabled (4 bytes)
|
|
||||||
* out rHost (64 bytes)
|
|
||||||
* out duration (16 bytes)
|
|
||||||
*
|
|
||||||
* return value :
|
|
||||||
* UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR
|
|
||||||
* or a UPnP Error Code.
|
|
||||||
*
|
|
||||||
* Possible UPNP Error codes :
|
|
||||||
* 402 Invalid Args - See UPnP Device Architecture section on Control.
|
|
||||||
* 606 Action not authorized - The action requested REQUIRES authorization
|
|
||||||
* and the sender was not authorized.
|
|
||||||
* 713 SpecifiedArrayIndexInvalid - The specified array index is out of bounds
|
|
||||||
*/
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_GetGenericPortMappingEntry(const char * controlURL,
|
|
||||||
const char * servicetype,
|
|
||||||
const char * index,
|
|
||||||
char * extPort,
|
|
||||||
char * intClient,
|
|
||||||
char * intPort,
|
|
||||||
char * protocol,
|
|
||||||
char * desc,
|
|
||||||
char * enabled,
|
|
||||||
char * rHost,
|
|
||||||
char * duration);
|
|
||||||
|
|
||||||
/* UPNP_GetListOfPortMappings() Available in IGD v2
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Possible UPNP Error codes :
|
|
||||||
* 606 Action not Authorized
|
|
||||||
* 730 PortMappingNotFound - no port mapping is found in the specified range.
|
|
||||||
* 733 InconsistantParameters - NewStartPort and NewEndPort values are not
|
|
||||||
* consistent.
|
|
||||||
*/
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_GetListOfPortMappings(const char * controlURL,
|
|
||||||
const char * servicetype,
|
|
||||||
const char * startPort,
|
|
||||||
const char * endPort,
|
|
||||||
const char * protocol,
|
|
||||||
const char * numberOfPorts,
|
|
||||||
struct PortMappingParserData * data);
|
|
||||||
|
|
||||||
/* IGD:2, functions for service WANIPv6FirewallControl:1 */
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_GetFirewallStatus(const char * controlURL,
|
|
||||||
const char * servicetype,
|
|
||||||
int * firewallEnabled,
|
|
||||||
int * inboundPinholeAllowed);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_GetOutboundPinholeTimeout(const char * controlURL, const char * servicetype,
|
|
||||||
const char * remoteHost,
|
|
||||||
const char * remotePort,
|
|
||||||
const char * intClient,
|
|
||||||
const char * intPort,
|
|
||||||
const char * proto,
|
|
||||||
int * opTimeout);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_AddPinhole(const char * controlURL, const char * servicetype,
|
|
||||||
const char * remoteHost,
|
|
||||||
const char * remotePort,
|
|
||||||
const char * intClient,
|
|
||||||
const char * intPort,
|
|
||||||
const char * proto,
|
|
||||||
const char * leaseTime,
|
|
||||||
char * uniqueID);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_UpdatePinhole(const char * controlURL, const char * servicetype,
|
|
||||||
const char * uniqueID,
|
|
||||||
const char * leaseTime);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_DeletePinhole(const char * controlURL, const char * servicetype, const char * uniqueID);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_CheckPinholeWorking(const char * controlURL, const char * servicetype,
|
|
||||||
const char * uniqueID, int * isWorking);
|
|
||||||
|
|
||||||
MINIUPNP_LIBSPEC int
|
|
||||||
UPNP_GetPinholePackets(const char * controlURL, const char * servicetype,
|
|
||||||
const char * uniqueID, int * packets);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
/* $Id: upnperrors.h,v 1.6 2015/07/21 13:16:55 nanard Exp $ */
|
|
||||||
/* (c) 2007-2015 Thomas Bernard
|
|
||||||
* All rights reserved.
|
|
||||||
* MiniUPnP Project.
|
|
||||||
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
|
|
||||||
* This software is subjet to the conditions detailed in the
|
|
||||||
* provided LICENCE file. */
|
|
||||||
#ifndef UPNPERRORS_H_INCLUDED
|
|
||||||
#define UPNPERRORS_H_INCLUDED
|
|
||||||
|
|
||||||
#include "miniupnpc_declspec.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* strupnperror()
|
|
||||||
* Return a string description of the UPnP error code
|
|
||||||
* or NULL for undefinded errors */
|
|
||||||
MINIUPNP_LIBSPEC const char * strupnperror(int err);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,63 +0,0 @@
|
||||||
/* $Id: upnpreplyparse.h,v 1.19 2014/10/27 16:33:19 nanard Exp $ */
|
|
||||||
/* MiniUPnP project
|
|
||||||
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
|
|
||||||
* (c) 2006-2013 Thomas Bernard
|
|
||||||
* This software is subject to the conditions detailed
|
|
||||||
* in the LICENCE file provided within the distribution */
|
|
||||||
|
|
||||||
#ifndef UPNPREPLYPARSE_H_INCLUDED
|
|
||||||
#define UPNPREPLYPARSE_H_INCLUDED
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct NameValue {
|
|
||||||
struct NameValue * l_next;
|
|
||||||
char name[64];
|
|
||||||
char value[128];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct NameValueParserData {
|
|
||||||
struct NameValue * l_head;
|
|
||||||
char curelt[64];
|
|
||||||
char * portListing;
|
|
||||||
int portListingLength;
|
|
||||||
int topelt;
|
|
||||||
const char * cdata;
|
|
||||||
int cdatalen;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* ParseNameValue() */
|
|
||||||
void
|
|
||||||
ParseNameValue(const char * buffer, int bufsize,
|
|
||||||
struct NameValueParserData * data);
|
|
||||||
|
|
||||||
/* ClearNameValueList() */
|
|
||||||
void
|
|
||||||
ClearNameValueList(struct NameValueParserData * pdata);
|
|
||||||
|
|
||||||
/* GetValueFromNameValueList() */
|
|
||||||
char *
|
|
||||||
GetValueFromNameValueList(struct NameValueParserData * pdata,
|
|
||||||
const char * Name);
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* GetValueFromNameValueListIgnoreNS() */
|
|
||||||
char *
|
|
||||||
GetValueFromNameValueListIgnoreNS(struct NameValueParserData * pdata,
|
|
||||||
const char * Name);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* DisplayNameValueList() */
|
|
||||||
#ifdef DEBUG
|
|
||||||
void
|
|
||||||
DisplayNameValueList(char * buffer, int bufsize);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -24,7 +24,7 @@
|
||||||
<ROW Property="CTRLS" Value="2"/>
|
<ROW Property="CTRLS" Value="2"/>
|
||||||
<ROW Property="MSIFASTINSTALL" MultiBuildValue="DefaultBuild:2"/>
|
<ROW Property="MSIFASTINSTALL" MultiBuildValue="DefaultBuild:2"/>
|
||||||
<ROW Property="Manufacturer" Value="ZeroTier, Inc."/>
|
<ROW Property="Manufacturer" Value="ZeroTier, Inc."/>
|
||||||
<ROW Property="ProductCode" Value="1033:{C915A955-6F73-4326-A6B6-366A6132BDAA} " Type="16"/>
|
<ROW Property="ProductCode" Value="1033:{1D75367B-40EC-408B-848B-3D147C9A2175} " Type="16"/>
|
||||||
<ROW Property="ProductLanguage" Value="1033"/>
|
<ROW Property="ProductLanguage" Value="1033"/>
|
||||||
<ROW Property="ProductName" Value="ZeroTier One"/>
|
<ROW Property="ProductName" Value="ZeroTier One"/>
|
||||||
<ROW Property="ProductVersion" Value="1.1.0" Type="32"/>
|
<ROW Property="ProductVersion" Value="1.1.0" Type="32"/>
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
* This software is subject to the conditions detailed in the
|
* This software is subject to the conditions detailed in the
|
||||||
* LICENCE file provided in this distribution. */
|
* LICENCE file provided in this distribution. */
|
||||||
|
|
||||||
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
|
|
||||||
/* use getaddrinfo() or gethostbyname()
|
/* use getaddrinfo() or gethostbyname()
|
||||||
* uncomment the following line in order to use gethostbyname() */
|
* uncomment the following line in order to use gethostbyname() */
|
||||||
#ifdef NO_GETADDRINFO
|
#ifdef NO_GETADDRINFO
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
/* $Id: minisoap.c,v 1.24 2015/10/26 17:05:07 nanard Exp $ */
|
/* $Id: minisoap.c,v 1.24 2015/10/26 17:05:07 nanard Exp $ */
|
||||||
/* Project : miniupnp
|
/* Project : miniupnp
|
||||||
* Author : Thomas Bernard
|
* Author : Thomas Bernard
|
||||||
|
@ -19,7 +20,13 @@
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#endif
|
#endif
|
||||||
#include "minisoap.h"
|
#include "minisoap.h"
|
||||||
|
#ifdef _WIN32
|
||||||
|
#define OS_STRING "Win32"
|
||||||
|
#define MINIUPNPC_VERSION_STRING "1.9"
|
||||||
|
#define UPNP_VERSION_STRING "UPnP/1.1"
|
||||||
|
#else
|
||||||
#include "miniupnpcstrings.h"
|
#include "miniupnpcstrings.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* only for malloc */
|
/* only for malloc */
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
|
|
||||||
/* $Id: minissdpc.c,v 1.30 2015/10/26 17:05:07 nanard Exp $ */
|
/* $Id: minissdpc.c,v 1.30 2015/10/26 17:05:07 nanard Exp $ */
|
||||||
/* Project : miniupnp
|
/* Project : miniupnp
|
||||||
* Web : http://miniupnp.free.fr/
|
* Web : http://miniupnp.free.fr/
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
/* $Id: miniupnpc.c,v 1.141 2015/10/26 17:05:07 nanard Exp $ */
|
/* $Id: miniupnpc.c,v 1.141 2015/10/26 17:05:07 nanard Exp $ */
|
||||||
/* vim: tabstop=4 shiftwidth=4 noexpandtab */
|
/* vim: tabstop=4 shiftwidth=4 noexpandtab */
|
||||||
/* Project : miniupnp
|
/* Project : miniupnp
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
/* $Id: miniwget.c,v 1.72 2015/10/26 17:05:08 nanard Exp $ */
|
/* $Id: miniwget.c,v 1.72 2015/10/26 17:05:08 nanard Exp $ */
|
||||||
/* Project : miniupnp
|
/* Project : miniupnp
|
||||||
* Website : http://miniupnp.free.fr/
|
* Website : http://miniupnp.free.fr/
|
||||||
|
@ -49,7 +50,13 @@
|
||||||
#endif /* MIN */
|
#endif /* MIN */
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
#define OS_STRING "Win32"
|
||||||
|
#define MINIUPNPC_VERSION_STRING "1.9"
|
||||||
|
#define UPNP_VERSION_STRING "UPnP/1.1"
|
||||||
|
#else
|
||||||
#include "miniupnpcstrings.h"
|
#include "miniupnpcstrings.h"
|
||||||
|
#endif
|
||||||
#include "miniwget.h"
|
#include "miniwget.h"
|
||||||
#include "connecthostport.h"
|
#include "connecthostport.h"
|
||||||
#include "receivedata.h"
|
#include "receivedata.h"
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
/* $Id: minixml.c,v 1.11 2014/02/03 15:54:12 nanard Exp $ */
|
/* $Id: minixml.c,v 1.11 2014/02/03 15:54:12 nanard Exp $ */
|
||||||
/* minixml.c : the minimum size a xml parser can be ! */
|
/* minixml.c : the minimum size a xml parser can be ! */
|
||||||
/* Project : miniupnp
|
/* Project : miniupnp
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
/* $Id: minixmlvalid.c,v 1.7 2015/07/15 12:41:15 nanard Exp $ */
|
/* $Id: minixmlvalid.c,v 1.7 2015/07/15 12:41:15 nanard Exp $ */
|
||||||
/* MiniUPnP Project
|
/* MiniUPnP Project
|
||||||
* http://miniupnp.tuxfamily.org/ or http://miniupnp.free.fr/
|
* http://miniupnp.tuxfamily.org/ or http://miniupnp.free.fr/
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
/* $Id: upnpcommands.c,v 1.46 2015/07/15 12:19:00 nanard Exp $ */
|
/* $Id: upnpcommands.c,v 1.46 2015/07/15 12:19:00 nanard Exp $ */
|
||||||
/* Project : miniupnp
|
/* Project : miniupnp
|
||||||
* Author : Thomas Bernard
|
* Author : Thomas Bernard
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
/* $Id: upnpreplyparse.c,v 1.19 2015/07/15 10:29:11 nanard Exp $ */
|
/* $Id: upnpreplyparse.c,v 1.19 2015/07/15 10:29:11 nanard Exp $ */
|
||||||
/* MiniUPnP project
|
/* MiniUPnP project
|
||||||
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
|
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
|
||||||
|
|
|
@ -46,8 +46,8 @@
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "../ext/bin/miniupnpc/include/miniupnpc/miniupnpc.h"
|
#include "../ext/miniupnpc/miniupnpc.h"
|
||||||
#include "../ext/bin/miniupnpc/include/miniupnpc/upnpcommands.h"
|
#include "../ext/miniupnpc/upnpcommands.h"
|
||||||
|
|
||||||
namespace ZeroTier {
|
namespace ZeroTier {
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ public:
|
||||||
while (run) {
|
while (run) {
|
||||||
{
|
{
|
||||||
int upnpError = 0;
|
int upnpError = 0;
|
||||||
UPNPDev *devlist = upnpDiscover(2000,(const char *)0,(const char *)0,0,0,&upnpError);
|
UPNPDev *devlist = upnpDiscover(2000,(const char *)0,(const char *)0,0,0,0,&upnpError);
|
||||||
if (devlist) {
|
if (devlist) {
|
||||||
#ifdef ZT_UPNP_TRACE
|
#ifdef ZT_UPNP_TRACE
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,6 +22,19 @@
|
||||||
<ClCompile Include="..\..\ext\http-parser\http_parser.c" />
|
<ClCompile Include="..\..\ext\http-parser\http_parser.c" />
|
||||||
<ClCompile Include="..\..\ext\json-parser\json.c" />
|
<ClCompile Include="..\..\ext\json-parser\json.c" />
|
||||||
<ClCompile Include="..\..\ext\lz4\lz4.c" />
|
<ClCompile Include="..\..\ext\lz4\lz4.c" />
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\connecthostport.c" />
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\igd_desc_parse.c" />
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\minisoap.c" />
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\minissdpc.c" />
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\miniupnpc.c" />
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\miniwget.c" />
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\minixml.c" />
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\portlistingparse.c" />
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\receivedata.c" />
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\upnpcommands.c" />
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\upnpdev.c" />
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\upnperrors.c" />
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\upnpreplyparse.c" />
|
||||||
<ClCompile Include="..\..\node\C25519.cpp" />
|
<ClCompile Include="..\..\node\C25519.cpp" />
|
||||||
<ClCompile Include="..\..\node\CertificateOfMembership.cpp" />
|
<ClCompile Include="..\..\node\CertificateOfMembership.cpp" />
|
||||||
<ClCompile Include="..\..\node\Cluster.cpp" />
|
<ClCompile Include="..\..\node\Cluster.cpp" />
|
||||||
|
@ -79,6 +92,22 @@
|
||||||
<ClInclude Include="..\..\ext\http-parser\http_parser.h" />
|
<ClInclude Include="..\..\ext\http-parser\http_parser.h" />
|
||||||
<ClInclude Include="..\..\ext\json-parser\json.h" />
|
<ClInclude Include="..\..\ext\json-parser\json.h" />
|
||||||
<ClInclude Include="..\..\ext\lz4\lz4.h" />
|
<ClInclude Include="..\..\ext\lz4\lz4.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\codelength.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\connecthostport.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\igd_desc_parse.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\minisoap.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\minissdpc.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\miniupnpc.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\miniupnpctypes.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\miniupnpc_declspec.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\miniwget.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\minixml.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\portlistingparse.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\receivedata.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\upnpcommands.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\upnpdev.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\upnperrors.h" />
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\upnpreplyparse.h" />
|
||||||
<ClInclude Include="..\..\include\ZeroTierOne.h" />
|
<ClInclude Include="..\..\include\ZeroTierOne.h" />
|
||||||
<ClInclude Include="..\..\node\Address.hpp" />
|
<ClInclude Include="..\..\node\Address.hpp" />
|
||||||
<ClInclude Include="..\..\node\AntiRecursion.hpp" />
|
<ClInclude Include="..\..\node\AntiRecursion.hpp" />
|
||||||
|
@ -214,11 +243,11 @@
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>
|
||||||
</AdditionalIncludeDirectories>
|
</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>NOMINMAX;ZT_TRACE;ZT_USE_MINIUPNPC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>NOMINMAX;ZT_TRACE;ZT_USE_MINIUPNPC;MINIUPNP_STATICLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>$(SolutionDir)..\ext\bin\miniupnpc\windows-x86\miniupnpc.lib;wsock32.lib;ws2_32.lib;Iphlpapi.lib;Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>wsock32.lib;ws2_32.lib;Iphlpapi.lib;Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
@ -229,12 +258,12 @@
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>
|
||||||
</AdditionalIncludeDirectories>
|
</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>NOMINMAX;ZT_TRACE;ZT_USE_MINIUPNPC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>NOMINMAX;ZT_TRACE;ZT_USE_MINIUPNPC;MINIUPNP_STATICLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<MultiProcessorCompilation>false</MultiProcessorCompilation>
|
<MultiProcessorCompilation>false</MultiProcessorCompilation>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>$(SolutionDir)..\ext\bin\miniupnpc\windows-x64\miniupnpc.lib;wsock32.lib;ws2_32.lib;Iphlpapi.lib;Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>wsock32.lib;ws2_32.lib;Iphlpapi.lib;Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
@ -247,7 +276,7 @@
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>
|
||||||
</AdditionalIncludeDirectories>
|
</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>ZT_OFFICIAL_RELEASE;ZT_AUTO_UPDATE;ZT_SALSA20_SSE;ZT_USE_MINIUPNPC;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>ZT_OFFICIAL_RELEASE;ZT_AUTO_UPDATE;ZT_SALSA20_SSE;ZT_USE_MINIUPNPC;MINIUPNP_STATICLIB;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
<EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet>
|
<EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet>
|
||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
|
@ -259,7 +288,7 @@
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>$(SolutionDir)..\ext\bin\miniupnpc\windows-x86\miniupnpc.lib;wsock32.lib;ws2_32.lib;Iphlpapi.lib;Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>wsock32.lib;ws2_32.lib;Iphlpapi.lib;Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
@ -272,7 +301,7 @@
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>
|
||||||
</AdditionalIncludeDirectories>
|
</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>ZT_OFFICIAL_RELEASE;ZT_AUTO_UPDATE;ZT_SALSA20_SSE;ZT_USE_MINIUPNPC;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>ZT_OFFICIAL_RELEASE;ZT_AUTO_UPDATE;ZT_SALSA20_SSE;ZT_USE_MINIUPNPC;MINIUPNP_STATICLIB;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
|
@ -284,7 +313,7 @@
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>$(SolutionDir)..\ext\bin\miniupnpc\windows-x64\miniupnpc.lib;wsock32.lib;ws2_32.lib;Iphlpapi.lib;Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>wsock32.lib;ws2_32.lib;Iphlpapi.lib;Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
|
|
@ -79,6 +79,12 @@
|
||||||
<Filter Include="Header Files\ext\bin\miniupnpc\include">
|
<Filter Include="Header Files\ext\bin\miniupnpc\include">
|
||||||
<UniqueIdentifier>{1a47071e-e51b-4535-89ae-858946f03118}</UniqueIdentifier>
|
<UniqueIdentifier>{1a47071e-e51b-4535-89ae-858946f03118}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
|
<Filter Include="Header Files\ext\miniupnpc">
|
||||||
|
<UniqueIdentifier>{5423fb64-896b-432e-a19d-88d4467f89f9}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Source Files\ext\miniupnpc">
|
||||||
|
<UniqueIdentifier>{56cc3ab8-3336-4a22-9471-c267ee46cd54}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\service\ControlPlane.cpp">
|
<ClCompile Include="..\..\service\ControlPlane.cpp">
|
||||||
|
@ -192,6 +198,45 @@
|
||||||
<ClCompile Include="..\..\node\Cluster.cpp">
|
<ClCompile Include="..\..\node\Cluster.cpp">
|
||||||
<Filter>Source Files\node</Filter>
|
<Filter>Source Files\node</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\connecthostport.c">
|
||||||
|
<Filter>Source Files\ext\miniupnpc</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\igd_desc_parse.c">
|
||||||
|
<Filter>Source Files\ext\miniupnpc</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\minisoap.c">
|
||||||
|
<Filter>Source Files\ext\miniupnpc</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\minissdpc.c">
|
||||||
|
<Filter>Source Files\ext\miniupnpc</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\miniupnpc.c">
|
||||||
|
<Filter>Source Files\ext\miniupnpc</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\miniwget.c">
|
||||||
|
<Filter>Source Files\ext\miniupnpc</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\minixml.c">
|
||||||
|
<Filter>Source Files\ext\miniupnpc</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\portlistingparse.c">
|
||||||
|
<Filter>Source Files\ext\miniupnpc</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\receivedata.c">
|
||||||
|
<Filter>Source Files\ext\miniupnpc</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\upnpcommands.c">
|
||||||
|
<Filter>Source Files\ext\miniupnpc</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\upnpdev.c">
|
||||||
|
<Filter>Source Files\ext\miniupnpc</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\upnperrors.c">
|
||||||
|
<Filter>Source Files\ext\miniupnpc</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\ext\miniupnpc\upnpreplyparse.c">
|
||||||
|
<Filter>Source Files\ext\miniupnpc</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="resource.h">
|
<ClInclude Include="resource.h">
|
||||||
|
@ -422,6 +467,54 @@
|
||||||
<ClInclude Include="..\..\node\World.hpp">
|
<ClInclude Include="..\..\node\World.hpp">
|
||||||
<Filter>Header Files\node</Filter>
|
<Filter>Header Files\node</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\codelength.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\connecthostport.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\igd_desc_parse.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\minisoap.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\minissdpc.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\miniupnpc.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\miniupnpc_declspec.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\miniupnpctypes.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\miniwget.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\minixml.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\portlistingparse.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\receivedata.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\upnpcommands.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\upnpdev.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\upnperrors.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\ext\miniupnpc\upnpreplyparse.h">
|
||||||
|
<Filter>Header Files\ext\miniupnpc</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="ZeroTierOne.rc">
|
<ResourceCompile Include="ZeroTierOne.rc">
|
||||||
|
|
Loading…
Add table
Reference in a new issue