miniupnpc: Update to version 2.2.3

Library code and public headers are now properly separated, we can fix include paths
to remove the redundant subfolder.
This commit is contained in:
Rémi Verschelde 2021-11-19 12:00:37 +01:00
parent a777f01052
commit 432ac521ef
No known key found for this signature in database
GPG key ID: C3336907360768E1
41 changed files with 51 additions and 38 deletions

View file

@ -266,7 +266,7 @@ Copyright: lieff
License: CC0-1.0
Files: ./thirdparty/miniupnpc/
Comment: MiniUPnPc
Comment: MiniUPnP Project
Copyright: 2005-2021, Thomas Bernard
License: BSD-3-clause

View file

@ -26,9 +26,9 @@ if env["builtin_miniupnpc"]:
"receivedata.c",
"addr_is_reserved.c",
]
thirdparty_sources = [thirdparty_dir + "miniupnpc/" + file for file in thirdparty_sources]
thirdparty_sources = [thirdparty_dir + "src/" + file for file in thirdparty_sources]
env_upnp.Prepend(CPPPATH=[thirdparty_dir])
env_upnp.Prepend(CPPPATH=[thirdparty_dir + "include"])
env_upnp.Append(CPPDEFINES=["MINIUPNP_STATICLIB"])
env_upnp.Append(CPPDEFINES=["MINIUPNPC_SET_SOCKET_TIMEOUT"])

View file

@ -30,8 +30,8 @@
#include "upnp.h"
#include <miniupnpc/miniwget.h>
#include <miniupnpc/upnpcommands.h>
#include <miniwget.h>
#include <upnpcommands.h>
#include <stdlib.h>

View file

@ -35,7 +35,7 @@
#include "upnp_device.h"
#include <miniupnpc/miniupnpc.h>
#include <miniupnpc.h>
class UPNP : public RefCounted {
GDCLASS(UPNP, RefCounted);

View file

@ -32,7 +32,7 @@
#include "upnp.h"
#include <miniupnpc/upnpcommands.h>
#include <upnpcommands.h>
String UPNPDevice::query_external_address() const {
ERR_FAIL_COND_V_MSG(!is_valid_gateway(), "", "The Internet Gateway Device must be valid.");

15
thirdparty/README.md vendored
View file

@ -350,22 +350,19 @@ found in the `patches` directory.
## miniupnpc
- Upstream: https://github.com/miniupnp/miniupnp
- Version: 2.2.2 (81029a860baf1f727903e5b85307903b3f40cbc8, 2021)
- Version: 2.2.3 (2df8120326ed4246e049a7a6de707539604cd514, 2021)
- License: BSD-3-Clause
Files extracted from upstream source:
- All `*.c` and `*.h` files from `miniupnpc` to `thirdparty/miniupnpc/miniupnpc`
- Copy `miniupnpc/src` and `miniupnpc/include` to `thirdparty/miniupnpc`
- Remove the following test or sample files:
`listdevices.c minihttptestserver.c miniupnpcmodule.c upnpc.c upnperrors.* test* wingenminiupnpcstrings.c`
`listdevices.c minihttptestserver.c miniupnpcmodule.c upnpc.c upnperrors.* test*`
- `LICENSE`
The only modified file is `miniupnpcstrings.h`, which was created for Godot
(it is usually autogenerated by cmake). Bump the version number for miniupnpc in that
file when upgrading.
Note: The following upstream patch has been applied, remove this notice on next update.
https://github.com/miniupnp/miniupnp/commit/3a08dd4b89af2e9effa22a136bac86f2f306fd79
The only modified file is `src/miniupnpcstrings.h`, which was created for Godot
(it is usually autogenerated by cmake). Bump the version number for miniupnpc in
that file when upgrading.
## minizip

View file

@ -1,4 +1,4 @@
MiniUPnPc
MiniUPnP Project
Copyright (c) 2005-2020, Thomas BERNARD
All rights reserved.
@ -24,4 +24,3 @@ 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.

View file

@ -1,4 +1,4 @@
/* $Id: miniupnpc.h,v 1.58 2021/03/02 23:49:52 nanard Exp $ */
/* $Id: miniupnpc.h,v 1.59 2021/09/28 21:39:17 nanard Exp $ */
/* vim: tabstop=4 shiftwidth=4 noexpandtab
* Project: miniupnp
* http://miniupnp.free.fr/
@ -20,7 +20,7 @@
#define UPNPDISCOVER_MEMORY_ERROR (-102)
/* versions : */
#define MINIUPNPC_VERSION "2.2.2"
#define MINIUPNPC_VERSION "2.2.3"
#define MINIUPNPC_API_VERSION 17
/* Source port:

View file

@ -1,13 +1,15 @@
/* $Id: miniupnpctypes.h,v 1.1 2011/02/15 11:10:40 nanard Exp $ */
/* Miniupnp project : http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org
* Author : Thomas Bernard
* Copyright (c) 2011 Thomas Bernard
* Copyright (c) 2021 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)
/* Use unsigned long long when available :
* strtoull is C99 */
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
#define UNSIGNED_INTEGER unsigned long long
#define STRTOUI strtoull
#else

View file

@ -1,8 +1,8 @@
/* $Id: upnpdev.h,v 1.3 2020/05/29 15:57:42 nanard Exp $ */
/* $Id: upnpdev.h,v 1.4 2021/08/21 09:45:01 nanard Exp $ */
/* Project : miniupnp
* Web : http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
* Author : Thomas BERNARD
* copyright (c) 2005-2020 Thomas Bernard
* copyright (c) 2005-2021 Thomas Bernard
* This software is subjet to the conditions detailed in the
* provided LICENSE file. */
#ifndef UPNPDEV_H_INCLUDED
@ -20,7 +20,7 @@ struct UPNPDev {
char * st;
char * usn;
unsigned int scope_id;
#if defined(__STDC_VERSION) && __STDC_VERSION__ >= 199901L
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
/* C99 flexible array member */
char buffer[];
#elif defined(__GNUC__)

View file

@ -56,7 +56,7 @@ int addr_is_reserved(const char * addr_str)
uint32_t addr_n, address;
size_t i;
#if defined(_WIN32) && (!defined(_WIN32_WINNT_VISTA) || (_WIN32_WINNT < _WIN32_WINNT_VISTA))
#if defined(_WIN32) && _WIN32_WINNT < 0x0600 // _WIN32_WINNT_VISTA
addr_n = inet_addr(addr_str);
if (addr_n == INADDR_NONE)
return 1;

View file

@ -1,4 +1,4 @@
/* $Id: minissdpc.c,v 1.47 2021/03/02 23:38:30 nanard Exp $ */
/* $Id: minissdpc.c,v 1.49 2021/05/13 11:00:36 nanard Exp $ */
/* vim: tabstop=4 shiftwidth=4 noexpandtab
* Project : miniupnp
* Web : http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
@ -460,7 +460,7 @@ parseMSEARCHReply(const char * reply, int size,
static int upnp_gettimeofday(struct timeval * tv)
{
#if defined(_WIN32)
#if defined(_WIN32_WINNT_VISTA) && (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
#if _WIN32_WINNT >= 0x0600 // _WIN32_WINNT_VISTA
ULONGLONG ts = GetTickCount64();
#else
DWORD ts = GetTickCount();
@ -469,14 +469,29 @@ static int upnp_gettimeofday(struct timeval * tv)
tv->tv_usec = (ts % 1000) * 1000;
return 0; /* success */
#elif defined(CLOCK_MONOTONIC_FAST) || defined(CLOCK_MONOTONIC)
struct timespec ts;
int ret_code = clock_gettime(UPNP_CLOCKID, &ts);
if (ret_code == 0)
{
tv->tv_sec = ts.tv_sec;
tv->tv_usec = ts.tv_nsec / 1000;
#if defined(__APPLE__)
#if defined(__clang__)
if (__builtin_available(macOS 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)) {
#else /* !defined(__clang__) */
if (clock_gettime != NULL) {
#endif /* defined(__clang__) */
#endif /* defined(__APPLE__) */
struct timespec ts;
int ret_code = clock_gettime(UPNP_CLOCKID, &ts);
if (ret_code == 0)
{
tv->tv_sec = ts.tv_sec;
tv->tv_usec = ts.tv_nsec / 1000;
}
return ret_code;
#if defined(__APPLE__)
}
return ret_code;
else
{
/* fall-back for earlier Apple platforms */
return gettimeofday(tv, NULL);
}
#endif /* defined(__APPLE__) */
#else
return gettimeofday(tv, NULL);
#endif
@ -705,7 +720,7 @@ ssdpDiscoverDevices(const char * const deviceTypes[],
}
}
if(multicastif)
if(multicastif && multicastif[0] != '\0')
{
if(ipv6) {
#if !defined(_WIN32)
@ -732,7 +747,7 @@ ssdpDiscoverDevices(const char * const deviceTypes[],
} else {
struct in_addr mc_if;
#if defined(_WIN32)
#if defined(_WIN32_WINNT_VISTA) && (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
#if _WIN32_WINNT >= 0x0600 // _WIN32_WINNT_VISTA
InetPtonA(AF_INET, multicastif, &mc_if);
#else
mc_if.s_addr = inet_addr(multicastif); /* old Windows SDK do not support InetPtoA() */

View file

@ -4,7 +4,7 @@
#include "core/version.h"
#define OS_STRING VERSION_NAME "/1.0"
#define MINIUPNPC_VERSION_STRING "2.2.2"
#define MINIUPNPC_VERSION_STRING "2.2.3"
#if 0
/* according to "UPnP Device Architecture 1.0" */