summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@zerotier.com>2015-11-16 19:04:04 -0800
committerAdam Ierymenko <adam.ierymenko@zerotier.com>2015-11-16 19:04:04 -0800
commit0f5fb48a0ba70ced52aa69ca7ff00824cf8fb829 (patch)
tree3101ec3e9ccf5796b372e3e8ef95961377026325
parentdc8edea0c62a39b147c12a037f42df3cabc232c4 (diff)
downloadinfinitytier-0f5fb48a0ba70ced52aa69ca7ff00824cf8fb829.tar.gz
infinitytier-0f5fb48a0ba70ced52aa69ca7ff00824cf8fb829.zip
Turns out it wasn't hard to add miniupnpc to the VS2012 project and just have it build with the rest of the code.
-rw-r--r--ext/bin/miniupnpc/Changelog.txt633
-rw-r--r--ext/bin/miniupnpc/LICENSE27
-rw-r--r--ext/bin/miniupnpc/README.md4
-rw-r--r--ext/bin/miniupnpc/VERSION1
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/codelength.h54
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/connecthostport.h18
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/igd_desc_parse.h49
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/minisoap.h15
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/minissdpc.h15
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/miniupnpc.h154
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/miniupnpc_declspec.h21
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/miniupnpcstrings.h23
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/miniupnpctypes.h19
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/miniwget.h30
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/minixml.h37
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/portlistingparse.h65
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/receivedata.h19
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/upnpcommands.h348
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/upnperrors.h26
-rw-r--r--ext/bin/miniupnpc/include/miniupnpc/upnpreplyparse.h63
-rw-r--r--ext/bin/miniupnpc/windows-x64/miniupnpc.libbin731616 -> 0 bytes
-rw-r--r--ext/bin/miniupnpc/windows-x86/miniupnpc.libbin702786 -> 0 bytes
-rw-r--r--ext/installfiles/windows/ZeroTier One.aip2
-rw-r--r--ext/miniupnpc/connecthostport.c2
-rw-r--r--ext/miniupnpc/minisoap.c7
-rw-r--r--ext/miniupnpc/minissdpc.c2
-rw-r--r--ext/miniupnpc/miniupnpc.c1
-rw-r--r--ext/miniupnpc/miniwget.c7
-rw-r--r--ext/miniupnpc/minixml.c1
-rw-r--r--ext/miniupnpc/minixmlvalid.c1
-rw-r--r--ext/miniupnpc/upnpcommands.c1
-rw-r--r--ext/miniupnpc/upnpreplyparse.c1
-rw-r--r--osdep/UPNPClient.cpp6
-rw-r--r--windows/ZeroTierOne/ZeroTierOne.vcxproj45
-rw-r--r--windows/ZeroTierOne/ZeroTierOne.vcxproj.filters93
35 files changed, 157 insertions, 1633 deletions
diff --git a/ext/bin/miniupnpc/Changelog.txt b/ext/bin/miniupnpc/Changelog.txt
deleted file mode 100644
index bb2abb7e..00000000
--- a/ext/bin/miniupnpc/Changelog.txt
+++ /dev/null
@@ -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
-
diff --git a/ext/bin/miniupnpc/LICENSE b/ext/bin/miniupnpc/LICENSE
deleted file mode 100644
index cb5a0604..00000000
--- a/ext/bin/miniupnpc/LICENSE
+++ /dev/null
@@ -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.
-
diff --git a/ext/bin/miniupnpc/README.md b/ext/bin/miniupnpc/README.md
deleted file mode 100644
index c3d538ba..00000000
--- a/ext/bin/miniupnpc/README.md
+++ /dev/null
@@ -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.
diff --git a/ext/bin/miniupnpc/VERSION b/ext/bin/miniupnpc/VERSION
deleted file mode 100644
index 2e0e38c6..00000000
--- a/ext/bin/miniupnpc/VERSION
+++ /dev/null
@@ -1 +0,0 @@
-1.9
diff --git a/ext/bin/miniupnpc/include/miniupnpc/codelength.h b/ext/bin/miniupnpc/include/miniupnpc/codelength.h
deleted file mode 100644
index f5f8e30f..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/codelength.h
+++ /dev/null
@@ -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 */
diff --git a/ext/bin/miniupnpc/include/miniupnpc/connecthostport.h b/ext/bin/miniupnpc/include/miniupnpc/connecthostport.h
deleted file mode 100644
index 56941d6f..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/connecthostport.h
+++ /dev/null
@@ -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
-
diff --git a/ext/bin/miniupnpc/include/miniupnpc/igd_desc_parse.h b/ext/bin/miniupnpc/include/miniupnpc/igd_desc_parse.h
deleted file mode 100644
index 0de546b6..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/igd_desc_parse.h
+++ /dev/null
@@ -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 */
diff --git a/ext/bin/miniupnpc/include/miniupnpc/minisoap.h b/ext/bin/miniupnpc/include/miniupnpc/minisoap.h
deleted file mode 100644
index 14c859d1..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/minisoap.h
+++ /dev/null
@@ -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
-
diff --git a/ext/bin/miniupnpc/include/miniupnpc/minissdpc.h b/ext/bin/miniupnpc/include/miniupnpc/minissdpc.h
deleted file mode 100644
index 915b0026..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/minissdpc.h
+++ /dev/null
@@ -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
-
diff --git a/ext/bin/miniupnpc/include/miniupnpc/miniupnpc.h b/ext/bin/miniupnpc/include/miniupnpc/miniupnpc.h
deleted file mode 100644
index 0eeabc23..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/miniupnpc.h
+++ /dev/null
@@ -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
-
diff --git a/ext/bin/miniupnpc/include/miniupnpc/miniupnpc_declspec.h b/ext/bin/miniupnpc/include/miniupnpc/miniupnpc_declspec.h
deleted file mode 100644
index 40adb922..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/miniupnpc_declspec.h
+++ /dev/null
@@ -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 */
-
diff --git a/ext/bin/miniupnpc/include/miniupnpc/miniupnpcstrings.h b/ext/bin/miniupnpc/include/miniupnpc/miniupnpcstrings.h
deleted file mode 100644
index 80a1d757..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/miniupnpcstrings.h
+++ /dev/null
@@ -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
-
diff --git a/ext/bin/miniupnpc/include/miniupnpc/miniupnpctypes.h b/ext/bin/miniupnpc/include/miniupnpc/miniupnpctypes.h
deleted file mode 100644
index 591c32fb..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/miniupnpctypes.h
+++ /dev/null
@@ -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
-
diff --git a/ext/bin/miniupnpc/include/miniupnpc/miniwget.h b/ext/bin/miniupnpc/include/miniupnpc/miniwget.h
deleted file mode 100644
index d6db71a8..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/miniwget.h
+++ /dev/null
@@ -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
-
diff --git a/ext/bin/miniupnpc/include/miniupnpc/minixml.h b/ext/bin/miniupnpc/include/miniupnpc/minixml.h
deleted file mode 100644
index 9f43aa48..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/minixml.h
+++ /dev/null
@@ -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
-
diff --git a/ext/bin/miniupnpc/include/miniupnpc/portlistingparse.h b/ext/bin/miniupnpc/include/miniupnpc/portlistingparse.h
deleted file mode 100644
index 661ad1fa..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/portlistingparse.h
+++ /dev/null
@@ -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
diff --git a/ext/bin/miniupnpc/include/miniupnpc/receivedata.h b/ext/bin/miniupnpc/include/miniupnpc/receivedata.h
deleted file mode 100644
index 0520a11d..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/receivedata.h
+++ /dev/null
@@ -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
-
diff --git a/ext/bin/miniupnpc/include/miniupnpc/upnpcommands.h b/ext/bin/miniupnpc/include/miniupnpc/upnpcommands.h
deleted file mode 100644
index 22eda5e3..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/upnpcommands.h
+++ /dev/null
@@ -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
-
diff --git a/ext/bin/miniupnpc/include/miniupnpc/upnperrors.h b/ext/bin/miniupnpc/include/miniupnpc/upnperrors.h
deleted file mode 100644
index 3115aee5..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/upnperrors.h
+++ /dev/null
@@ -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
diff --git a/ext/bin/miniupnpc/include/miniupnpc/upnpreplyparse.h b/ext/bin/miniupnpc/include/miniupnpc/upnpreplyparse.h
deleted file mode 100644
index 6badd15b..00000000
--- a/ext/bin/miniupnpc/include/miniupnpc/upnpreplyparse.h
+++ /dev/null
@@ -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
-
diff --git a/ext/bin/miniupnpc/windows-x64/miniupnpc.lib b/ext/bin/miniupnpc/windows-x64/miniupnpc.lib
deleted file mode 100644
index e05fefc8..00000000
--- a/ext/bin/miniupnpc/windows-x64/miniupnpc.lib
+++ /dev/null
Binary files differ
diff --git a/ext/bin/miniupnpc/windows-x86/miniupnpc.lib b/ext/bin/miniupnpc/windows-x86/miniupnpc.lib
deleted file mode 100644
index a7fe4191..00000000
--- a/ext/bin/miniupnpc/windows-x86/miniupnpc.lib
+++ /dev/null
Binary files differ
diff --git a/ext/installfiles/windows/ZeroTier One.aip b/ext/installfiles/windows/ZeroTier One.aip
index 3042005e..8c3aa6bf 100644
--- a/ext/installfiles/windows/ZeroTier One.aip
+++ b/ext/installfiles/windows/ZeroTier One.aip
@@ -24,7 +24,7 @@
<ROW Property="CTRLS" Value="2"/>
<ROW Property="MSIFASTINSTALL" MultiBuildValue="DefaultBuild:2"/>
<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="ProductName" Value="ZeroTier One"/>
<ROW Property="ProductVersion" Value="1.1.0" Type="32"/>
diff --git a/ext/miniupnpc/connecthostport.c b/ext/miniupnpc/connecthostport.c
index 1f2a032e..854203e0 100644
--- a/ext/miniupnpc/connecthostport.c
+++ b/ext/miniupnpc/connecthostport.c
@@ -5,6 +5,8 @@
* This software is subject to the conditions detailed in the
* LICENCE file provided in this distribution. */
+#define _CRT_SECURE_NO_WARNINGS
+
/* use getaddrinfo() or gethostbyname()
* uncomment the following line in order to use gethostbyname() */
#ifdef NO_GETADDRINFO
diff --git a/ext/miniupnpc/minisoap.c b/ext/miniupnpc/minisoap.c
index 0b56558e..478bce6b 100644
--- a/ext/miniupnpc/minisoap.c
+++ b/ext/miniupnpc/minisoap.c
@@ -1,3 +1,4 @@
+#define _CRT_SECURE_NO_WARNINGS
/* $Id: minisoap.c,v 1.24 2015/10/26 17:05:07 nanard Exp $ */
/* Project : miniupnp
* Author : Thomas Bernard
@@ -19,7 +20,13 @@
#include <sys/socket.h>
#endif
#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"
+#endif
/* only for malloc */
#include <stdlib.h>
diff --git a/ext/miniupnpc/minissdpc.c b/ext/miniupnpc/minissdpc.c
index 5a426739..a371d161 100644
--- a/ext/miniupnpc/minissdpc.c
+++ b/ext/miniupnpc/minissdpc.c
@@ -1,3 +1,5 @@
+#define _CRT_SECURE_NO_WARNINGS
+
/* $Id: minissdpc.c,v 1.30 2015/10/26 17:05:07 nanard Exp $ */
/* Project : miniupnp
* Web : http://miniupnp.free.fr/
diff --git a/ext/miniupnpc/miniupnpc.c b/ext/miniupnpc/miniupnpc.c
index 4837fe7d..56638881 100644
--- a/ext/miniupnpc/miniupnpc.c
+++ b/ext/miniupnpc/miniupnpc.c
@@ -1,3 +1,4 @@
+#define _CRT_SECURE_NO_WARNINGS
/* $Id: miniupnpc.c,v 1.141 2015/10/26 17:05:07 nanard Exp $ */
/* vim: tabstop=4 shiftwidth=4 noexpandtab */
/* Project : miniupnp
diff --git a/ext/miniupnpc/miniwget.c b/ext/miniupnpc/miniwget.c
index 40aa7180..d0dd721b 100644
--- a/ext/miniupnpc/miniwget.c
+++ b/ext/miniupnpc/miniwget.c
@@ -1,3 +1,4 @@
+#define _CRT_SECURE_NO_WARNINGS
/* $Id: miniwget.c,v 1.72 2015/10/26 17:05:08 nanard Exp $ */
/* Project : miniupnp
* Website : http://miniupnp.free.fr/
@@ -49,7 +50,13 @@
#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"
+#endif
#include "miniwget.h"
#include "connecthostport.h"
#include "receivedata.h"
diff --git a/ext/miniupnpc/minixml.c b/ext/miniupnpc/minixml.c
index 3e201ec2..5c79b3c9 100644
--- a/ext/miniupnpc/minixml.c
+++ b/ext/miniupnpc/minixml.c
@@ -1,3 +1,4 @@
+#define _CRT_SECURE_NO_WARNINGS
/* $Id: minixml.c,v 1.11 2014/02/03 15:54:12 nanard Exp $ */
/* minixml.c : the minimum size a xml parser can be ! */
/* Project : miniupnp
diff --git a/ext/miniupnpc/minixmlvalid.c b/ext/miniupnpc/minixmlvalid.c
index dad14881..a86beba8 100644
--- a/ext/miniupnpc/minixmlvalid.c
+++ b/ext/miniupnpc/minixmlvalid.c
@@ -1,3 +1,4 @@
+#define _CRT_SECURE_NO_WARNINGS
/* $Id: minixmlvalid.c,v 1.7 2015/07/15 12:41:15 nanard Exp $ */
/* MiniUPnP Project
* http://miniupnp.tuxfamily.org/ or http://miniupnp.free.fr/
diff --git a/ext/miniupnpc/upnpcommands.c b/ext/miniupnpc/upnpcommands.c
index cabdb50d..660b5d9f 100644
--- a/ext/miniupnpc/upnpcommands.c
+++ b/ext/miniupnpc/upnpcommands.c
@@ -1,3 +1,4 @@
+#define _CRT_SECURE_NO_WARNINGS
/* $Id: upnpcommands.c,v 1.46 2015/07/15 12:19:00 nanard Exp $ */
/* Project : miniupnp
* Author : Thomas Bernard
diff --git a/ext/miniupnpc/upnpreplyparse.c b/ext/miniupnpc/upnpreplyparse.c
index 5de5796a..88d77a66 100644
--- a/ext/miniupnpc/upnpreplyparse.c
+++ b/ext/miniupnpc/upnpreplyparse.c
@@ -1,3 +1,4 @@
+#define _CRT_SECURE_NO_WARNINGS
/* $Id: upnpreplyparse.c,v 1.19 2015/07/15 10:29:11 nanard Exp $ */
/* MiniUPnP project
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
diff --git a/osdep/UPNPClient.cpp b/osdep/UPNPClient.cpp
index 3193f507..b7c7e768 100644
--- a/osdep/UPNPClient.cpp
+++ b/osdep/UPNPClient.cpp
@@ -46,8 +46,8 @@
#endif
#endif
-#include "../ext/bin/miniupnpc/include/miniupnpc/miniupnpc.h"
-#include "../ext/bin/miniupnpc/include/miniupnpc/upnpcommands.h"
+#include "../ext/miniupnpc/miniupnpc.h"
+#include "../ext/miniupnpc/upnpcommands.h"
namespace ZeroTier {
@@ -81,7 +81,7 @@ public:
while (run) {
{
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) {
#ifdef ZT_UPNP_TRACE
{
diff --git a/windows/ZeroTierOne/ZeroTierOne.vcxproj b/windows/ZeroTierOne/ZeroTierOne.vcxproj
index 82b70400..5da01505 100644
--- a/windows/ZeroTierOne/ZeroTierOne.vcxproj
+++ b/windows/ZeroTierOne/ZeroTierOne.vcxproj
@@ -22,6 +22,19 @@
<ClCompile Include="..\..\ext\http-parser\http_parser.c" />
<ClCompile Include="..\..\ext\json-parser\json.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\CertificateOfMembership.cpp" />
<ClCompile Include="..\..\node\Cluster.cpp" />
@@ -79,6 +92,22 @@
<ClInclude Include="..\..\ext\http-parser\http_parser.h" />
<ClInclude Include="..\..\ext\json-parser\json.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="..\..\node\Address.hpp" />
<ClInclude Include="..\..\node\AntiRecursion.hpp" />
@@ -214,11 +243,11 @@
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>
</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>NOMINMAX;ZT_TRACE;ZT_USE_MINIUPNPC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>NOMINMAX;ZT_TRACE;ZT_USE_MINIUPNPC;MINIUPNP_STATICLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<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>
</Link>
</ItemDefinitionGroup>
@@ -229,12 +258,12 @@
<SDLCheck>true</SDLCheck>
<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>
</ClCompile>
<Link>
<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>
</Link>
</ItemDefinitionGroup>
@@ -247,7 +276,7 @@
<SDLCheck>true</SDLCheck>
<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>
<EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet>
<StringPooling>true</StringPooling>
@@ -259,7 +288,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<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>
</Link>
</ItemDefinitionGroup>
@@ -272,7 +301,7 @@
<SDLCheck>true</SDLCheck>
<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>
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
<StringPooling>true</StringPooling>
@@ -284,7 +313,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<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>
</Link>
</ItemDefinitionGroup>
diff --git a/windows/ZeroTierOne/ZeroTierOne.vcxproj.filters b/windows/ZeroTierOne/ZeroTierOne.vcxproj.filters
index 5a2767e4..6475137c 100644
--- a/windows/ZeroTierOne/ZeroTierOne.vcxproj.filters
+++ b/windows/ZeroTierOne/ZeroTierOne.vcxproj.filters
@@ -79,6 +79,12 @@
<Filter Include="Header Files\ext\bin\miniupnpc\include">
<UniqueIdentifier>{1a47071e-e51b-4535-89ae-858946f03118}</UniqueIdentifier>
</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>
<ClCompile Include="..\..\service\ControlPlane.cpp">
@@ -192,6 +198,45 @@
<ClCompile Include="..\..\node\Cluster.cpp">
<Filter>Source Files\node</Filter>
</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>
<ClInclude Include="resource.h">
@@ -422,6 +467,54 @@
<ClInclude Include="..\..\node\World.hpp">
<Filter>Header Files\node</Filter>
</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>
<ResourceCompile Include="ZeroTierOne.rc">