From cdacb95846945bbb06b4911e544054459facd57a Mon Sep 17 00:00:00 2001
From: Logan-A <Logan.GBA@gmail.com>
Date: Sat, 30 Dec 2023 11:35:35 -0500
Subject: [PATCH] update MiniUPnPc from 1.6 to 2.2.5

---
 libs/miniupnpc/.gitattributes                 |   26 +
 libs/miniupnpc/CMakeLists.txt                 |  398 ++++---
 libs/miniupnpc/Changelog.txt                  |  347 +++++-
 libs/miniupnpc/LICENSE                        |   40 +-
 libs/miniupnpc/MANIFEST.in                    |   11 +-
 libs/miniupnpc/Makefile                       |  440 ++++---
 libs/miniupnpc/Makefile.mingw                 |  186 ++-
 libs/miniupnpc/README                         |   51 +-
 libs/miniupnpc/VERSION                        |    2 +-
 libs/miniupnpc/apiversions.txt                |  178 +++
 libs/miniupnpc/bsdqueue.h                     |  531 ---------
 libs/miniupnpc/codelength.h                   |   24 -
 libs/miniupnpc/connecthostport.h              |   17 -
 libs/miniupnpc/declspec.h                     |   15 -
 libs/miniupnpc/external-ip.sh                 |    4 +-
 libs/miniupnpc/{ => include}/igd_desc_parse.h |   13 +-
 libs/miniupnpc/{ => include}/miniupnpc.h      |   88 +-
 libs/miniupnpc/include/miniupnpc_declspec.h   |   21 +
 libs/miniupnpc/{ => include}/miniupnpctypes.h |   12 +-
 libs/miniupnpc/include/miniwget.h             |   27 +
 .../{ => include}/portlistingparse.h          |   26 +-
 libs/miniupnpc/{ => include}/upnpcommands.h   |  173 ++-
 libs/miniupnpc/include/upnpdev.h              |   44 +
 libs/miniupnpc/{ => include}/upnperrors.h     |   14 +-
 libs/miniupnpc/{ => include}/upnpreplyparse.h |   29 +-
 libs/miniupnpc/java/JavaBridgeTest.java       |    8 +-
 libs/miniupnpc/java/testjava.bat              |    8 +
 libs/miniupnpc/java/testjava.sh               |    8 +-
 libs/miniupnpc/man3/miniupnpc.3               |   16 +-
 libs/miniupnpc/mingw32/libminiupnpc.a         |  Bin 2028512 -> 63762 bytes
 libs/miniupnpc/mingw64/libminiupnpc.a         |  Bin 135706 -> 72024 bytes
 libs/miniupnpc/minissdpc.c                    |  132 ---
 libs/miniupnpc/minissdpc.h                    |   15 -
 libs/miniupnpc/miniupnpc-config.cmake         |    6 +
 libs/miniupnpc/miniupnpc.c                    |  943 ---------------
 libs/miniupnpc/miniupnpc.def                  |    6 +
 libs/miniupnpc/miniupnpc.pc.in                |   18 +
 libs/miniupnpc/miniupnpc.rc                   |   36 +
 libs/miniupnpc/miniupnpcstrings.h.cmake       |   12 +-
 libs/miniupnpc/miniupnpcstrings.h.in          |   16 +-
 libs/miniupnpc/miniwget.h                     |   30 -
 libs/miniupnpc/msvc/genminiupnpcstrings.vbs   |  112 ++
 libs/miniupnpc/msvc/miniupnpc.vcproj          |   24 +-
 libs/miniupnpc/msvc/miniupnpc.vcxproj         |  215 ++++
 libs/miniupnpc/msvc/miniupnpc.vcxproj.filters |  133 +++
 libs/miniupnpc/msvc/miniupnpc_vs2010.sln      |   36 +
 libs/miniupnpc/msvc/miniupnpc_vs2010.vcxproj  |  209 ++++
 .../msvc/miniupnpc_vs2010.vcxproj.filters     |  133 +++
 libs/miniupnpc/msvc/miniupnpc_vs2015.sln      |   38 +
 libs/miniupnpc/msvc/upnpc-static.vcproj       |    4 +-
 libs/miniupnpc/msvc/upnpc-static.vcxproj      |  184 +++
 .../msvc/upnpc-static.vcxproj.filters         |   22 +
 .../msvc/upnpc-static_vs2010.vcxproj          |  176 +++
 libs/miniupnpc/pymoduletest.py                |   79 +-
 libs/miniupnpc/receivedata.c                  |   81 --
 libs/miniupnpc/receivedata.h                  |   17 -
 libs/miniupnpc/setup.py                       |   40 +-
 libs/miniupnpc/setupmingw32.py                |   40 +-
 libs/miniupnpc/src/addr_is_reserved.c         |   79 ++
 libs/miniupnpc/src/addr_is_reserved.h         |   14 +
 libs/miniupnpc/src/codelength.h               |   54 +
 libs/miniupnpc/{ => src}/connecthostport.c    |  147 ++-
 libs/miniupnpc/src/connecthostport.h          |   20 +
 libs/miniupnpc/{ => src}/igd_desc_parse.c     |   36 +-
 libs/miniupnpc/src/listdevices.c              |  197 ++++
 libs/miniupnpc/{ => src}/minihttptestserver.c |  343 +++++-
 libs/miniupnpc/{ => src}/minisoap.c           |   36 +-
 libs/miniupnpc/{ => src}/minisoap.h           |   12 +-
 libs/miniupnpc/src/minissdpc.c                | 1019 +++++++++++++++++
 libs/miniupnpc/src/minissdpc.h                |   58 +
 libs/miniupnpc/src/miniupnpc.c                |  698 +++++++++++
 libs/miniupnpc/src/miniupnpc_socketdef.h      |   44 +
 libs/miniupnpc/{ => src}/miniupnpcmodule.c    |  309 ++++-
 libs/miniupnpc/{ => src}/miniwget.c           |  412 ++++---
 libs/miniupnpc/src/miniwget_private.h         |   15 +
 libs/miniupnpc/{ => src}/minixml.c            |   27 +-
 libs/miniupnpc/{ => src}/minixml.h            |    8 +-
 libs/miniupnpc/{ => src}/minixmlvalid.c       |   13 +-
 libs/miniupnpc/{ => src}/portlistingparse.c   |   36 +-
 libs/miniupnpc/src/receivedata.c              |  105 ++
 libs/miniupnpc/src/receivedata.h              |   21 +
 libs/miniupnpc/src/testaddr_is_reserved.c     |   46 +
 libs/miniupnpc/src/testigddescparse.c         |  187 +++
 libs/miniupnpc/{ => src}/testminiwget.c       |   19 +-
 libs/miniupnpc/{ => src}/testminixml.c        |   25 +-
 libs/miniupnpc/src/testportlistingparse.c     |  151 +++
 libs/miniupnpc/src/testupnpreplyparse.c       |  115 ++
 libs/miniupnpc/{ => src}/upnpc.c              |  466 +++++---
 libs/miniupnpc/{ => src}/upnpcommands.c       |  351 ++++--
 libs/miniupnpc/src/upnpdev.c                  |   23 +
 libs/miniupnpc/{ => src}/upnperrors.c         |   39 +-
 libs/miniupnpc/{ => src}/upnpreplyparse.c     |  115 +-
 libs/miniupnpc/src/win32_snprintf.h           |   71 ++
 .../testdesc/linksys_WAG200G_desc.values      |   14 +
 .../testdesc/linksys_WAG200G_desc.xml         |  110 ++
 .../testdesc/new_LiveBox_desc.values          |   20 +
 libs/miniupnpc/testdesc/new_LiveBox_desc.xml  |   90 ++
 libs/miniupnpc/testigddescparse.c             |   64 --
 libs/miniupnpc/testminiwget.sh                |   88 +-
 .../DeletePortMapping.namevalue               |    3 +
 .../testreplyparse/DeletePortMapping.xml      |    6 +
 .../GetExternalIPAddress.namevalue            |    2 +
 .../testreplyparse/GetExternalIPAddress.xml   |    2 +
 .../GetSpecificPortMappingEntryReq.namevalue  |    3 +
 .../GetSpecificPortMappingEntryReq.xml        |    3 +
 .../GetSpecificPortMappingEntryResp.namevalue |    5 +
 .../GetSpecificPortMappingEntryResp.xml       |    2 +
 .../SetDefaultConnectionService.namevalue     |    1 +
 .../SetDefaultConnectionService.xml           |    1 +
 libs/miniupnpc/testreplyparse/readme.txt      |    7 +
 libs/miniupnpc/testupnpigd.py                 |   48 +-
 libs/miniupnpc/testupnpreplyparse.c           |   44 -
 libs/miniupnpc/testupnpreplyparse.sh          |   17 +
 libs/miniupnpc/updateminiupnpcstrings.sh      |   26 +-
 libs/miniupnpc/wingenminiupnpcstrings.c       |   43 +-
 115 files changed, 8276 insertions(+), 3148 deletions(-)
 create mode 100644 libs/miniupnpc/.gitattributes
 create mode 100644 libs/miniupnpc/apiversions.txt
 delete mode 100644 libs/miniupnpc/bsdqueue.h
 delete mode 100644 libs/miniupnpc/codelength.h
 delete mode 100644 libs/miniupnpc/connecthostport.h
 delete mode 100644 libs/miniupnpc/declspec.h
 rename libs/miniupnpc/{ => include}/igd_desc_parse.h (84%)
 rename libs/miniupnpc/{ => include}/miniupnpc.h (52%)
 create mode 100644 libs/miniupnpc/include/miniupnpc_declspec.h
 rename libs/miniupnpc/{ => include}/miniupnpctypes.h (56%)
 create mode 100644 libs/miniupnpc/include/miniwget.h
 rename libs/miniupnpc/{ => include}/portlistingparse.h (76%)
 rename libs/miniupnpc/{ => include}/upnpcommands.h (61%)
 create mode 100644 libs/miniupnpc/include/upnpdev.h
 rename libs/miniupnpc/{ => include}/upnperrors.h (52%)
 rename libs/miniupnpc/{ => include}/upnpreplyparse.h (71%)
 create mode 100644 libs/miniupnpc/java/testjava.bat
 delete mode 100644 libs/miniupnpc/minissdpc.c
 delete mode 100644 libs/miniupnpc/minissdpc.h
 create mode 100644 libs/miniupnpc/miniupnpc-config.cmake
 delete mode 100644 libs/miniupnpc/miniupnpc.c
 create mode 100644 libs/miniupnpc/miniupnpc.pc.in
 create mode 100644 libs/miniupnpc/miniupnpc.rc
 delete mode 100644 libs/miniupnpc/miniwget.h
 create mode 100644 libs/miniupnpc/msvc/genminiupnpcstrings.vbs
 create mode 100644 libs/miniupnpc/msvc/miniupnpc.vcxproj
 create mode 100644 libs/miniupnpc/msvc/miniupnpc.vcxproj.filters
 create mode 100644 libs/miniupnpc/msvc/miniupnpc_vs2010.sln
 create mode 100644 libs/miniupnpc/msvc/miniupnpc_vs2010.vcxproj
 create mode 100644 libs/miniupnpc/msvc/miniupnpc_vs2010.vcxproj.filters
 create mode 100644 libs/miniupnpc/msvc/miniupnpc_vs2015.sln
 create mode 100644 libs/miniupnpc/msvc/upnpc-static.vcxproj
 create mode 100644 libs/miniupnpc/msvc/upnpc-static.vcxproj.filters
 create mode 100644 libs/miniupnpc/msvc/upnpc-static_vs2010.vcxproj
 delete mode 100644 libs/miniupnpc/receivedata.c
 delete mode 100644 libs/miniupnpc/receivedata.h
 create mode 100644 libs/miniupnpc/src/addr_is_reserved.c
 create mode 100644 libs/miniupnpc/src/addr_is_reserved.h
 create mode 100644 libs/miniupnpc/src/codelength.h
 rename libs/miniupnpc/{ => src}/connecthostport.c (62%)
 create mode 100644 libs/miniupnpc/src/connecthostport.h
 rename libs/miniupnpc/{ => src}/igd_desc_parse.c (83%)
 create mode 100644 libs/miniupnpc/src/listdevices.c
 rename libs/miniupnpc/{ => src}/minihttptestserver.c (56%)
 rename libs/miniupnpc/{ => src}/minisoap.c (81%)
 rename libs/miniupnpc/{ => src}/minisoap.h (51%)
 create mode 100644 libs/miniupnpc/src/minissdpc.c
 create mode 100644 libs/miniupnpc/src/minissdpc.h
 create mode 100644 libs/miniupnpc/src/miniupnpc.c
 create mode 100644 libs/miniupnpc/src/miniupnpc_socketdef.h
 rename libs/miniupnpc/{ => src}/miniupnpcmodule.c (61%)
 rename libs/miniupnpc/{ => src}/miniwget.c (50%)
 create mode 100644 libs/miniupnpc/src/miniwget_private.h
 rename libs/miniupnpc/{ => src}/minixml.c (88%)
 rename libs/miniupnpc/{ => src}/minixml.h (83%)
 rename libs/miniupnpc/{ => src}/minixmlvalid.c (94%)
 rename libs/miniupnpc/{ => src}/portlistingparse.c (81%)
 create mode 100644 libs/miniupnpc/src/receivedata.c
 create mode 100644 libs/miniupnpc/src/receivedata.h
 create mode 100644 libs/miniupnpc/src/testaddr_is_reserved.c
 create mode 100644 libs/miniupnpc/src/testigddescparse.c
 rename libs/miniupnpc/{ => src}/testminiwget.c (70%)
 rename libs/miniupnpc/{ => src}/testminixml.c (82%)
 create mode 100644 libs/miniupnpc/src/testportlistingparse.c
 create mode 100644 libs/miniupnpc/src/testupnpreplyparse.c
 rename libs/miniupnpc/{ => src}/upnpc.c (59%)
 rename libs/miniupnpc/{ => src}/upnpcommands.c (79%)
 create mode 100644 libs/miniupnpc/src/upnpdev.c
 rename libs/miniupnpc/{ => src}/upnperrors.c (69%)
 rename libs/miniupnpc/{ => src}/upnpreplyparse.c (58%)
 create mode 100644 libs/miniupnpc/src/win32_snprintf.h
 create mode 100644 libs/miniupnpc/testdesc/linksys_WAG200G_desc.values
 create mode 100644 libs/miniupnpc/testdesc/linksys_WAG200G_desc.xml
 create mode 100644 libs/miniupnpc/testdesc/new_LiveBox_desc.values
 create mode 100644 libs/miniupnpc/testdesc/new_LiveBox_desc.xml
 delete mode 100644 libs/miniupnpc/testigddescparse.c
 create mode 100644 libs/miniupnpc/testreplyparse/DeletePortMapping.namevalue
 create mode 100644 libs/miniupnpc/testreplyparse/DeletePortMapping.xml
 create mode 100644 libs/miniupnpc/testreplyparse/GetExternalIPAddress.namevalue
 create mode 100644 libs/miniupnpc/testreplyparse/GetExternalIPAddress.xml
 create mode 100644 libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryReq.namevalue
 create mode 100644 libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryReq.xml
 create mode 100644 libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryResp.namevalue
 create mode 100644 libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryResp.xml
 create mode 100644 libs/miniupnpc/testreplyparse/SetDefaultConnectionService.namevalue
 create mode 100644 libs/miniupnpc/testreplyparse/SetDefaultConnectionService.xml
 create mode 100644 libs/miniupnpc/testreplyparse/readme.txt
 delete mode 100644 libs/miniupnpc/testupnpreplyparse.c
 create mode 100644 libs/miniupnpc/testupnpreplyparse.sh

diff --git a/libs/miniupnpc/.gitattributes b/libs/miniupnpc/.gitattributes
new file mode 100644
index 0000000000..513fc84912
--- /dev/null
+++ b/libs/miniupnpc/.gitattributes
@@ -0,0 +1,26 @@
+/*.cmake text=auto
+/*.py text=auto
+/*.rc -crlf -whitespace
+/*.sh text eol=lf
+/*.txt text=auto
+/CMakeLists.txt text=auto
+/LICENSE text=auto
+/Makefile text=auto
+/Makefile.mingw text=auto
+/include/*.h text=auto
+/java/*.bat -crlf -whitespace
+/java/*.java text=auto
+/java/*.sh text eol=lf
+/man3/miniupnpc.3 eol=lf
+/msvc/*.sln -crlf -whitespace
+/msvc/*.vbs -crlf -whitespace
+/msvc/*.vcproj -crlf -whitespace
+/msvc/*.vcxproj* -crlf -whitespace
+/src/*.c text=auto
+/src/*.h text=auto
+/testdesc/*.values text=auto
+/testdesc/*.xml text=auto
+/testreplyparse/*.namevalue text=auto
+/testreplyparse/*.txt text=auto
+/testreplyparse/*.xml text=auto
+MANIFEST.in eol=lf
diff --git a/libs/miniupnpc/CMakeLists.txt b/libs/miniupnpc/CMakeLists.txt
index 082b653a9f..65eb89d08d 100644
--- a/libs/miniupnpc/CMakeLists.txt
+++ b/libs/miniupnpc/CMakeLists.txt
@@ -1,172 +1,308 @@
-cmake_minimum_required (VERSION 2.6)
+cmake_minimum_required(VERSION 3.12 FATAL_ERROR)
 
-project (miniupnpc C)
-set (MINIUPNPC_VERSION 1.5)
-set (MINIUPNPC_API_VERSION 8)
+project (miniupnpc
+         VERSION 2.2.5
+         DESCRIPTION "UPnP IGD client lightweight library"
+         HOMEPAGE_URL https://miniupnp.tuxfamily.org/
+         LANGUAGES C)
 
-if (NOT CMAKE_BUILD_TYPE)
-  if (WIN32)
-    set (DEFAULT_BUILD_TYPE MinSizeRel)
-  else (WIN32)
-    set (DEFAULT_BUILD_TYPE RelWithDebInfo)
-  endif(WIN32)
-    set (CMAKE_BUILD_TYPE ${DEFAULT_BUILD_TYPE} CACHE STRING
-        "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel."
-        FORCE)
-endif()
+set (MINIUPNPC_API_VERSION 17)
 
 option (UPNPC_BUILD_STATIC "Build static library" TRUE)
 option (UPNPC_BUILD_SHARED "Build shared library" TRUE)
-if (NOT WIN32)
-  option (UPNPC_BUILD_TESTS "Build test executables" TRUE)
-endif (NOT WIN32)
+option (UPNPC_BUILD_TESTS "Build test executables" TRUE)
+option (UPNPC_BUILD_SAMPLE "Build sample executables" TRUE)
 option (NO_GETADDRINFO "Define NO_GETADDRINFO" FALSE)
+option (UPNPC_NO_INSTALL "Disable installation" FALSE)
+
+if (NOT UPNPC_BUILD_STATIC AND NOT UPNPC_BUILD_SHARED)
+    message (FATAL "Both shared and static libraries are disabled!")
+endif ()
 
-mark_as_advanced (NO_GETADDRINFO)
+include(GNUInstallDirs)
+
+# Interface library for compile definitions, flags and option
+add_library(miniupnpc-private INTERFACE)
 
 if (NO_GETADDRINFO)
-  add_definitions (-DNO_GETADDRINFO)
-endif (NO_GETADDRINFO)
+  target_compile_definitions(miniupnpc-private INTERFACE NO_GETADDRINFO)
+endif ()
 
 if (NOT WIN32)
-  add_definitions (-DMINIUPNPC_SET_SOCKET_TIMEOUT)
-else (NOT WIN32)
-  add_definitions (-D_WIN32_WINNT=0x0501) # XP or higher for getnameinfo and friends
-endif (NOT WIN32)
+  target_compile_definitions(miniupnpc-private INTERFACE
+    MINIUPNPC_SET_SOCKET_TIMEOUT
+    _BSD_SOURCE _DEFAULT_SOURCE)
+  if (NOT APPLE AND NOT CMAKE_SYSTEM_NAME MATCHES ".*BSD" AND NOT CMAKE_SYSTEM_NAME STREQUAL "SunOS")
+    # add_definitions (-D_POSIX_C_SOURCE=200112L)
+    target_compile_definitions(miniupnpc-private INTERFACE _XOPEN_SOURCE=600)
+  endif ()
+  if (CMAKE_SYSTEM_NAME STREQUAL "NetBSD")
+    target_compile_definitions(miniupnpc-private INTERFACE _NETBSD_SOURCE)
+  endif ()
+else ()
+  target_compile_definitions(miniupnpc-private INTERFACE _WIN32_WINNT=0x0501) # XP or higher for getnameinfo and friends
+endif ()
 
-if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
-  add_definitions (-DMACOSX -D_DARWIN_C_SOURCE)
+if (APPLE)
+  target_compile_definitions(miniupnpc-private INTERFACE _DARWIN_C_SOURCE)
 endif ()
 
 # Set compiler specific build flags
-if (CMAKE_COMPILER_IS_GNUC)
-  # Set our own default flags at first run.
-  if (NOT CONFIGURED)
-
-    if (NOT CMAKE_SYSTEM_NAME STREQUAL "AmigaOS")
-      set (_PIC -fPIC)
-    endif (CMAKE_SYSTEM_NAME STREQUAL "AmigaOS")
-
-    set (CMAKE_C_FLAGS "${_PIC} -Wall $ENV{CFLAGS}" # CMAKE_C_FLAGS gets appended to the other C flags
-        CACHE STRING "Flags used by the C compiler during normal builds." FORCE)
-    set (CMAKE_C_FLAGS_DEBUG "-g -DDDEBUG"
-        CACHE STRING "Flags used by the C compiler during debug builds." FORCE)
-    set (CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG"
-        CACHE STRING "Flags used by the C compiler during release builds." FORCE)
-    set (CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG"
-        CACHE STRING "Flags used by the C compiler during release builds." FORCE)
-    set (CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG"
-        CACHE STRING "Flags used by the C compiler during release builds." FORCE)
-
-  endif (NOT CONFIGURED)
+if (CMAKE_COMPILER_IS_GNUCC AND NOT CMAKE_SYSTEM_NAME STREQUAL "AmigaOS")
+  set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+  target_compile_options(miniupnpc-private INTERFACE -Wall)
 endif ()
 
-configure_file (${CMAKE_SOURCE_DIR}/miniupnpcstrings.h.cmake ${CMAKE_BINARY_DIR}/miniupnpcstrings.h)
-include_directories (${CMAKE_BINARY_DIR})
+# Suppress noise warnings
+if (MSVC)
+  target_compile_definitions(miniupnpc-private INTERFACE _CRT_SECURE_NO_WARNINGS _WINSOCK_DEPRECATED_NO_WARNINGS)
+endif()
+
+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/miniupnpcstrings.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/miniupnpcstrings.h)
+target_include_directories(miniupnpc-private INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>)
 
 set (MINIUPNPC_SOURCES
-  igd_desc_parse.c
-  miniupnpc.c
-  minixml.c
-  minisoap.c
-  miniwget.c
-  upnpc.c
-  upnpcommands.c
-  upnpreplyparse.c
-  upnperrors.c
-  connecthostport.c
-  portlistingparse.c
+  src/igd_desc_parse.c
+  src/miniupnpc.c
+  src/minixml.c
+  src/minisoap.c
+  src/minissdpc.c
+  src/miniwget.c
+  src/upnpcommands.c
+  src/upnpdev.c
+  src/upnpreplyparse.c
+  src/upnperrors.c
+  src/connecthostport.c
+  src/portlistingparse.c
+  src/receivedata.c
+  src/addr_is_reserved.c
+  ${CMAKE_CURRENT_BINARY_DIR}/miniupnpcstrings.h
 )
 
-if (NOT WIN32 AND NOT CMAKE_SYSTEM_NAME STREQUAL "AmigaOS")
-  set (MINIUPNPC_SOURCES ${MINIUPNPC_SOURCES} minissdpc.c)
-endif (NOT WIN32 AND NOT CMAKE_SYSTEM_NAME STREQUAL "AmigaOS")
-
 if (WIN32)
-  set_source_files_properties (${MINIUPNPC_SOURCES} PROPERTIES
-                                                    COMPILE_DEFINITIONS STATICLIB
-                                                    COMPILE_DEFINITIONS MINIUPNP_EXPORTS
-  )
-endif (WIN32)
-
-if (WIN32)
-  find_library (WINSOCK2_LIBRARY NAMES ws2_32 WS2_32 Ws2_32)
-  find_library (IPHLPAPI_LIBRARY NAMES iphlpapi)
-  set (LDLIBS ${WINSOCK2_LIBRARY} ${IPHLPAPI_LIBRARY} ${LDLIBS})
-#elseif (CMAKE_SYSTEM_NAME STREQUAL "Solaris")
-#  find_library (SOCKET_LIBRARY NAMES socket)
-#  find_library (NSL_LIBRARY NAMES nsl)
-#  find_library (RESOLV_LIBRARY NAMES resolv)
-#  set (LDLIBS ${SOCKET_LIBRARY} ${NSL_LIBRARY} ${RESOLV_LIBRARY} ${LDLIBS})
-endif (WIN32)
+  target_link_libraries(miniupnpc-private INTERFACE ws2_32 iphlpapi)
+elseif (CMAKE_SYSTEM_NAME STREQUAL "SunOS")
+  target_link_libraries(miniupnpc-private INTERFACE socket nsl resolv)
+  find_library (SOCKET_LIBRARY NAMES socket)
+  find_library (NSL_LIBRARY NAMES nsl)
+  find_library (RESOLV_LIBRARY NAMES resolv)
+  set (LDLIBS ${SOCKET_LIBRARY} ${NSL_LIBRARY} ${RESOLV_LIBRARY} ${LDLIBS})
+elseif (HAIKU)
+  target_link_libraries(miniupnpc-private INTERFACE network)
+  find_library (SOCKET_LIBRARY NAMES network)
+  find_library (NSL_LIBRARY NAMES network)
+  find_library (RESOLV_LIBRARY NAMES network)
+  set (LDLIBS ${SOCKET_LIBRARY} ${NSL_LIBRARY} ${RESOLV_LIBRARY} ${LDLIBS})
+endif ()
 
-if (NOT UPNPC_BUILD_STATIC AND NOT UPNPC_BUILD_SHARED)
-    message (FATAL "Both shared and static libraries are disabled!")
-endif (NOT UPNPC_BUILD_STATIC AND NOT UPNPC_BUILD_SHARED)
 
 if (UPNPC_BUILD_STATIC)
-  add_library (upnpc-static STATIC ${MINIUPNPC_SOURCES})
-  set_target_properties (upnpc-static PROPERTIES OUTPUT_NAME "miniupnpc")
-  target_link_libraries (upnpc-static ${LDLIBS})
-  set (UPNPC_INSTALL_TARGETS ${UPNPC_INSTALL_TARGETS} upnpc-static)
-  set (UPNPC_LIBRARY_TARGET upnpc-static)
-endif (UPNPC_BUILD_STATIC)
+  add_library (libminiupnpc-static STATIC ${MINIUPNPC_SOURCES})
+  target_include_directories (libminiupnpc-static PUBLIC
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+    $<INSTALL_INTERFACE:include/miniupnpc>)
+  if (NOT UPNPC_BUILD_SHARED)
+    add_library (miniupnpc::miniupnpc ALIAS libminiupnpc-static)
+  endif()
+  set_target_properties (libminiupnpc-static PROPERTIES EXPORT_NAME miniupnpc)
+  if (WIN32 AND NOT MINGW)
+    set_target_properties (libminiupnpc-static PROPERTIES OUTPUT_NAME "libminiupnpc")
+  else()
+    set_target_properties (libminiupnpc-static PROPERTIES OUTPUT_NAME "miniupnpc")
+  endif()
+  target_link_libraries (libminiupnpc-static PRIVATE miniupnpc-private)
+  target_include_directories(libminiupnpc-static INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+  target_compile_definitions(libminiupnpc-static PUBLIC MINIUPNP_STATICLIB)
+
+  if (NOT UPNPC_NO_INSTALL)
+    install (TARGETS miniupnpc-private EXPORT miniupnpc-private)
+
+    install (EXPORT miniupnpc-private
+      DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/miniupnpc"
+      NAMESPACE miniupnpc::)
+
+    install (TARGETS libminiupnpc-static
+      EXPORT libminiupnpc-static
+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+      LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+    install (EXPORT libminiupnpc-static
+      DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/miniupnpc"
+      NAMESPACE miniupnpc::)
+  endif()
+
+  if (UPNPC_BUILD_SAMPLE)
+    add_executable (upnpc-static src/upnpc.c)
+    target_link_libraries (upnpc-static PRIVATE libminiupnpc-static)
+    target_include_directories(upnpc-static PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
+    if (NOT UPNPC_NO_INSTALL)
+      install (TARGETS upnpc-static
+               RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+    endif()
+  endif ()
+endif ()
 
 if (UPNPC_BUILD_SHARED)
-  add_library (upnpc-shared SHARED ${MINIUPNPC_SOURCES})
-  set_target_properties (upnpc-shared PROPERTIES OUTPUT_NAME "miniupnpc")
-  set_target_properties (upnpc-shared PROPERTIES VERSION ${MINIUPNPC_VERSION})
-  set_target_properties (upnpc-shared PROPERTIES SOVERSION ${MINIUPNPC_API_VERSION})
-  target_link_libraries (upnpc-shared ${LDLIBS})
-  set (UPNPC_INSTALL_TARGETS ${UPNPC_INSTALL_TARGETS} upnpc-shared)
-  set (UPNPC_LIBRARY_TARGET upnpc-shared)
-endif (UPNPC_BUILD_SHARED)
+  add_library (libminiupnpc-shared SHARED ${MINIUPNPC_SOURCES})
+  target_include_directories (libminiupnpc-shared PUBLIC
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+    $<INSTALL_INTERFACE:include/miniupnpc>)
+  add_library (miniupnpc::miniupnpc ALIAS libminiupnpc-shared)
+  set_target_properties (libminiupnpc-shared PROPERTIES EXPORT_NAME miniupnpc)
+  set_target_properties (libminiupnpc-shared PROPERTIES OUTPUT_NAME "miniupnpc")
+  set_target_properties (libminiupnpc-shared PROPERTIES VERSION ${PROJECT_VERSION})
+  set_target_properties (libminiupnpc-shared PROPERTIES SOVERSION ${MINIUPNPC_API_VERSION})
+  target_link_libraries (libminiupnpc-shared PRIVATE miniupnpc-private)
+  target_compile_definitions(libminiupnpc-shared PRIVATE MINIUPNP_EXPORTS)
+
+  target_include_directories(libminiupnpc-shared INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+  if (WIN32)
+    target_link_libraries(libminiupnpc-shared INTERFACE ws2_32 iphlpapi)
+  endif()
+
+  if (NOT UPNPC_NO_INSTALL)
+    install (TARGETS libminiupnpc-shared
+      EXPORT libminiupnpc-shared
+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+      LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+    install (EXPORT libminiupnpc-shared
+      DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/miniupnpc"
+      NAMESPACE miniupnpc::)
+  endif()
+
+  if (UPNPC_BUILD_SAMPLE)
+    add_executable (upnpc-shared src/upnpc.c)
+    target_link_libraries (upnpc-shared PRIVATE libminiupnpc-shared)
+    target_include_directories(upnpc-shared PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
+    if (NOT UPNPC_NO_INSTALL)
+      install (TARGETS upnpc-shared
+               RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+    endif()
+  endif ()
+
+  add_executable (listdevices src/listdevices.c)
+  target_link_libraries (listdevices PRIVATE libminiupnpc-shared)
+  target_include_directories(listdevices PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
+  if (NOT UPNPC_NO_INSTALL)
+    install (TARGETS listdevices
+             RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+  endif()
+endif ()
 
 if (UPNPC_BUILD_TESTS)
-  add_executable (testminixml testminixml.c minixml.c igd_desc_parse.c)
-  target_link_libraries (testminixml ${LDLIBS})
+  add_library(miniupnpc-tests INTERFACE)
+  target_link_libraries(miniupnpc-tests INTERFACE miniupnpc-private)
+  target_compile_definitions(miniupnpc-tests INTERFACE MINIUPNP_STATICLIB)
 
-  add_executable (minixmlvalid minixmlvalid.c minixml.c)
-  target_link_libraries (minixmlvalid ${LDLIBS})
+  add_executable (testminixml src/testminixml.c src/minixml.c src/igd_desc_parse.c)
+  target_include_directories (testminixml PRIVATE
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
+  target_link_libraries (testminixml PRIVATE miniupnpc-tests)
 
-  add_executable (testupnpreplyparse testupnpreplyparse.c
-                                     minixml.c upnpreplyparse.c)
-  target_link_libraries (testupnpreplyparse ${LDLIBS})
+  add_executable (minixmlvalid src/minixmlvalid.c src/minixml.c)
+  target_link_libraries (minixmlvalid PRIVATE miniupnpc-tests)
 
-  add_executable (testigddescparse testigddescparse.c
-                                   igd_desc_parse.c minixml.c miniupnpc.c miniwget.c minissdpc.c
-                                   upnpcommands.c upnpreplyparse.c minisoap.c connecthostport.c
-                                   portlistingparse.c
+  add_executable (testupnpreplyparse src/testupnpreplyparse.c
+                                     src/minixml.c src/upnpreplyparse.c)
+  target_include_directories (testupnpreplyparse PRIVATE
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
+  target_link_libraries (testupnpreplyparse PRIVATE miniupnpc-tests)
+
+  add_executable (testigddescparse src/testigddescparse.c
+                                   src/igd_desc_parse.c src/minixml.c src/miniupnpc.c src/miniwget.c src/minissdpc.c
+                                   src/upnpcommands.c src/upnpreplyparse.c src/minisoap.c src/connecthostport.c
+                                   src/portlistingparse.c src/receivedata.c src/addr_is_reserved.c
+  )
+  target_include_directories (testigddescparse PRIVATE
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
+  target_link_libraries (testigddescparse PRIVATE miniupnpc-tests)
+
+  add_executable (testminiwget src/testminiwget.c
+                               src/miniwget.c src/miniupnpc.c src/minisoap.c src/upnpcommands.c src/minissdpc.c
+                               src/upnpreplyparse.c src/minixml.c src/igd_desc_parse.c src/connecthostport.c
+                               src/portlistingparse.c src/receivedata.c src/addr_is_reserved.c
   )
-  target_link_libraries (testigddescparse ${LDLIBS})
+  target_include_directories (testminiwget PRIVATE
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
+  target_link_libraries (testminiwget PRIVATE miniupnpc-tests)
 
-  add_executable (testminiwget testminiwget.c
-                               miniwget.c miniupnpc.c minisoap.c upnpcommands.c minissdpc.c
-                               upnpreplyparse.c minixml.c igd_desc_parse.c connecthostport.c
-                               portlistingparse.c
+  add_executable (testaddr_is_reserved src/testaddr_is_reserved.c
+                                       src/addr_is_reserved.c
   )
-  target_link_libraries (testminiwget ${LDLIBS})
+  target_link_libraries (testaddr_is_reserved PRIVATE miniupnpc-tests)
+
+  add_executable (testportlistingparse src/testportlistingparse.c
+                                       src/minixml.c src/portlistingparse.c)
+  target_include_directories (testportlistingparse PRIVATE
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
+  target_link_libraries (testportlistingparse PRIVATE miniupnpc-tests)
+
+  add_executable (minihttptestserver src/minihttptestserver.c)
 
 # set (UPNPC_INSTALL_TARGETS ${UPNPC_INSTALL_TARGETS} testminixml minixmlvalid testupnpreplyparse testigddescparse testminiwget)
-endif (UPNPC_BUILD_TESTS)
+  include(CTest)
+  add_test(NAME validateminixml
+           COMMAND minixmlvalid)
+  add_test(NAME validateminiwget
+           COMMAND ${CMAKE_SOURCE_DIR}/testminiwget.sh)
+  set_property(TEST validateminiwget
+               PROPERTY ENVIRONMENT
+               TESTSERVER=${CMAKE_BINARY_DIR}/minihttptestserver
+               TESTMINIWGET=${CMAKE_BINARY_DIR}/testminiwget)
+  add_test(NAME validateupnpreplyparse
+           COMMAND ${CMAKE_SOURCE_DIR}/testupnpreplyparse.sh
+           WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
+  set_property(TEST validateupnpreplyparse
+               PROPERTY ENVIRONMENT
+               TESTUPNPREPLYPARSE=${CMAKE_BINARY_DIR}/testupnpreplyparse)
+  add_test(NAME validateportlistingparse
+           COMMAND testportlistingparse)
+  add_test(NAME validateigddescparse1
+           COMMAND testigddescparse new_LiveBox_desc.xml new_LiveBox_desc.values
+           WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/testdesc)
+  add_test(NAME validateigddescparse2
+           COMMAND testigddescparse linksys_WAG200G_desc.xml linksys_WAG200G_desc.values
+           WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/testdesc)
+  add_test(NAME validateaddr_is_reserved
+           COMMAND testaddr_is_reserved)
 
+endif ()
 
-install (TARGETS ${UPNPC_INSTALL_TARGETS}
-  RUNTIME DESTINATION bin
-  LIBRARY DESTINATION lib${LIB_SUFFIX}
-  ARCHIVE DESTINATION lib${LIB_SUFFIX}
-)
-install (FILES
-	miniupnpc.h
-  miniwget.h
-  upnpcommands.h
-  igd_desc_parse.h
-  upnpreplyparse.h
-  upnperrors.h
-  declspec.h
-  DESTINATION include/miniupnpc
-)
+configure_file(miniupnpc.pc.in miniupnpc.pc @ONLY)
+
+if (NOT UPNPC_NO_INSTALL)
+  install (FILES
+    include/miniupnpc.h
+    include/miniwget.h
+    include/upnpcommands.h
+    include/igd_desc_parse.h
+    include/upnpreplyparse.h
+    include/upnperrors.h
+    include/upnpdev.h
+    include/miniupnpctypes.h
+    include/portlistingparse.h
+    include/miniupnpc_declspec.h
+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/miniupnpc
+  )
+
+  install(FILES miniupnpc-config.cmake
+    DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/miniupnpc
+  )
 
-set (CONFIGURED YES CACHE INTERNAL "")
+  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/miniupnpc.pc
+    DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+  )
+
+  install(FILES man3/miniupnpc.3
+    DESTINATION ${CMAKE_INSTALL_MANDIR}/man3
+  )
+
+  install(FILES external-ip.sh
+    TYPE BIN
+  )
+endif()
 
-# vim: ts=2:sw=2
+# vim: ts=2:sw=2:expandtab
diff --git a/libs/miniupnpc/Changelog.txt b/libs/miniupnpc/Changelog.txt
index 70b656498e..595b4f93d0 100644
--- a/libs/miniupnpc/Changelog.txt
+++ b/libs/miniupnpc/Changelog.txt
@@ -1,6 +1,343 @@
-$Id: Changelog.txt,v 1.152 2011/07/25 18:02:11 nanard Exp $
+$Id: Changelog.txt,v 1.256 2023/06/11 23:23:29 nanard Exp $
 miniUPnP client Changelog.
 
+2023/06/05:
+  GetListOfPortMappings NewStartPort 0 => 1
+
+2023/05/30:
+  CheckPinholeWorking is optional
+  add 60x errors from UPnP Device Architecture
+
+2023/01/04:
+  cmake: install binaries, man pages and external-ip.sh
+
+VERSION 2.2.4 : released 2022/10/21
+
+2022/02/20:
+  upnpc: use of @ to replace local lan address
+
+2021/11/09:
+  python module : Allow to specify the root description url
+
+VERSION 2.2.3 : released 2021/09/28
+
+2021/08/13:
+  Change directory structure : include/ and src/ directories.
+
+VERSION 2.2.2 : released 2021/03/03
+
+2021/01/15:
+  miniupnpcmodule.c: throw an exception in UPnP_discover()
+
+2020/12/30:
+  Fix usage of IP_MULTICAST_IF with struct ip_mreqn
+
+VERSION 2.2.1 : released 2020/12/20
+
+2020/11/30:
+  Add miniupnpc.rc for .dll description
+
+VERSION 2.2.0 : released 2020/11/09
+
+2020/09/24:
+  Check properly for reserved IP addresses
+
+2020/09/23:
+  prevent infinite loop in upnpDiscover()
+
+2020/02/16:
+  Add Haiku support
+
+2019/10/22:
+  testminiwget.sh can use either "ip addr" or "ifconfig -a
+
+2019/10/13:
+  fix UPNP_GetValidIGD() when several devices are found
+  which are reachable from != local address
+
+2019/08/24:
+  Allow Remote Host on upnpc command line
+  fix error 708 description in strupnperror()
+
+2019/04/05:
+  Fix memory leak in upnpreplyparse.c with NewPortListing element
+
+2019/03/10:
+  connecthostport.c: Code simplification, error trace fix
+
+2019/01/23:
+  set timeout for select() in connecthostport()
+
+2018/10/31:
+  miniupnpcmodule.c: check return of WSAStartup()
+
+2018/07/14:
+  Fix and improve MSVC project :
+    Add Dll configurations
+    improve genminiupnpcstrings.vbs
+
+2018/06/18:
+  Fixes for windows 64-bits.
+
+VERSION 2.1 : released 2018/05/07
+
+2018/05/07:
+  CMake Modernize and cleanup CMakeLists.txt
+  Update MS Visual Studio projects
+
+2018/04/30:
+  listdevices: show devices sorted by XML desc URL
+
+2018/04/26:
+  Small fix in miniupnpcmodule.c (python module)
+  Support cross compiling in Makefile.mingw
+
+2018/04/06:
+  Use SOCKET type instead of int (for Win64 compilation)
+  Increments API_VERSION to 17
+
+2018/02/22:
+  Disable usage of MiniSSDPd when using -m option
+
+2017/12/11:
+  Fix buffer over run in minixml.c
+  Fix uninitialized variable access in upnpreplyparse.c
+
+2017/05/05:
+  Fix CVE-2017-8798   Thanks to tin/Team OSTStrom
+
+2016/11/11:
+  check strlen before memcmp in XML parsing portlistingparse.c
+  fix build under SOLARIS and CYGWIN
+
+2016/10/11:
+  Add python 3 compatibility to IGD test
+
+VERSION 2.0 : released 2016/04/19
+
+2016/01/24:
+  change miniwget to return HTTP status code
+  increments API_VERSION to 16
+
+2016/01/22:
+  Improve UPNPIGD_IsConnected() to check if WAN address is not private.
+  parse HTTP response status line in miniwget.c
+
+2015/10/26:
+  snprintf() overflow check. check overflow in simpleUPnPcommand2()
+
+2015/10/25:
+  fix compilation with old macs
+  fix compilation with mingw32 (for Appveyor)
+  fix python module for python <= 2.3
+
+2015/10/08:
+  Change sameport to localport
+    see https://github.com/miniupnp/miniupnp/pull/120
+  increments API_VERSION to 15
+
+2015/09/15:
+  Fix buffer overflow in igd_desc_parse.c/IGDstartelt()
+    Discovered by Aleksandar Nikolic of Cisco Talos
+
+2015/08/28:
+  move ssdpDiscoverDevices() to minissdpc.c
+
+2015/08/27:
+  avoid unix socket leak in getDevicesFromMiniSSDPD()
+
+2015/08/16:
+  Also accept "Up" as ConnectionStatus value
+
+2015/07/23:
+  split getDevicesFromMiniSSDPD
+  add ttl argument to upnpDiscover() functions
+  increments API_VERSION to 14
+
+2015/07/22:
+  Read USN from SSDP messages.
+
+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:
@@ -236,7 +573,7 @@ VERSION 1.2 :
   small modif to make Clang happy :)
 
 2008/07/17:
-  #define SOAPPREFIX "s" in miniupnpc.c in order to remove SOAP-ENV... 
+  #define SOAPPREFIX "s" in miniupnpc.c in order to remove SOAP-ENV...
 
 2008/07/14:
   include declspec.h in installation (to /usr/include/miniupnpc)
@@ -258,7 +595,7 @@ VERSION 1.1 :
   improved python module error/exception reporting.
 
 2008/04/23:
-  Completely rewrite igd_desc_parse.c in order to be compatible with 
+  Completely rewrite igd_desc_parse.c in order to be compatible with
   Linksys WAG200G
   Added testigddescparse
   updated python module
@@ -281,7 +618,7 @@ VERSION 1.0 :
   improved make install :)
 
 2007/12/22:
-  Adding upnperrors.c/h to provide a strupnperror() function 
+  Adding upnperrors.c/h to provide a strupnperror() function
   used to translate UPnP error codes to string.
 
 2007/12/19:
@@ -363,7 +700,7 @@ VERSION 1.0 :
   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"
+  changed MINIUPNPC_URL_MAXSIZE to 128 to accommodate the "BT Voyager 210"
 
 2007/03/19:
   cleanup in miniwget.c
diff --git a/libs/miniupnpc/LICENSE b/libs/miniupnpc/LICENSE
index 2434c86e40..6eff8d2683 100644
--- a/libs/miniupnpc/LICENSE
+++ b/libs/miniupnpc/LICENSE
@@ -1,27 +1,29 @@
-MiniUPnPc
-Copyright (c) 2005-2011, Thomas BERNARD 
+BSD 3-Clause License
+
+Copyright (c) 2005-2023, 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.
+1. Redistributions of source code must retain the above copyright notice, this
+   list of conditions and the following disclaimer.
+
+2. 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.
+
+3. Neither the name of the copyright holder nor the names of its
+   contributors may 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.
-
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER 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/libs/miniupnpc/MANIFEST.in b/libs/miniupnpc/MANIFEST.in
index 54b86f95e3..84102e7285 100644
--- a/libs/miniupnpc/MANIFEST.in
+++ b/libs/miniupnpc/MANIFEST.in
@@ -1,5 +1,10 @@
 include README
-include miniupnpcmodule.c
+include VERSION
+include LICENSE
+include src/miniupnpcmodule.c
 include setup.py
-include *.h
-include libminiupnpc.a
+include Makefile
+include src/*.[ch]
+include include/*.h
+include *.h.in
+include *.sh
diff --git a/libs/miniupnpc/Makefile b/libs/miniupnpc/Makefile
index 2f46e6d198..a19363ad5c 100644
--- a/libs/miniupnpc/Makefile
+++ b/libs/miniupnpc/Makefile
@@ -1,214 +1,396 @@
-# $Id: Makefile,v 1.81 2011/06/21 15:24:14 nanard Exp $
+# $Id: Makefile,v 1.148 2022/10/19 22:46:06 nanard Exp $
 # MiniUPnP Project
 # http://miniupnp.free.fr/
-# (c) 2005-2011 Thomas Bernard
+# https://miniupnp.tuxfamily.org/
+# https://github.com/miniupnp/miniupnp
+# (c) 2005-2022 Thomas Bernard
 # to install use :
-# $ PREFIX=/tmp/dummylocation make install
+# $ make DESTDIR=/tmp/dummylocation install
 # or
 # $ INSTALLPREFIX=/usr/local make install
-# or 
-# make install (will go to /usr/bin, /usr/lib, etc...)
-OS = $(shell uname -s)
+# or
+# $ make install (default INSTALLPREFIX is /usr)
+OS = $(shell $(CC) -dumpmachine)
+VERSION = $(shell cat VERSION)
+
+ifneq (, $(findstring darwin, $(OS)))
+JARSUFFIX=mac
+LIBTOOL ?= $(shell which libtool)
+endif
+ifneq (, $(findstring linux, $(OS)))
+JARSUFFIX=linux
+endif
+ifneq (, $(findstring mingw, $(OS))$(findstring cygwin, $(OS))$(findstring msys, $(OS)))
+JARSUFFIX=win32
+endif
+
+HAVE_IPV6 ?= yes
+export HAVE_IPV6
+
+# directories
+INCDIR = include
+SRCDIR = src
+BUILD = build
+
 CC ?= gcc
 #AR = gar
-#CFLAGS = -O -Wall -g -DDEBUG
-CFLAGS ?= -O -Wall -DNDEBUG -DMINIUPNPC_SET_SOCKET_TIMEOUT -Wstrict-prototypes
-# -DNO_GETADDRINFO
+#CFLAGS = -O -g
+# to debug :
+ASANFLAGS = -fsanitize=address -fsanitize=undefined -fsanitize=leak
+#CFLAGS = -g -ggdb -O0 $(ASANFLAGS) -fno-omit-frame-pointer
+#CPPFLAGS += -DDEBUG
+#LDFLAGS += $(ASANFLAGS)
+CFLAGS ?= -O
+CFLAGS += -Wall
+CFLAGS += -W -Wstrict-prototypes
+CFLAGS += -fno-common
+CPPFLAGS += -I$(BUILD)
+CPPFLAGS += -DMINIUPNPC_SET_SOCKET_TIMEOUT
+CPPFLAGS += -DMINIUPNPC_GET_SRC_ADDR
+CPPFLAGS += -D_BSD_SOURCE
+CPPFLAGS += -D_DEFAULT_SOURCE
+ifneq (, $(findstring netbsd, $(OS)))
+CPPFLAGS += -D_NETBSD_SOURCE
+endif
+ifeq (, $(findstring freebsd, $(OS))$(findstring darwin, $(OS)))
+#CPPFLAGS += -D_POSIX_C_SOURCE=200112L
+CPPFLAGS += -D_XOPEN_SOURCE=600
+endif
+#CFLAGS += -ansi
+#CPPFLAGS += -DNO_GETADDRINFO
+
+DEPFLAGS = -MM -MG
+
+MKDIR = mkdir -p
 INSTALL = install
 SH = /bin/sh
 JAVA = java
 # see http://code.google.com/p/jnaerator/
-JNAERATOR = jnaerator-0.9.3.jar
-#following libs are needed on Solaris
-#LDLIBS=-lsocket -lnsl -lresolv
+#JNAERATOR = jnaerator-0.9.7.jar
+#JNAERATOR = jnaerator-0.9.8-shaded.jar
+#JNAERATORARGS = -library miniupnpc
+#JNAERATOR = jnaerator-0.10-shaded.jar
+#JNAERATOR = jnaerator-0.11-shaded.jar
+# https://repo1.maven.org/maven2/com/nativelibs4java/jnaerator/0.12/jnaerator-0.12-shaded.jar
+JNAERATOR = jnaerator-0.12-shaded.jar
+JNAERATORARGS = -mode StandaloneJar -runtime JNAerator -library miniupnpc
+#JNAERATORBASEURL = http://jnaerator.googlecode.com/files/
+JNAERATORBASEURL = https://repo1.maven.org/maven2/com/nativelibs4java/jnaerator/0.12
+
+ifneq (, $(findstring sun, $(OS))$(findstring solaris, $(OS)))
+  LDLIBS=-lsocket -lnsl -lresolv
+  CPPFLAGS += -D__EXTENSIONS__
+  CFLAGS += -std=c99
+endif
 
 # APIVERSION is used to build SONAME
-APIVERSION = 8
+APIVERSION = 17
 
-SRCS = igd_desc_parse.c miniupnpc.c minixml.c minisoap.c miniwget.c \
-       upnpc.c upnpcommands.c upnpreplyparse.c testminixml.c \
-	   minixmlvalid.c testupnpreplyparse.c minissdpc.c \
-	   upnperrors.c testigddescparse.c testminiwget.c \
-       connecthostport.c portlistringparse.c receivedata.c
+SRCS = $(wildcard $(SRCDIR)/*.c)
 
-LIBOBJS = miniwget.o minixml.o igd_desc_parse.o minisoap.o \
+LIBOBJS = $(addprefix $(BUILD)/,miniwget.o minixml.o igd_desc_parse.o minisoap.o \
           miniupnpc.o upnpreplyparse.o upnpcommands.o upnperrors.o \
-          connecthostport.o portlistingparse.o receivedata.o
+          connecthostport.o portlistingparse.o receivedata.o upnpdev.o \
+          addr_is_reserved.o)
 
-ifneq ($(OS), AmigaOS)
-CFLAGS := -fPIC $(CFLAGS)
-LIBOBJS := $(LIBOBJS) minissdpc.o
-endif
+BUILDINCLUDES = $(addprefix $(BUILD)/, miniupnpcstrings.h)
 
-OBJS = $(patsubst %.c,%.o,$(SRCS))
+OBJS = $(patsubst $(SRCDIR)/%.c,$(BUILD)/%.o,$(SRCS))
+DEPS = $(patsubst $(SRCDIR)/%.c,$(BUILD)/%.d,$(SRCS))
 
 # HEADERS to install
-HEADERS = miniupnpc.h miniwget.h upnpcommands.h igd_desc_parse.h \
-          upnpreplyparse.h upnperrors.h miniupnpctypes.h \
-          portlistingparse.h \
-          declspec.h
+CPPFLAGS += -I$(INCDIR)
+HEADERS = $(wildcard $(INCDIR)/*.h)
 
 # library names
-LIBRARY = libminiupnpc.a
-ifeq ($(OS), Darwin)
-  SHAREDLIBRARY = libminiupnpc.dylib
-  SONAME = $(basename $(SHAREDLIBRARY)).$(APIVERSION).dylib
-  CFLAGS := -DMACOSX -D_DARWIN_C_SOURCE $(CFLAGS)
-else 
-  SHAREDLIBRARY = libminiupnpc.so
-  SONAME = $(SHAREDLIBRARY).$(APIVERSION)
+LIBRARY = $(BUILD)/libminiupnpc.a
+ifneq (, $(findstring darwin, $(OS)))
+  SHAREDLIBRARY = $(BUILD)/libminiupnpc.dylib
+  SONAME = $(notdir $(basename $(SHAREDLIBRARY))).$(APIVERSION).dylib
+  CPPFLAGS += -D_DARWIN_C_SOURCE
+else
+ifeq ($(JARSUFFIX), win32)
+  SHAREDLIBRARY = $(BUILD)/miniupnpc.dll
+else
+  # Linux/BSD/etc.
+  SHAREDLIBRARY = $(BUILD)/libminiupnpc.so
+  SONAME = $(notdir $(SHAREDLIBRARY)).$(APIVERSION)
 endif
+endif
+
+EXECUTABLES = $(addprefix $(BUILD)/, upnpc-static listdevices)
+EXECUTABLES_ADDTESTS = $(addprefix $(BUILD)/, testminixml minixmlvalid \
+    testupnpreplyparse testigddescparse testminiwget testportlistingparse)
 
-EXECUTABLES = upnpc-static
-EXECUTABLES_ADDTESTS = testminixml minixmlvalid testupnpreplyparse \
-			  testigddescparse testminiwget
+TESTMINIXMLOBJS = $(addprefix $(BUILD)/, minixml.o igd_desc_parse.o testminixml.o)
 
-TESTMINIXMLOBJS = minixml.o igd_desc_parse.o testminixml.o
+TESTMINIWGETOBJS = $(addprefix $(BUILD)/, miniwget.o testminiwget.o connecthostport.o receivedata.o)
 
-TESTMINIWGETOBJS = miniwget.o testminiwget.o connecthostport.o receivedata.o
+TESTUPNPREPLYPARSE = $(addprefix $(BUILD)/, testupnpreplyparse.o minixml.o upnpreplyparse.o)
 
-TESTUPNPREPLYPARSE = testupnpreplyparse.o minixml.o upnpreplyparse.o
+TESTPORTLISTINGPARSE = $(addprefix $(BUILD)/, testportlistingparse.o minixml.o portlistingparse.o)
 
-TESTIGDDESCPARSE = testigddescparse.o igd_desc_parse.o minixml.o \
+TESTADDR_IS_RESERVED = $(addprefix $(BUILD)/, testaddr_is_reserved.o addr_is_reserved.o)
+
+TESTIGDDESCPARSE = $(addprefix $(BUILD)/, testigddescparse.o igd_desc_parse.o minixml.o \
                    miniupnpc.o miniwget.o upnpcommands.o upnpreplyparse.o \
                    minisoap.o connecthostport.o receivedata.o \
-                   portlistingparse.o
+                   portlistingparse.o addr_is_reserved.o)
 
-ifneq ($(OS), AmigaOS)
-EXECUTABLES := $(EXECUTABLES) upnpc-shared
-TESTMINIWGETOBJS := $(TESTMINIWGETOBJS) minissdpc.o
-TESTIGDDESCPARSE := $(TESTIGDDESCPARSE) minissdpc.o
+ifeq (, $(findstring amiga, $(OS)))
+ifeq (, $(findstring mingw, $(OS))$(findstring cygwin, $(OS))$(findstring msys, $(OS)))
+CFLAGS += -fPIC
+endif
+EXECUTABLES += $(BUILD)/upnpc-shared
+TESTMINIWGETOBJS += $(BUILD)/minissdpc.o
+TESTIGDDESCPARSE += $(BUILD)/minissdpc.o
+LIBOBJS += $(BUILD)/minissdpc.o
 endif
 
+LIBDIR ?= lib
 # install directories
-INSTALLPREFIX ?= $(PREFIX)/usr
+ifeq ($(strip $(PREFIX)),)
+INSTALLPREFIX ?= /usr
+else
+INSTALLPREFIX ?= $(PREFIX)
+endif
 INSTALLDIRINC = $(INSTALLPREFIX)/include/miniupnpc
-INSTALLDIRLIB = $(INSTALLPREFIX)/lib
+INSTALLDIRLIB = $(INSTALLPREFIX)/$(LIBDIR)
 INSTALLDIRBIN = $(INSTALLPREFIX)/bin
+INSTALLDIRMAN = $(INSTALLPREFIX)/share/man
+PKGCONFIGDIR = $(INSTALLDIRLIB)/pkgconfig
 
 FILESTOINSTALL = $(LIBRARY) $(EXECUTABLES)
-ifneq ($(OS), AmigaOS)
-FILESTOINSTALL := $(FILESTOINSTALL) $(SHAREDLIBRARY)
+ifeq (, $(findstring amiga, $(OS)))
+FILESTOINSTALL += $(SHAREDLIBRARY) $(BUILD)/miniupnpc.pc
 endif
 
 
-.PHONY:	install clean depend all check everything \
-	installpythonmodule
-#	validateminixml validateminiwget
+.PHONY:	install clean depend all check test everything \
+	installpythonmodule updateversion
 
 all:	$(LIBRARY) $(EXECUTABLES)
 
-check:	validateminixml validateminiwget
+test:	check
+
+check:	validateminixml validateminiwget validateupnpreplyparse \
+	validateportlistingparse validateigddescparse validateaddr_is_reserved
 
 everything:	all $(EXECUTABLES_ADDTESTS)
 
-pythonmodule:	$(LIBRARY) miniupnpcmodule.c setup.py
-	python setup.py build
+pythonmodule:	$(LIBRARY) $(SRCDIR)/miniupnpcmodule.c setup.py
+	MAKE=$(MAKE) python setup.py build
 	touch $@
 
 installpythonmodule:	pythonmodule
-	python setup.py install
+	MAKE=$(MAKE) python setup.py install
+
+pythonmodule3:	$(LIBRARY) $(SRCDIR)/miniupnpcmodule.c setup.py
+	MAKE=$(MAKE) python3 setup.py build
+	touch $@
 
-validateminixml:	minixmlvalid
+installpythonmodule3:	pythonmodule3
+	MAKE=$(MAKE) python3 setup.py install
+
+validateminixml:	$(BUILD)/minixmlvalid
 	@echo "minixml validation test"
-	./minixmlvalid
+	./$<
 	touch $@
 
-validateminiwget:	testminiwget minihttptestserver testminiwget.sh
+validateminiwget:	testminiwget.sh $(BUILD)/testminiwget $(BUILD)/minihttptestserver
 	@echo "miniwget validation test"
-	./testminiwget.sh
+	./$<
+	touch $@
+
+validateupnpreplyparse:	testupnpreplyparse.sh $(BUILD)/testupnpreplyparse
+	@echo "upnpreplyparse validation test"
+	./$<
+	touch $@
+
+validateportlistingparse:	$(BUILD)/testportlistingparse
+	@echo "portlistingparse validation test"
+	./$<
+	touch $@
+
+validateigddescparse:	$(BUILD)/testigddescparse
+	@echo "igd desc parse validation test"
+	./$< testdesc/new_LiveBox_desc.xml testdesc/new_LiveBox_desc.values
+	./$< testdesc/linksys_WAG200G_desc.xml testdesc/linksys_WAG200G_desc.values
+	touch $@
+
+validateaddr_is_reserved:	$(BUILD)/testaddr_is_reserved
+	@echo "addr_is_reserved() validation test"
+	./$<
 	touch $@
 
 clean:
-	$(RM) $(LIBRARY) $(SHAREDLIBRARY) $(EXECUTABLES) $(OBJS) miniupnpcstrings.h
+	$(RM) $(LIBRARY) $(SHAREDLIBRARY) $(EXECUTABLES) $(OBJS) $(BUILDINCLUDES)
+	$(RM) $(EXECUTABLES_ADDTESTS)
 	# clean python stuff
-	$(RM) pythonmodule validateminixml
+	$(RM) pythonmodule pythonmodule3
+	$(RM) validateminixml validateminiwget validateupnpreplyparse
+	$(RM) validateigddescparse
+	$(RM) minihttptestserver
+	$(RM) testaddr_is_reserved
 	$(RM) -r build/ dist/
 	#python setup.py clean
-
-install:	$(FILESTOINSTALL)
-	$(INSTALL) -d $(INSTALLDIRINC)
-	$(INSTALL) -m 644 $(HEADERS) $(INSTALLDIRINC)
-	$(INSTALL) -d $(INSTALLDIRLIB)
-	$(INSTALL) -m 644 $(LIBRARY) $(INSTALLDIRLIB)
-ifneq ($(OS), AmigaOS)
-	$(INSTALL) -m 644 $(SHAREDLIBRARY) $(INSTALLDIRLIB)/$(SONAME)
-	ln -fs $(SONAME) $(INSTALLDIRLIB)/$(SHAREDLIBRARY)
-endif
-	$(INSTALL) -d $(INSTALLDIRBIN)
-ifeq ($(OS), AmigaOS)
-	$(INSTALL) -m 755 upnpc-static $(INSTALLDIRBIN)/upnpc
+	# clean jnaerator stuff
+	$(RM) _jnaerator.* java/miniupnpc_$(OS).jar
+
+distclean: clean
+	$(RM) $(JNAERATOR) java/*.jar java/*.class out.errors.txt
+
+updateversion:	include/miniupnpc.h
+	cp $< $<.bak
+	sed 's/\(.*MINIUPNPC_API_VERSION\s\+\)[0-9]\+/\1$(APIVERSION)/' < $<.bak > $<
+
+install:	updateversion $(FILESTOINSTALL)
+	$(INSTALL) -d $(DESTDIR)$(INSTALLDIRINC)
+	$(INSTALL) -m 644 $(HEADERS) $(DESTDIR)$(INSTALLDIRINC)
+	$(INSTALL) -d $(DESTDIR)$(INSTALLDIRLIB)
+	$(INSTALL) -m 644 $(LIBRARY) $(DESTDIR)$(INSTALLDIRLIB)
+ifeq (, $(findstring amiga, $(OS)))
+	$(INSTALL) -m 644 $(SHAREDLIBRARY) $(DESTDIR)$(INSTALLDIRLIB)/$(SONAME)
+	ln -fs $(SONAME) $(DESTDIR)$(INSTALLDIRLIB)/$(notdir $(SHAREDLIBRARY))
+	$(INSTALL) -d $(DESTDIR)$(PKGCONFIGDIR)
+	$(INSTALL) -m 644 $(BUILD)/miniupnpc.pc $(DESTDIR)$(PKGCONFIGDIR)
+endif
+	$(INSTALL) -d $(DESTDIR)$(INSTALLDIRBIN)
+ifneq (, $(findstring amiga, $(OS)))
+	$(INSTALL) -m 755 $(BUILD)/upnpc-static $(DESTDIR)$(INSTALLDIRBIN)/upnpc
 else
-	$(INSTALL) -m 755 upnpc-shared $(INSTALLDIRBIN)/upnpc
+	$(INSTALL) -m 755 $(BUILD)/upnpc-shared $(DESTDIR)$(INSTALLDIRBIN)/upnpc
+endif
+	$(INSTALL) -m 755 external-ip.sh $(DESTDIR)$(INSTALLDIRBIN)/external-ip
+ifeq (, $(findstring amiga, $(OS)))
+	$(INSTALL) -d $(DESTDIR)$(INSTALLDIRMAN)/man3
+	$(INSTALL) -m 644 man3/miniupnpc.3 $(DESTDIR)$(INSTALLDIRMAN)/man3/miniupnpc.3
+ifneq (, $(findstring linux, $(OS)))
+	gzip -f $(DESTDIR)$(INSTALLDIRMAN)/man3/miniupnpc.3
+endif
 endif
-	$(INSTALL) -m 755 external-ip.sh $(INSTALLDIRBIN)/external-ip
 
-cleaninstall:
-	$(RM) -r $(INSTALLDIRINC)
-	$(RM) $(INSTALLDIRLIB)/$(LIBRARY)
-	$(RM) $(INSTALLDIRLIB)/$(SHAREDLIBRARY)
+install-static:	updateversion $(FILESTOINSTALL)
+	$(INSTALL) -d $(DESTDIR)$(INSTALLDIRINC)
+	$(INSTALL) -m 644 $(HEADERS) $(DESTDIR)$(INSTALLDIRINC)
+	$(INSTALL) -d $(DESTDIR)$(INSTALLDIRLIB)
+	$(INSTALL) -m 644 $(LIBRARY) $(DESTDIR)$(INSTALLDIRLIB)
+	$(INSTALL) -d $(DESTDIR)$(INSTALLDIRBIN)
+	$(INSTALL) -m 755 external-ip.sh $(DESTDIR)$(INSTALLDIRBIN)/external-ip
 
-depend:
-	makedepend -Y -- $(CFLAGS) -- $(SRCS) 2>/dev/null
+cleaninstall:
+	$(RM) -r $(DESTDIR)$(INSTALLDIRINC)
+	$(RM) $(DESTDIR)$(INSTALLDIRLIB)/$(LIBRARY)
+	$(RM) $(DESTDIR)$(INSTALLDIRLIB)/$(SHAREDLIBRARY)
+
+$(BUILD)/miniupnpc.pc:	VERSION
+	@$(MKDIR) $(@D)
+	$(RM) $@
+	echo "prefix=$(INSTALLPREFIX)" >> $@
+	echo "exec_prefix=\$${prefix}" >> $@
+	echo "libdir=\$${exec_prefix}/$(LIBDIR)" >> $@
+	echo "includedir=\$${prefix}/include" >> $@
+	echo "" >> $@
+	echo "Name: miniUPnPc" >> $@
+	echo "Description: UPnP IGD client lightweight library" >> $@
+	echo "URL: https://miniupnp.tuxfamily.org/" >> $@
+	echo "Version: $(VERSION)" >> $@
+	echo "Libs: -L\$${libdir} -lminiupnpc" >> $@
+	echo "Cflags: -I\$${includedir}" >> $@
+
+depend:	$(DEPS)
 
 $(LIBRARY):	$(LIBOBJS)
+ifneq (, $(findstring darwin, $(OS)))
+	$(LIBTOOL) -static -o $@ $?
+else
 	$(AR) crs $@ $?
+endif
 
 $(SHAREDLIBRARY):	$(LIBOBJS)
-ifeq ($(OS), Darwin)
-	$(CC) -dynamiclib $(LDFLAGS) -Wl,-install_name,$(SONAME) -o $@ $^ 
+ifneq (, $(findstring darwin, $(OS)))
+#	$(CC) -dynamiclib $(LDFLAGS) -Wl,-install_name,$(SONAME) -o $@ $^
+	$(CC) -dynamiclib $(LDFLAGS) -Wl,-install_name,$(INSTALLDIRLIB)/$(SONAME) -o $@ $^
 else
 	$(CC) -shared $(LDFLAGS) -Wl,-soname,$(SONAME) -o $@ $^
 endif
 
-upnpc-static:	upnpc.o $(LIBRARY) $(LDLIBS)
-	$(CC) $(LDFLAGS) -o $@ $^
+$(BUILD)/%.o:	$(SRCDIR)/%.c $(BUILD)/%.d
+	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
 
-upnpc-shared:	upnpc.o $(SHAREDLIBRARY) $(LDLIBS)
-	$(CC) $(LDFLAGS) -o $@ $^
+$(DEPS):	$(BUILDINCLUDES)
 
-testminixml:	$(TESTMINIXMLOBJS)
+$(BUILD)/%.d:	$(SRCDIR)/%.c
+	@$(MKDIR) $(@D)
+	$(CC) $(CPPFLAGS) $(DEPFLAGS) -MT $@ -o $@ $<
 
-testminiwget:	$(TESTMINIWGETOBJS)
+$(BUILD)/upnpc-static:	$(BUILD)/upnpc.o $(LIBRARY)
+	$(CC) $(LDFLAGS) -o $@ $^ $(LOADLIBES) $(LDLIBS)
 
-minixmlvalid:	minixml.o minixmlvalid.o
+$(BUILD)/upnpc-shared:	$(BUILD)/upnpc.o $(SHAREDLIBRARY)
+	$(CC) $(LDFLAGS) -o $@ $^ $(LOADLIBES) $(LDLIBS)
 
-testupnpreplyparse:	$(TESTUPNPREPLYPARSE)
+$(BUILD)/listdevices:	$(BUILD)/listdevices.o $(LIBRARY)
 
-testigddescparse:	$(TESTIGDDESCPARSE)
+$(BUILD)/testminixml:	$(TESTMINIXMLOBJS)
 
-miniupnpcstrings.h:	miniupnpcstrings.h.in updateminiupnpcstrings.sh
-	$(SH) updateminiupnpcstrings.sh
+$(BUILD)/testminiwget:	$(TESTMINIWGETOBJS)
 
-jar:	$(SHAREDLIBRARY) 
-	$(JAVA) -jar $(JNAERATOR) -library miniupnpc miniupnpc.h declspec.h upnpcommands.h upnpreplyparse.h igd_desc_parse.h miniwget.h upnperrors.h $(SHAREDLIBRARY) -package fr.free.miniupnp -o . -jar java/miniupnpc_$(OS).jar -v
+$(BUILD)/minixmlvalid:	$(addprefix $(BUILD)/, minixml.o minixmlvalid.o)
+
+$(BUILD)/testupnpreplyparse:	$(TESTUPNPREPLYPARSE)
+
+$(BUILD)/testigddescparse:	$(TESTIGDDESCPARSE)
+
+$(BUILD)/testportlistingparse:	$(TESTPORTLISTINGPARSE)
+
+$(BUILD)/testaddr_is_reserved:	$(TESTADDR_IS_RESERVED)
+
+$(BUILD)/miniupnpcstrings.h:	miniupnpcstrings.h.in updateminiupnpcstrings.sh VERSION
+	@$(MKDIR) $(@D)
+	$(SH) updateminiupnpcstrings.sh $@ $<
+
+# ftp tool supplied with OpenBSD can download files from http.
+jnaerator-%.jar:
+	wget $(JNAERATORBASEURL)/$@ || \
+	curl -o $@ $(JNAERATORBASEURL)/$@ || \
+	ftp $(JNAERATORBASEURL)/$@
+
+jar: $(SHAREDLIBRARY)  $(JNAERATOR)
+	$(JAVA) -jar $(JNAERATOR) $(JNAERATORARGS) \
+	miniupnpc.h miniupnpc_declspec.h upnpcommands.h upnpreplyparse.h \
+	igd_desc_parse.h miniwget.h upnperrors.h $(SHAREDLIBRARY) \
+	-package fr.free.miniupnp -o . -jar java/miniupnpc_$(JARSUFFIX).jar -v
+
+mvn_install:
+	mvn install:install-file -Dfile=java/miniupnpc_$(JARSUFFIX).jar \
+	 -DgroupId=com.github \
+	 -DartifactId=miniupnp \
+	 -Dversion=$(VERSION) \
+	 -Dpackaging=jar \
+	 -Dclassifier=$(JARSUFFIX) \
+	 -DgeneratePom=true \
+	 -DcreateChecksum=true
+
+# make .deb packages
+deb: /usr/share/pyshared/stdeb all
+	(python setup.py --command-packages=stdeb.command bdist_deb)
+
+# install .deb packages
+ideb:
+	(sudo dpkg -i deb_dist/*.deb)
+
+/usr/share/pyshared/stdeb: /usr/share/doc/python-all-dev
+	(sudo apt-get install python-stdeb)
+
+/usr/share/doc/python-all-dev:
+	(sudo apt-get install python-all-dev)
 
 minihttptestserver:	minihttptestserver.o
 
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-igd_desc_parse.o: igd_desc_parse.h
-miniupnpc.o: miniupnpc.h declspec.h igd_desc_parse.h minissdpc.h miniwget.h
-miniupnpc.o: minisoap.h minixml.h upnpcommands.h upnpreplyparse.h
-miniupnpc.o: portlistingparse.h miniupnpctypes.h connecthostport.h
-miniupnpc.o: receivedata.h
-minixml.o: minixml.h
-minisoap.o: minisoap.h miniupnpcstrings.h
-miniwget.o: miniupnpcstrings.h miniwget.h declspec.h connecthostport.h
-miniwget.o: receivedata.h
-upnpc.o: miniwget.h declspec.h miniupnpc.h igd_desc_parse.h upnpcommands.h
-upnpc.o: upnpreplyparse.h portlistingparse.h miniupnpctypes.h upnperrors.h
-upnpcommands.o: upnpcommands.h upnpreplyparse.h portlistingparse.h declspec.h
-upnpcommands.o: miniupnpctypes.h miniupnpc.h igd_desc_parse.h
-upnpreplyparse.o: upnpreplyparse.h minixml.h
-testminixml.o: minixml.h igd_desc_parse.h
-minixmlvalid.o: minixml.h
-testupnpreplyparse.o: upnpreplyparse.h
-minissdpc.o: minissdpc.h miniupnpc.h declspec.h igd_desc_parse.h codelength.h
-upnperrors.o: upnperrors.h declspec.h upnpcommands.h upnpreplyparse.h
-upnperrors.o: portlistingparse.h miniupnpctypes.h miniupnpc.h
-upnperrors.o: igd_desc_parse.h
-testigddescparse.o: igd_desc_parse.h minixml.h miniupnpc.h declspec.h
-testminiwget.o: miniwget.h declspec.h
-connecthostport.o: connecthostport.h
-receivedata.o: receivedata.h
+print-%:
+	@echo "$* = $($*)"
+
+ifneq ($(MAKECMDGOALS),clean)
+-include $(DEPS)
+endif
diff --git a/libs/miniupnpc/Makefile.mingw b/libs/miniupnpc/Makefile.mingw
index 2b66211a75..8c7f1c1cb4 100644
--- a/libs/miniupnpc/Makefile.mingw
+++ b/libs/miniupnpc/Makefile.mingw
@@ -1,93 +1,181 @@
-# $Id: Makefile.mingw,v 1.16 2011/04/18 17:39:31 nanard Exp $
+# $Id: Makefile.mingw,v 1.35 2022/10/16 05:28:15 nanard Exp $
 # Miniupnp project.
-# http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
-# (c) 2005-2011 Thomas Bernard
+# http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
+# (c) 2005-2020 Thomas Bernard
 # This Makefile is made for MinGW
 #
-CC = gcc
+# To cross compile on a *nix machine :
+# make -f Makefile.mingw DLLWRAP=mingw32-dllwrap CC=mingw32-gcc AR=mingw32-ar WINDRES=mingw32-windres
+#
+SRCDIR = src
+INCDIR = include
+
+CC ?= gcc
+SETUP_COMPILER_FLAG?=
 DLLWRAP = dllwrap
-#CFLAGS = -Wall -g -DDEBUG -D_WIN32_WINNT=0X501
-CFLAGS = -Wall -Os -DNDEBUG -D_WIN32_WINNT=0X501
-LDLIBS = -lws2_32 -liphlpapi
+WINDRES = windres
 SH = /bin/sh
-# -lwsock32
-# -liphlpapi is used for GetBestRoute()
+ZIP = zip
+ifeq ($(OS),Windows_NT)
+RM = del
+else
+RM = rm -f
+endif
+
+CFLAGS ?= -Os
+CFLAGS += -Wall
+CFLAGS += -W -Wstrict-prototypes
+
+CPPFLAGS += -DNDEBUG -D_WIN32_WINNT=0x501
+CPPFLAGS += -Iinclude
+CPPFLAGS += -I.
+
+# -liphlpapi is needed for GetBestRoute() and GetIpAddrTable()
+LDLIBS = -lws2_32 -liphlpapi
+
 PYTHON=\utils\python25\python
 OBJS=miniwget.o minixml.o igd_desc_parse.o minisoap.o \
+     minissdpc.o \
      miniupnpc.o upnpreplyparse.o upnpcommands.o upnperrors.o \
-     connecthostport.o portlistingparse.o receivedata.o
-OBJSDLL=$(addprefix dll/, $(OBJS))
-
-all:	init upnpc-static upnpc-shared testminixml libminiupnpc.a miniupnpc.dll
-
-init:
-	mkdir dll
-	echo init > init
+     connecthostport.o portlistingparse.o receivedata.o \
+     upnpdev.o addr_is_reserved.o
+OBJSDLL=$(addprefix dll-, $(OBJS)) winres.o
+BINARIES=upnpc-static.exe upnpc-shared.exe \
+         listdevices-static.exe listdevices-shared.exe \
+         miniupnpc.dll libminiupnpc.a \
+         testminixml.exe
+ifneq ($(GITHUB_SHA),)
+COMMITREF=$(GITHUB_SHA)
+else
+ifneq ($(CI_COMMIT_SHORT_SHA),)
+COMMITREF=$(CI_COMMIT_SHORT_SHA)
+else
+COMMITREF=$(shell git rev-parse --short HEAD)
+endif
+endif
+DISTFILE:=$(shell echo "miniupnpc-bin-win32-`cat VERSION`-$(COMMITREF).zip")
+
+LIBDIR ?= lib
+# install directories
+ifeq ($(strip $(PREFIX)),)
+INSTALLPREFIX ?= /usr
+else
+INSTALLPREFIX ?= $(PREFIX)
+endif
+
+.PHONY:	all dist clean
+
+all:	$(BINARIES)
+
+dist:	$(DISTFILE)
 
 clean:
-	$(RM) upnpc testminixml *.o
-	$(RM) dll\*.o
+	$(RM) miniupnpcstrings.h
+	$(RM) *.o
 	$(RM) *.exe
-	$(RM) miniupnpc.dll
+	$(RM) miniupnpc.dll miniupnpc.lib miniupnpc.dll.def
 	$(RM) libminiupnpc.a
+	$(RM) $(DISTFILE)
+
+$(DISTFILE):	$(BINARIES)
+	$(ZIP) $@ *.exe *.dll *.lib *.def *.a LICENSE README Changelog.txt
 
 libminiupnpc.a:	$(OBJS)
 	$(AR) cr $@ $?
 
 pythonmodule:	libminiupnpc.a
-	$(PYTHON) setupmingw32.py build --compiler=mingw32
+	$(PYTHON) setupmingw32.py build $(SETUP_COMPILER_FLAG)
 	$(PYTHON) setupmingw32.py install --skip-build
+	$(PYTHON) setupmingw32.py bdist_wheel --skip-build
 
-miniupnpc.dll:	libminiupnpc.a $(OBJSDLL)
-	$(DLLWRAP) -k --driver-name "$(CC)" \
+miniupnpc.dll:	miniupnpc.def $(OBJSDLL)
+	$(DLLWRAP) -k --driver-name $(CC) \
 	--def miniupnpc.def \
 	--output-def miniupnpc.dll.def \
 	--implib miniupnpc.lib -o $@ \
 	$(OBJSDLL) $(LDLIBS)
 
 miniupnpc.lib:	miniupnpc.dll
-	echo $@ generated with $<
 
-dll/upnpc.o:	upnpc.o
-	echo $@ generated with $<
+%.o:	$(SRCDIR)/%.c
+	$(CC) $(CFLAGS) $(CPPFLAGS) -DMINIUPNP_STATICLIB -c -o $@ $<
 
-.c.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DSTATICLIB -c -o $@ $<
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DMINIUPNP_EXPORTS -c -o dll/$@ $<
+dll-%.o:	$(SRCDIR)/%.c
+	$(CC) $(CFLAGS) $(CPPFLAGS) -DMINIUPNP_EXPORTS -c -o $@ $<
 
-upnpc.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DSTATICLIB -c -o $@ $<
-	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o dll/$@ $<
+%-shared.o:	$(SRCDIR)/%.c
+	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
 
-upnpc-static:	upnpc.o libminiupnpc.a
-	$(CC) -o $@ $^ $(LDLIBS)
+# --enable-stdcall-fixup
+%-static.exe:	%.o libminiupnpc.a
+	$(CC) -static -o $@ $^ $(LDLIBS)
 
-upnpc-shared:	dll/upnpc.o miniupnpc.lib
+%-shared.exe:	%-shared.o miniupnpc.lib
 	$(CC) -o $@ $^ $(LDLIBS)
 
-wingenminiupnpcstrings:	wingenminiupnpcstrings.o
+# To make miniupnpcstrings.h from miniupnpcstrings.h.in we either
+# use a custom executable (if running make under windows) or use
+# sed (if cross compiling from another platform).
+ifeq ($(OS),Windows_NT)
+wingenminiupnpcstrings.exe:	wingenminiupnpcstrings.c
+	$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $^
+
+miniupnpcstrings.h: miniupnpcstrings.h.in wingenminiupnpcstrings.exe VERSION
+	.\wingenminiupnpcstrings.exe $< $@ rc_version.h
+
+rc_version.h:	miniupnpcstrings.h
+else
+miniupnpcstrings.h:	miniupnpcstrings.h.in VERSION
+	sed 's|OS_STRING ".*"|OS_STRING "Windows/Mingw32"|' $< | \
+	sed 's|MINIUPNPC_VERSION_STRING ".*"|MINIUPNPC_VERSION_STRING "$(shell cat VERSION)"|' > $@
+
+rc_version.h:	VERSION
+	echo "#define LIBMINIUPNPC_DOTTED_VERSION \"$(shell cat VERSION)\"" > $@.tmp
+	echo "#define LIBMINIUPNPC_MAJOR_VERSION $(shell cat VERSION|cut -d. -f1)" >> $@.tmp
+	echo "#define LIBMINIUPNPC_MINOR_VERSION $(shell cat VERSION|cut -d. -f2)" >> $@.tmp
+	echo "#define LIBMINIUPNPC_MICRO_VERSION $(shell cat VERSION|cut -d. -f3)" >> $@.tmp
+	mv $@.tmp $@
+endif
+
+miniupnpc.pc:	VERSION
+	$(RM) $@
+	echo "prefix=$(INSTALLPREFIX)" >> $@
+	echo "exec_prefix=\$${prefix}" >> $@
+	echo "libdir=\$${exec_prefix}/$(LIBDIR)" >> $@
+	echo "includedir=\$${prefix}/include" >> $@
+	echo "" >> $@
+	echo "Name: miniUPnPc" >> $@
+	echo "Description: UPnP IGD client lightweight library" >> $@
+	echo "Version: $(shell cat VERSION)" >> $@
+	echo "Libs: -L\$${libdir} -lminiupnpc" >> $@
+	echo "Cflags: -I\$${includedir}" >> $@
+
+winres.o:	miniupnpc.rc rc_version.h
+	$(WINDRES) -D INTERNAL_NAME=\\\"miniupnpc.dll\\0\\\" -i $< -o $@
 
-wingenminiupnpcstrings.o:	wingenminiupnpcstrings.c
+testminixml.exe:	testminixml.o minixml.o igd_desc_parse.o
+	$(CC) -static -o $@ $^
 
-miniupnpcstrings.h: miniupnpcstrings.h.in wingenminiupnpcstrings
-	-$(SH) updateminiupnpcstrings.sh
-	-wingenminiupnpcstrings $< $@
+minixml.o:	$(SRCDIR)/minixml.c $(SRCDIR)/minixml.h
 
-minixml.o:	minixml.c minixml.h miniupnpcstrings.h
+upnpc.o:	include/miniwget.h $(SRCDIR)/minisoap.h include/miniupnpc.h include/igd_desc_parse.h
+upnpc.o:	include/upnpreplyparse.h include/upnpcommands.h include/upnperrors.h miniupnpcstrings.h
 
-upnpc.o:	upnpc.c miniwget.h minisoap.h miniupnpc.h igd_desc_parse.h upnpreplyparse.h upnpcommands.h upnperrors.h
+miniwget.o:	$(SRCDIR)/miniwget.c include/miniwget.h miniupnpcstrings.h $(SRCDIR)/connecthostport.h
 
-miniwget.o:	miniwget.c miniwget.h miniupnpcstrings.h connecthostport.h
+minisoap.o:	$(SRCDIR)/minisoap.c $(SRCDIR)/minisoap.h miniupnpcstrings.h
 
-minisoap.o:	minisoap.c minisoap.h miniupnpcstrings.h
+miniupnpc.o:	$(SRCDIR)/miniupnpc.c include/miniupnpc.h $(SRCDIR)/minisoap.h \
+	include/miniwget.h $(SRCDIR)/minixml.h $(SRCDIR)/addr_is_reserved.h
 
-miniupnpc.o:	miniupnpc.c miniupnpc.h minisoap.h miniwget.h minixml.h
+igd_desc_parse.o:	$(SRCDIR)/igd_desc_parse.c include/igd_desc_parse.h
 
-igd_desc_parse.o:	igd_desc_parse.c igd_desc_parse.h
+upnpreplyparse.o:	$(SRCDIR)/upnpreplyparse.c include/upnpreplyparse.h $(SRCDIR)/minixml.h
 
-testminixml:	minixml.o igd_desc_parse.o testminixml.c
+upnpcommands.o:	$(SRCDIR)/upnpcommands.c include/upnpcommands.h include/upnpreplyparse.h \
+	include/miniupnpc.h include/portlistingparse.h
 
-upnpreplyparse.o:	upnpreplyparse.c upnpreplyparse.h minixml.h
+minissdpc.o:	$(SRCDIR)/minissdpc.c $(SRCDIR)/minissdpc.h $(SRCDIR)/receivedata.h
 
-upnpcommands.o:	upnpcommands.c upnpcommands.h upnpreplyparse.h miniupnpc.h portlistingparse.h
+upnpdev.o:	$(SRCDIR)/upnpdev.c include/upnpdev.h
 
diff --git a/libs/miniupnpc/README b/libs/miniupnpc/README
index 12c7fed354..aa8ad2024a 100644
--- a/libs/miniupnpc/README
+++ b/libs/miniupnpc/README
@@ -1,18 +1,20 @@
 Project: miniupnp
-Project web page: http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
+Project web page: http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
+github: https://github.com/miniupnp/miniupnp
 Author: Thomas Bernard
-Copyright (c) 2005-2011 Thomas Bernard
+Copyright (c) 2005-2023 Thomas Bernard
 This software is subject to the conditions detailed in the
 LICENSE file provided within this distribution.
 
-For the comfort of Win32 users, bsdqueue.h is included in the distribution.
-Its licence is included in the header of the file.
-bsdqueue.h is a copy of the sys/queue.h of an OpenBSD system.
 
-* miniupnp Client *
+* miniUPnP Client - miniUPnPc *
 
 To compile, simply run 'gmake' (could be 'make' on your system).
 Under win32, to compile with MinGW, type "mingw32make.bat".
+MS Visual C solution and project files are supplied in the msvc/ subdirectory.
+The miniupnpc library is available as a static library or as a DLL :
+define MINIUPNP_STATICLIB if you want to link against the static library.
+
 The compilation is known to work under linux, FreeBSD,
 OpenBSD, MacOS X, AmigaOS and cygwin.
 The official AmigaOS4.1 SDK was used for AmigaOS4 and GeekGadgets for AmigaOS3.
@@ -23,7 +25,7 @@ To install the library and headers on the system use :
 > make install
 > exit
 
-alternatively, to install in a specific location, use :
+alternatively, to install into a specific location, use :
 > INSTALLPREFIX=/usr/local make install
 
 upnpc.c is a sample client using the libminiupnpc.
@@ -31,6 +33,7 @@ To use the libminiupnpc in your application, link it with
 libminiupnpc.a (or .so) and use the following functions found in miniupnpc.h,
 upnpcommands.h and miniwget.h :
 - upnpDiscover()
+- UPNP_GetValidIGD()
 - miniwget()
 - parserootdesc()
 - GetUPNPUrls()
@@ -41,9 +44,10 @@ and -lminiupnpc for the link
 
 Discovery process is speeded up when MiniSSDPd is running on the machine.
 
+
 * Python module *
 
-you can build a python module with 'make pythonmodule' 
+you can build a python module with 'make pythonmodule'
 and install it with 'make installpythonmodule'.
 setup.py (and setupmingw32.py) are included in the distribution.
 
@@ -55,5 +59,34 @@ If you are using libminiupnpc in your application, please
 send me an email !
 
 For any question, you can use the web forum :
-http://miniupnp.tuxfamily.org/forum/
+https://miniupnp.tuxfamily.org/forum/
+
+Bugs should be reported on GitHub :
+https://github.com/miniupnp/miniupnp/issues
+
+* Linux firewall configuration for UPnP clients *
+
+Due to how UPnP protocol is designed, unicast responses to UPnP multicast client
+requests are not tracked by Linux netfilter. And therefore netfilter executes
+default action for them (which is in most cases DROP response packet).
+
+To workaround this limitation, custom ipset hash table can be used. It is
+supported since Linux kernel >= 2.6.39.
+
+Rules for IPv4:
+$ ipset create upnp hash:ip,port timeout 3
+$ iptables -A OUTPUT -d 239.255.255.250/32 -p udp -m udp --dport 1900 -j SET --add-set upnp src,src --exist
+$ iptables -A INPUT -p udp -m set --match-set upnp dst,dst -j ACCEPT
+$ iptables -A INPUT -d 239.255.255.250/32 -p udp -m udp --dport 1900 -j ACCEPT
+
+Rules for IPv6:
+$ ipset create upnp6 hash:ip,port timeout 3 family inet6
+$ ip6tables -A OUTPUT -d ff02::c/128 -p udp -m udp --dport 1900 -j SET --add-set upnp6 src,src --exist
+$ ip6tables -A OUTPUT -d ff05::c/128 -p udp -m udp --dport 1900 -j SET --add-set upnp6 src,src --exist
+$ ip6tables -A INPUT -p udp -m set --match-set upnp6 dst,dst -j ACCEPT
+$ ip6tables -A INPUT -d ff02::c/128 -p udp -m udp --dport 1900 -j ACCEPT
+$ ip6tables -A INPUT -d ff05::c/128 -p udp -m udp --dport 1900 -j ACCEPT
 
+Detailed description is available on:
+https://serverfault.com/a/911286
+https://unix.stackexchange.com/a/444804
diff --git a/libs/miniupnpc/VERSION b/libs/miniupnpc/VERSION
index 810ee4e91e..21bb5e156f 100644
--- a/libs/miniupnpc/VERSION
+++ b/libs/miniupnpc/VERSION
@@ -1 +1 @@
-1.6
+2.2.5
diff --git a/libs/miniupnpc/apiversions.txt b/libs/miniupnpc/apiversions.txt
new file mode 100644
index 0000000000..d6a0bc3fc3
--- /dev/null
+++ b/libs/miniupnpc/apiversions.txt
@@ -0,0 +1,178 @@
+$Id: apiversions.txt,v 1.10 2018/04/06 10:53:13 nanard Exp $
+
+Differences in API between miniUPnPc versions
+
+API version 17
+  change struct UPNPDev
+  move getHTTPResponse() to miniwget_private.h
+  updated macro :
+    #define MINIUPNPC_API_VERSION 17
+
+API version 16
+  added "status_code" argument to getHTTPResponse(), miniwget() and miniwget_getaddr()
+  updated macro :
+    #define MINIUPNPC_API_VERSION 16
+
+API version 15
+  changed "sameport" argument of upnpDiscover() upnpDiscoverAll() upnpDiscoverDevice()
+    to "localport". When 0 or 1, behaviour is not changed, but it can take
+    any other value between 2 and 65535
+    Existing programs should be compatible
+  updated macro :
+    #define MINIUPNPC_API_VERSION  15
+
+API version 14
+miniupnpc.h
+  add ttl argument to upnpDiscover() upnpDiscoverAll() upnpDiscoverDevice()
+  upnpDiscoverDevices()
+  getDevicesFromMiniSSDPD() :
+    connectToMiniSSDPD() / disconnectFromMiniSSDPD()
+    requestDevicesFromMiniSSDPD() / receiveDevicesFromMiniSSDPD()
+  updated macro :
+    #define MINIUPNPC_API_VERSION  14
+
+API version 13
+miniupnpc.h:
+  add searchalltype param to upnpDiscoverDevices() function
+  updated macro :
+    #define MINIUPNPC_API_VERSION  13
+
+API version 12
+miniupnpc.h :
+  add upnpDiscoverAll() / upnpDiscoverDevice() / upnpDiscoverDevices()
+    functions
+  updated macros :
+    #define MINIUPNPC_API_VERSION  12
+
+API version 11
+
+upnpreplyparse.h / portlistingparse.h :
+  removed usage of sys/queue.h / bsdqueue.h
+
+miniupnpc.h:
+  updated macros :
+    #define MINIUPNPC_API_VERSION  11
+
+====================== miniUPnPc version 1.9 ======================
+API version 10
+
+upnpcommands.h:
+  added argument remoteHost to UPNP_GetSpecificPortMappingEntry()
+
+miniupnpc.h:
+  updated macros :
+    #define MINIUPNPC_VERSION      "1.9"
+    #define MINIUPNPC_API_VERSION  10
+
+====================== miniUPnPc version 1.8 ======================
+API version 9
+
+miniupnpc.h:
+  updated macros :
+    #define MINIUPNPC_VERSION      "1.8"
+    #define MINIUPNPC_API_VERSION  9
+  added "unsigned int scope_id;" to struct UPNPDev
+  added scope_id argument to GetUPNPUrls()
+
+
+
+====================== miniUPnPc version 1.7 ======================
+API version 8
+
+miniupnpc.h :
+  add new macros :
+    #define MINIUPNPC_VERSION      "1.7"
+    #define MINIUPNPC_API_VERSION  8
+  add rootdescURL to struct UPNPUrls
+
+
+
+====================== miniUPnPc version 1.6 ======================
+API version 8
+
+Adding support for IPv6.
+igd_desc_parse.h :
+  struct IGDdatas_service :
+    add char presentationurl[MINIUPNPC_URL_MAXSIZE];
+  struct IGDdatas :
+    add struct IGDdatas_service IPv6FC;
+miniupnpc.h :
+  new macros :
+    #define UPNPDISCOVER_SUCCESS (0)
+    #define UPNPDISCOVER_UNKNOWN_ERROR (-1)
+    #define UPNPDISCOVER_SOCKET_ERROR (-101)
+    #define UPNPDISCOVER_MEMORY_ERROR (-102)
+  simpleUPnPcommand() prototype changed (but is normaly not used by API users)
+  add arguments ipv6 and error to upnpDiscover() :
+     struct UPNPDev *
+     upnpDiscover(int delay, const char * multicastif,
+                  const char * minissdpdsock, int sameport,
+                  int ipv6,
+                  int * error);
+  add controlURL_6FC member to struct UPNPUrls :
+    struct UPNPUrls {
+       char * controlURL;
+       char * ipcondescURL;
+       char * controlURL_CIF;
+       char * controlURL_6FC;
+    };
+
+upnpcommands.h :
+  add leaseDuration argument to UPNP_AddPortMapping()
+  add desc, enabled and leaseDuration arguments to UPNP_GetSpecificPortMappingEntry()
+  add UPNP_GetListOfPortMappings() function (IGDv2)
+  add IGDv2 IPv6 related functions :
+    UPNP_GetFirewallStatus()
+    UPNP_GetOutboundPinholeTimeout()
+    UPNP_AddPinhole()
+    UPNP_UpdatePinhole()
+    UPNP_DeletePinhole()
+    UPNP_CheckPinholeWorking()
+    UPNP_GetPinholePackets()
+
+
+
+====================== miniUPnPc version 1.5 ======================
+API version 5
+
+new function :
+int UPNPIGD_IsConnected(struct UPNPUrls *, struct IGDdatas *);
+new macro in upnpcommands.h :
+#define UPNPCOMMAND_HTTP_ERROR
+
+====================== miniUPnPc version 1.4 ======================
+Same API as version 1.3
+
+====================== miniUPnPc version 1.3 ======================
+API version 4
+
+Use UNSIGNED_INTEGER type for
+UPNP_GetTotalBytesSent(), UPNP_GetTotalBytesReceived(),
+UPNP_GetTotalPacketsSent(), UPNP_GetTotalPacketsReceived()
+Add remoteHost argument to UPNP_AddPortMapping() and UPNP_DeletePortMapping()
+
+====================== miniUPnPc version 1.2 ======================
+API version 3
+
+added sameport argument to upnpDiscover()
+struct UPNPDev *
+upnpDiscover(int delay, const char * multicastif,
+             const char * minissdpdsock, int sameport);
+
+====================== miniUPnPc Version 1.1 ======================
+Same API as 1.0
+
+
+====================== miniUPnPc Version 1.0 ======================
+API version 2
+
+
+struct UPNPDev {
+      struct UPNPDev * pNext;
+      char * descURL;
+      char * st;
+      char buffer[2];
+};
+struct UPNPDev * upnpDiscover(int delay, const char * multicastif,
+                              const char * minissdpdsock);
+
diff --git a/libs/miniupnpc/bsdqueue.h b/libs/miniupnpc/bsdqueue.h
deleted file mode 100644
index 1fe0599f50..0000000000
--- a/libs/miniupnpc/bsdqueue.h
+++ /dev/null
@@ -1,531 +0,0 @@
-/*	$OpenBSD: queue.h,v 1.31 2005/11/25 08:06:25 otto Exp $	*/
-/*	$NetBSD: queue.h,v 1.11 1996/05/16 05:17:14 mycroft Exp $	*/
-
-/*
- * Copyright (c) 1991, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. 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.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
- *
- *	@(#)queue.h	8.5 (Berkeley) 8/20/94
- */
-
-#ifndef	_SYS_QUEUE_H_
-#define	_SYS_QUEUE_H_
-
-/*
- * This file defines five types of data structures: singly-linked lists, 
- * lists, simple queues, tail queues, and circular queues.
- *
- *
- * A singly-linked list is headed by a single forward pointer. The elements
- * are singly linked for minimum space and pointer manipulation overhead at
- * the expense of O(n) removal for arbitrary elements. New elements can be
- * added to the list after an existing element or at the head of the list.
- * Elements being removed from the head of the list should use the explicit
- * macro for this purpose for optimum efficiency. A singly-linked list may
- * only be traversed in the forward direction.  Singly-linked lists are ideal
- * for applications with large datasets and few or no removals or for
- * implementing a LIFO queue.
- *
- * A list is headed by a single forward pointer (or an array of forward
- * pointers for a hash table header). The elements are doubly linked
- * so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before
- * or after an existing element or at the head of the list. A list
- * may only be traversed in the forward direction.
- *
- * A simple queue is headed by a pair of pointers, one the head of the
- * list and the other to the tail of the list. The elements are singly
- * linked to save space, so elements can only be removed from the
- * head of the list. New elements can be added to the list before or after
- * an existing element, at the head of the list, or at the end of the
- * list. A simple queue may only be traversed in the forward direction.
- *
- * A tail queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or
- * after an existing element, at the head of the list, or at the end of
- * the list. A tail queue may be traversed in either direction.
- *
- * A circle queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or after
- * an existing element, at the head of the list, or at the end of the list.
- * A circle queue may be traversed in either direction, but has a more
- * complex end of list detection.
- *
- * For details on the use of these macros, see the queue(3) manual page.
- */
-
-#ifdef QUEUE_MACRO_DEBUG
-#define _Q_INVALIDATE(a) (a) = ((void *)-1)
-#else
-#define _Q_INVALIDATE(a)
-#endif
-
-/*
- * Singly-linked List definitions.
- */
-#define SLIST_HEAD(name, type)						\
-struct name {								\
-	struct type *slh_first;	/* first element */			\
-}
- 
-#define	SLIST_HEAD_INITIALIZER(head)					\
-	{ NULL }
-
-#ifdef SLIST_ENTRY
-#undef SLIST_ENTRY
-#endif
-
-#define SLIST_ENTRY(type)						\
-struct {								\
-	struct type *sle_next;	/* next element */			\
-}
- 
-/*
- * Singly-linked List access methods.
- */
-#define	SLIST_FIRST(head)	((head)->slh_first)
-#define	SLIST_END(head)		NULL
-#define	SLIST_EMPTY(head)	(SLIST_FIRST(head) == SLIST_END(head))
-#define	SLIST_NEXT(elm, field)	((elm)->field.sle_next)
-
-#define	SLIST_FOREACH(var, head, field)					\
-	for((var) = SLIST_FIRST(head);					\
-	    (var) != SLIST_END(head);					\
-	    (var) = SLIST_NEXT(var, field))
-
-#define	SLIST_FOREACH_PREVPTR(var, varp, head, field)			\
-	for ((varp) = &SLIST_FIRST((head));				\
-	    ((var) = *(varp)) != SLIST_END(head);			\
-	    (varp) = &SLIST_NEXT((var), field))
-
-/*
- * Singly-linked List functions.
- */
-#define	SLIST_INIT(head) {						\
-	SLIST_FIRST(head) = SLIST_END(head);				\
-}
-
-#define	SLIST_INSERT_AFTER(slistelm, elm, field) do {			\
-	(elm)->field.sle_next = (slistelm)->field.sle_next;		\
-	(slistelm)->field.sle_next = (elm);				\
-} while (0)
-
-#define	SLIST_INSERT_HEAD(head, elm, field) do {			\
-	(elm)->field.sle_next = (head)->slh_first;			\
-	(head)->slh_first = (elm);					\
-} while (0)
-
-#define	SLIST_REMOVE_NEXT(head, elm, field) do {			\
-	(elm)->field.sle_next = (elm)->field.sle_next->field.sle_next;	\
-} while (0)
-
-#define	SLIST_REMOVE_HEAD(head, field) do {				\
-	(head)->slh_first = (head)->slh_first->field.sle_next;		\
-} while (0)
-
-#define SLIST_REMOVE(head, elm, type, field) do {			\
-	if ((head)->slh_first == (elm)) {				\
-		SLIST_REMOVE_HEAD((head), field);			\
-	} else {							\
-		struct type *curelm = (head)->slh_first;		\
-									\
-		while (curelm->field.sle_next != (elm))			\
-			curelm = curelm->field.sle_next;		\
-		curelm->field.sle_next =				\
-		    curelm->field.sle_next->field.sle_next;		\
-		_Q_INVALIDATE((elm)->field.sle_next);			\
-	}								\
-} while (0)
-
-/*
- * List definitions.
- */
-#define LIST_HEAD(name, type)						\
-struct name {								\
-	struct type *lh_first;	/* first element */			\
-}
-
-#define LIST_HEAD_INITIALIZER(head)					\
-	{ NULL }
-
-#define LIST_ENTRY(type)						\
-struct {								\
-	struct type *le_next;	/* next element */			\
-	struct type **le_prev;	/* address of previous next element */	\
-}
-
-/*
- * List access methods
- */
-#define	LIST_FIRST(head)		((head)->lh_first)
-#define	LIST_END(head)			NULL
-#define	LIST_EMPTY(head)		(LIST_FIRST(head) == LIST_END(head))
-#define	LIST_NEXT(elm, field)		((elm)->field.le_next)
-
-#define LIST_FOREACH(var, head, field)					\
-	for((var) = LIST_FIRST(head);					\
-	    (var)!= LIST_END(head);					\
-	    (var) = LIST_NEXT(var, field))
-
-/*
- * List functions.
- */
-#define	LIST_INIT(head) do {						\
-	LIST_FIRST(head) = LIST_END(head);				\
-} while (0)
-
-#define LIST_INSERT_AFTER(listelm, elm, field) do {			\
-	if (((elm)->field.le_next = (listelm)->field.le_next) != NULL)	\
-		(listelm)->field.le_next->field.le_prev =		\
-		    &(elm)->field.le_next;				\
-	(listelm)->field.le_next = (elm);				\
-	(elm)->field.le_prev = &(listelm)->field.le_next;		\
-} while (0)
-
-#define	LIST_INSERT_BEFORE(listelm, elm, field) do {			\
-	(elm)->field.le_prev = (listelm)->field.le_prev;		\
-	(elm)->field.le_next = (listelm);				\
-	*(listelm)->field.le_prev = (elm);				\
-	(listelm)->field.le_prev = &(elm)->field.le_next;		\
-} while (0)
-
-#define LIST_INSERT_HEAD(head, elm, field) do {				\
-	if (((elm)->field.le_next = (head)->lh_first) != NULL)		\
-		(head)->lh_first->field.le_prev = &(elm)->field.le_next;\
-	(head)->lh_first = (elm);					\
-	(elm)->field.le_prev = &(head)->lh_first;			\
-} while (0)
-
-#define LIST_REMOVE(elm, field) do {					\
-	if ((elm)->field.le_next != NULL)				\
-		(elm)->field.le_next->field.le_prev =			\
-		    (elm)->field.le_prev;				\
-	*(elm)->field.le_prev = (elm)->field.le_next;			\
-	_Q_INVALIDATE((elm)->field.le_prev);				\
-	_Q_INVALIDATE((elm)->field.le_next);				\
-} while (0)
-
-#define LIST_REPLACE(elm, elm2, field) do {				\
-	if (((elm2)->field.le_next = (elm)->field.le_next) != NULL)	\
-		(elm2)->field.le_next->field.le_prev =			\
-		    &(elm2)->field.le_next;				\
-	(elm2)->field.le_prev = (elm)->field.le_prev;			\
-	*(elm2)->field.le_prev = (elm2);				\
-	_Q_INVALIDATE((elm)->field.le_prev);				\
-	_Q_INVALIDATE((elm)->field.le_next);				\
-} while (0)
-
-/*
- * Simple queue definitions.
- */
-#define SIMPLEQ_HEAD(name, type)					\
-struct name {								\
-	struct type *sqh_first;	/* first element */			\
-	struct type **sqh_last;	/* addr of last next element */		\
-}
-
-#define SIMPLEQ_HEAD_INITIALIZER(head)					\
-	{ NULL, &(head).sqh_first }
-
-#define SIMPLEQ_ENTRY(type)						\
-struct {								\
-	struct type *sqe_next;	/* next element */			\
-}
-
-/*
- * Simple queue access methods.
- */
-#define	SIMPLEQ_FIRST(head)	    ((head)->sqh_first)
-#define	SIMPLEQ_END(head)	    NULL
-#define	SIMPLEQ_EMPTY(head)	    (SIMPLEQ_FIRST(head) == SIMPLEQ_END(head))
-#define	SIMPLEQ_NEXT(elm, field)    ((elm)->field.sqe_next)
-
-#define SIMPLEQ_FOREACH(var, head, field)				\
-	for((var) = SIMPLEQ_FIRST(head);				\
-	    (var) != SIMPLEQ_END(head);					\
-	    (var) = SIMPLEQ_NEXT(var, field))
-
-/*
- * Simple queue functions.
- */
-#define	SIMPLEQ_INIT(head) do {						\
-	(head)->sqh_first = NULL;					\
-	(head)->sqh_last = &(head)->sqh_first;				\
-} while (0)
-
-#define SIMPLEQ_INSERT_HEAD(head, elm, field) do {			\
-	if (((elm)->field.sqe_next = (head)->sqh_first) == NULL)	\
-		(head)->sqh_last = &(elm)->field.sqe_next;		\
-	(head)->sqh_first = (elm);					\
-} while (0)
-
-#define SIMPLEQ_INSERT_TAIL(head, elm, field) do {			\
-	(elm)->field.sqe_next = NULL;					\
-	*(head)->sqh_last = (elm);					\
-	(head)->sqh_last = &(elm)->field.sqe_next;			\
-} while (0)
-
-#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-	if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
-		(head)->sqh_last = &(elm)->field.sqe_next;		\
-	(listelm)->field.sqe_next = (elm);				\
-} while (0)
-
-#define SIMPLEQ_REMOVE_HEAD(head, field) do {			\
-	if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
-		(head)->sqh_last = &(head)->sqh_first;			\
-} while (0)
-
-/*
- * Tail queue definitions.
- */
-#define TAILQ_HEAD(name, type)						\
-struct name {								\
-	struct type *tqh_first;	/* first element */			\
-	struct type **tqh_last;	/* addr of last next element */		\
-}
-
-#define TAILQ_HEAD_INITIALIZER(head)					\
-	{ NULL, &(head).tqh_first }
-
-#define TAILQ_ENTRY(type)						\
-struct {								\
-	struct type *tqe_next;	/* next element */			\
-	struct type **tqe_prev;	/* address of previous next element */	\
-}
-
-/* 
- * tail queue access methods 
- */
-#define	TAILQ_FIRST(head)		((head)->tqh_first)
-#define	TAILQ_END(head)			NULL
-#define	TAILQ_NEXT(elm, field)		((elm)->field.tqe_next)
-#define TAILQ_LAST(head, headname)					\
-	(*(((struct headname *)((head)->tqh_last))->tqh_last))
-/* XXX */
-#define TAILQ_PREV(elm, headname, field)				\
-	(*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
-#define	TAILQ_EMPTY(head)						\
-	(TAILQ_FIRST(head) == TAILQ_END(head))
-
-#define TAILQ_FOREACH(var, head, field)					\
-	for((var) = TAILQ_FIRST(head);					\
-	    (var) != TAILQ_END(head);					\
-	    (var) = TAILQ_NEXT(var, field))
-
-#define TAILQ_FOREACH_REVERSE(var, head, headname, field)		\
-	for((var) = TAILQ_LAST(head, headname);				\
-	    (var) != TAILQ_END(head);					\
-	    (var) = TAILQ_PREV(var, headname, field))
-
-/*
- * Tail queue functions.
- */
-#define	TAILQ_INIT(head) do {						\
-	(head)->tqh_first = NULL;					\
-	(head)->tqh_last = &(head)->tqh_first;				\
-} while (0)
-
-#define TAILQ_INSERT_HEAD(head, elm, field) do {			\
-	if (((elm)->field.tqe_next = (head)->tqh_first) != NULL)	\
-		(head)->tqh_first->field.tqe_prev =			\
-		    &(elm)->field.tqe_next;				\
-	else								\
-		(head)->tqh_last = &(elm)->field.tqe_next;		\
-	(head)->tqh_first = (elm);					\
-	(elm)->field.tqe_prev = &(head)->tqh_first;			\
-} while (0)
-
-#define TAILQ_INSERT_TAIL(head, elm, field) do {			\
-	(elm)->field.tqe_next = NULL;					\
-	(elm)->field.tqe_prev = (head)->tqh_last;			\
-	*(head)->tqh_last = (elm);					\
-	(head)->tqh_last = &(elm)->field.tqe_next;			\
-} while (0)
-
-#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-	if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
-		(elm)->field.tqe_next->field.tqe_prev =			\
-		    &(elm)->field.tqe_next;				\
-	else								\
-		(head)->tqh_last = &(elm)->field.tqe_next;		\
-	(listelm)->field.tqe_next = (elm);				\
-	(elm)->field.tqe_prev = &(listelm)->field.tqe_next;		\
-} while (0)
-
-#define	TAILQ_INSERT_BEFORE(listelm, elm, field) do {			\
-	(elm)->field.tqe_prev = (listelm)->field.tqe_prev;		\
-	(elm)->field.tqe_next = (listelm);				\
-	*(listelm)->field.tqe_prev = (elm);				\
-	(listelm)->field.tqe_prev = &(elm)->field.tqe_next;		\
-} while (0)
-
-#define TAILQ_REMOVE(head, elm, field) do {				\
-	if (((elm)->field.tqe_next) != NULL)				\
-		(elm)->field.tqe_next->field.tqe_prev =			\
-		    (elm)->field.tqe_prev;				\
-	else								\
-		(head)->tqh_last = (elm)->field.tqe_prev;		\
-	*(elm)->field.tqe_prev = (elm)->field.tqe_next;			\
-	_Q_INVALIDATE((elm)->field.tqe_prev);				\
-	_Q_INVALIDATE((elm)->field.tqe_next);				\
-} while (0)
-
-#define TAILQ_REPLACE(head, elm, elm2, field) do {			\
-	if (((elm2)->field.tqe_next = (elm)->field.tqe_next) != NULL)	\
-		(elm2)->field.tqe_next->field.tqe_prev =		\
-		    &(elm2)->field.tqe_next;				\
-	else								\
-		(head)->tqh_last = &(elm2)->field.tqe_next;		\
-	(elm2)->field.tqe_prev = (elm)->field.tqe_prev;			\
-	*(elm2)->field.tqe_prev = (elm2);				\
-	_Q_INVALIDATE((elm)->field.tqe_prev);				\
-	_Q_INVALIDATE((elm)->field.tqe_next);				\
-} while (0)
-
-/*
- * Circular queue definitions.
- */
-#define CIRCLEQ_HEAD(name, type)					\
-struct name {								\
-	struct type *cqh_first;		/* first element */		\
-	struct type *cqh_last;		/* last element */		\
-}
-
-#define CIRCLEQ_HEAD_INITIALIZER(head)					\
-	{ CIRCLEQ_END(&head), CIRCLEQ_END(&head) }
-
-#define CIRCLEQ_ENTRY(type)						\
-struct {								\
-	struct type *cqe_next;		/* next element */		\
-	struct type *cqe_prev;		/* previous element */		\
-}
-
-/*
- * Circular queue access methods 
- */
-#define	CIRCLEQ_FIRST(head)		((head)->cqh_first)
-#define	CIRCLEQ_LAST(head)		((head)->cqh_last)
-#define	CIRCLEQ_END(head)		((void *)(head))
-#define	CIRCLEQ_NEXT(elm, field)	((elm)->field.cqe_next)
-#define	CIRCLEQ_PREV(elm, field)	((elm)->field.cqe_prev)
-#define	CIRCLEQ_EMPTY(head)						\
-	(CIRCLEQ_FIRST(head) == CIRCLEQ_END(head))
-
-#define CIRCLEQ_FOREACH(var, head, field)				\
-	for((var) = CIRCLEQ_FIRST(head);				\
-	    (var) != CIRCLEQ_END(head);					\
-	    (var) = CIRCLEQ_NEXT(var, field))
-
-#define CIRCLEQ_FOREACH_REVERSE(var, head, field)			\
-	for((var) = CIRCLEQ_LAST(head);					\
-	    (var) != CIRCLEQ_END(head);					\
-	    (var) = CIRCLEQ_PREV(var, field))
-
-/*
- * Circular queue functions.
- */
-#define	CIRCLEQ_INIT(head) do {						\
-	(head)->cqh_first = CIRCLEQ_END(head);				\
-	(head)->cqh_last = CIRCLEQ_END(head);				\
-} while (0)
-
-#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-	(elm)->field.cqe_next = (listelm)->field.cqe_next;		\
-	(elm)->field.cqe_prev = (listelm);				\
-	if ((listelm)->field.cqe_next == CIRCLEQ_END(head))		\
-		(head)->cqh_last = (elm);				\
-	else								\
-		(listelm)->field.cqe_next->field.cqe_prev = (elm);	\
-	(listelm)->field.cqe_next = (elm);				\
-} while (0)
-
-#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do {		\
-	(elm)->field.cqe_next = (listelm);				\
-	(elm)->field.cqe_prev = (listelm)->field.cqe_prev;		\
-	if ((listelm)->field.cqe_prev == CIRCLEQ_END(head))		\
-		(head)->cqh_first = (elm);				\
-	else								\
-		(listelm)->field.cqe_prev->field.cqe_next = (elm);	\
-	(listelm)->field.cqe_prev = (elm);				\
-} while (0)
-
-#define CIRCLEQ_INSERT_HEAD(head, elm, field) do {			\
-	(elm)->field.cqe_next = (head)->cqh_first;			\
-	(elm)->field.cqe_prev = CIRCLEQ_END(head);			\
-	if ((head)->cqh_last == CIRCLEQ_END(head))			\
-		(head)->cqh_last = (elm);				\
-	else								\
-		(head)->cqh_first->field.cqe_prev = (elm);		\
-	(head)->cqh_first = (elm);					\
-} while (0)
-
-#define CIRCLEQ_INSERT_TAIL(head, elm, field) do {			\
-	(elm)->field.cqe_next = CIRCLEQ_END(head);			\
-	(elm)->field.cqe_prev = (head)->cqh_last;			\
-	if ((head)->cqh_first == CIRCLEQ_END(head))			\
-		(head)->cqh_first = (elm);				\
-	else								\
-		(head)->cqh_last->field.cqe_next = (elm);		\
-	(head)->cqh_last = (elm);					\
-} while (0)
-
-#define	CIRCLEQ_REMOVE(head, elm, field) do {				\
-	if ((elm)->field.cqe_next == CIRCLEQ_END(head))			\
-		(head)->cqh_last = (elm)->field.cqe_prev;		\
-	else								\
-		(elm)->field.cqe_next->field.cqe_prev =			\
-		    (elm)->field.cqe_prev;				\
-	if ((elm)->field.cqe_prev == CIRCLEQ_END(head))			\
-		(head)->cqh_first = (elm)->field.cqe_next;		\
-	else								\
-		(elm)->field.cqe_prev->field.cqe_next =			\
-		    (elm)->field.cqe_next;				\
-	_Q_INVALIDATE((elm)->field.cqe_prev);				\
-	_Q_INVALIDATE((elm)->field.cqe_next);				\
-} while (0)
-
-#define CIRCLEQ_REPLACE(head, elm, elm2, field) do {			\
-	if (((elm2)->field.cqe_next = (elm)->field.cqe_next) ==		\
-	    CIRCLEQ_END(head))						\
-		(head).cqh_last = (elm2);				\
-	else								\
-		(elm2)->field.cqe_next->field.cqe_prev = (elm2);	\
-	if (((elm2)->field.cqe_prev = (elm)->field.cqe_prev) ==		\
-	    CIRCLEQ_END(head))						\
-		(head).cqh_first = (elm2);				\
-	else								\
-		(elm2)->field.cqe_prev->field.cqe_next = (elm2);	\
-	_Q_INVALIDATE((elm)->field.cqe_prev);				\
-	_Q_INVALIDATE((elm)->field.cqe_next);				\
-} while (0)
-
-#endif	/* !_SYS_QUEUE_H_ */
diff --git a/libs/miniupnpc/codelength.h b/libs/miniupnpc/codelength.h
deleted file mode 100644
index f11e5e9367..0000000000
--- a/libs/miniupnpc/codelength.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* $Id: codelength.h,v 1.1 2008/10/06 22:04:06 nanard Exp $ */
-/* Project : miniupnp
- * Author : Thomas BERNARD
- * copyright (c) 2005-2008 Thomas Bernard
- * This software is subjet to the conditions detailed in the
- * provided LICENCE file. */
-#ifndef __CODELENGTH_H__
-#define __CODELENGTH_H__
-
-/* Encode length by using 7bit per Byte :
- * Most significant bit of each byte specifies that the
- * following byte is part of the code */
-#define DECODELENGTH(n, p) n = 0; \
-                           do { n = (n << 7) | (*p & 0x7f); } \
-                           while(*(p++)&0x80);
-
-#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
-
diff --git a/libs/miniupnpc/connecthostport.h b/libs/miniupnpc/connecthostport.h
deleted file mode 100644
index 57e24eb276..0000000000
--- a/libs/miniupnpc/connecthostport.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* $Id: connecthostport.h,v 1.1 2010/04/04 23:21:03 nanard Exp $ */
-/* Project: miniupnp
- * http://miniupnp.free.fr/
- * Author: Thomas Bernard
- * Copyright (c) 2010 Thomas Bernard
- * This software is subjects to the conditions detailed
- * in the LICENCE file provided within this distribution */
-#ifndef __CONNECTHOSTPORT_H__
-#define __CONNECTHOSTPORT_H__
-
-/* 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);
-
-#endif
-
diff --git a/libs/miniupnpc/declspec.h b/libs/miniupnpc/declspec.h
deleted file mode 100644
index b804247d25..0000000000
--- a/libs/miniupnpc/declspec.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef __DECLSPEC_H__
-#define __DECLSPEC_H__
-
-#if defined(WIN32) && !defined(STATICLIB)
-	#ifdef MINIUPNP_EXPORTS
-		#define LIBSPEC __declspec(dllexport)
-	#else
-		#define LIBSPEC __declspec(dllimport)
-	#endif
-#else
-	#define LIBSPEC
-#endif
-
-#endif
-
diff --git a/libs/miniupnpc/external-ip.sh b/libs/miniupnpc/external-ip.sh
index 965d86b2a6..3873bd7e17 100755
--- a/libs/miniupnpc/external-ip.sh
+++ b/libs/miniupnpc/external-ip.sh
@@ -1,4 +1,4 @@
 #!/bin/sh
-# $Id: external-ip.sh,v 1.1 2010/08/05 12:57:41 nanard Exp $
+# $Id: external-ip.sh,v 1.2 2017/11/02 15:33:09 nanard Exp $
 # (c) 2010 Reuben Hawkins
-upnpc -s | grep ExternalIPAddress | sed 's/[^0-9\.]//g'
+upnpc -s | sed -n -e 's/^ExternalIPAddress = \([0-9.]*\)$/\1/p'
diff --git a/libs/miniupnpc/igd_desc_parse.h b/libs/miniupnpc/include/igd_desc_parse.h
similarity index 84%
rename from libs/miniupnpc/igd_desc_parse.h
rename to libs/miniupnpc/include/igd_desc_parse.h
index bab1fd56fd..0de546b697 100644
--- a/libs/miniupnpc/igd_desc_parse.h
+++ b/libs/miniupnpc/include/igd_desc_parse.h
@@ -1,13 +1,13 @@
-/* $Id: igd_desc_parse.h,v 1.10 2011/04/11 09:19:24 nanard Exp $ */
+/* $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-2010 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__
-#define __IGD_DESC_PARSE_H__
+#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 */
@@ -42,7 +42,8 @@ struct IGDdatas {
 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
-
+#endif /* IGD_DESC_PARSE_H_INCLUDED */
diff --git a/libs/miniupnpc/miniupnpc.h b/libs/miniupnpc/include/miniupnpc.h
similarity index 52%
rename from libs/miniupnpc/miniupnpc.h
rename to libs/miniupnpc/include/miniupnpc.h
index 50df017778..90537ed45d 100644
--- a/libs/miniupnpc/miniupnpc.h
+++ b/libs/miniupnpc/include/miniupnpc.h
@@ -1,15 +1,17 @@
-/* $Id: miniupnpc.h,v 1.23 2011/04/11 08:21:46 nanard Exp $ */
-/* Project: miniupnp
- * http://miniupnp.free.fr/
+/* $Id: miniupnpc.h,v 1.61 2022/10/21 21:15:02 nanard Exp $ */
+/* vim: tabstop=4 shiftwidth=4 noexpandtab
+ * Project: miniupnp
+ * http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
  * Author: Thomas Bernard
- * Copyright (c) 2005-2011 Thomas Bernard
+ * Copyright (c) 2005-2022 Thomas Bernard
  * This software is subjects to the conditions detailed
  * in the LICENCE file provided within this distribution */
-#ifndef __MINIUPNPC_H__
-#define __MINIUPNPC_H__
+#ifndef MINIUPNPC_H_INCLUDED
+#define MINIUPNPC_H_INCLUDED
 
-#include "declspec.h"
+#include "miniupnpc_declspec.h"
 #include "igd_desc_parse.h"
+#include "upnpdev.h"
 
 /* error codes : */
 #define UPNPDISCOVER_SUCCESS (0)
@@ -17,6 +19,16 @@
 #define UPNPDISCOVER_SOCKET_ERROR (-101)
 #define UPNPDISCOVER_MEMORY_ERROR (-102)
 
+/* versions : */
+#define MINIUPNPC_VERSION	"2.2.5"
+#define MINIUPNPC_API_VERSION	17
+
+/* Source port:
+   Using "1" as an alias for 1900 for backwards compatibility
+   (presuming one would have used that for the "sameport" parameter) */
+#define UPNP_LOCAL_PORT_ANY     0
+#define UPNP_LOCAL_PORT_SAME    1
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -29,13 +41,6 @@ simpleUPnPcommand(int, const char *, const char *,
                   const char *, struct UPNParg *,
                   int *);
 
-struct UPNPDev {
-	struct UPNPDev * pNext;
-	char * descURL;
-	char * st;
-	char buffer[2];
-};
-
 /* upnpDiscover()
  * discover UPnP devices on the network.
  * The discovered devices are returned as a chained list.
@@ -47,21 +52,43 @@ struct UPNPDev {
  * 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. */
-LIBSPEC struct UPNPDev *
+ * If localport is set to UPNP_LOCAL_PORT_SAME(1) SSDP packets will be sent
+ * from the source port 1900 (same as destination port), if set to
+ * UPNP_LOCAL_PORT_ANY(0) system assign a source port, any other value will
+ * be attempted as the source port.
+ * "searchalltypes" parameter is useful when searching several types,
+ * if 0, the discovery will stop with the first type returning results.
+ * TTL should default to 2. */
+MINIUPNP_LIBSPEC struct UPNPDev *
 upnpDiscover(int delay, const char * multicastif,
-             const char * minissdpdsock, int sameport,
-             int ipv6,
+             const char * minissdpdsock, int localport,
+             int ipv6, unsigned char ttl,
              int * error);
-/* freeUPNPDevlist()
- * free list returned by upnpDiscover() */
-LIBSPEC void freeUPNPDevlist(struct UPNPDev * devlist);
+
+MINIUPNP_LIBSPEC struct UPNPDev *
+upnpDiscoverAll(int delay, const char * multicastif,
+                const char * minissdpdsock, int localport,
+                int ipv6, unsigned char ttl,
+                int * error);
+
+MINIUPNP_LIBSPEC struct UPNPDev *
+upnpDiscoverDevice(const char * device, int delay, const char * multicastif,
+                const char * minissdpdsock, int localport,
+                int ipv6, unsigned char ttl,
+                int * error);
+
+MINIUPNP_LIBSPEC struct UPNPDev *
+upnpDiscoverDevices(const char * const deviceTypes[],
+                    int delay, const char * multicastif,
+                    const char * minissdpdsock, int localport,
+                    int ipv6, unsigned char ttl,
+                    int * error,
+                    int searchalltypes);
 
 /* parserootdesc() :
  * parse root XML description of a UPnP device and fill the IGDdatas
  * structure. */
-LIBSPEC void parserootdesc(const char *, int, struct IGDdatas *);
+MINIUPNP_LIBSPEC void parserootdesc(const char *, int, struct IGDdatas *);
 
 /* structure used to get fast access to urls
  * controlURL: controlURL of the WANIPConnection
@@ -74,6 +101,7 @@ struct UPNPUrls {
 	char * ipcondescURL;
 	char * controlURL_CIF;
 	char * controlURL_6FC;
+	char * rootdescURL;
 };
 
 /* UPNP_GetValidIGD() :
@@ -88,7 +116,7 @@ struct UPNPUrls {
  * passed as parameters are set. Donc forget to call FreeUPNPUrls(urls) to
  * free allocated memory.
  */
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetValidIGD(struct UPNPDev * devlist,
                  struct UPNPUrls * urls,
 				 struct IGDdatas * data,
@@ -96,21 +124,25 @@ UPNP_GetValidIGD(struct UPNPDev * devlist,
 
 /* UPNP_GetIGDFromUrl()
  * Used when skipping the discovery process.
+ * When succeding, urls, data, and lanaddr arguments are set.
  * return value :
  *   0 - Not ok
  *   1 - OK */
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetIGDFromUrl(const char * rootdescurl,
                    struct UPNPUrls * urls,
                    struct IGDdatas * data,
                    char * lanaddr, int lanaddrlen);
 
-LIBSPEC void GetUPNPUrls(struct UPNPUrls *, struct IGDdatas *, const char *);
+MINIUPNP_LIBSPEC void
+GetUPNPUrls(struct UPNPUrls *, struct IGDdatas *,
+            const char *, unsigned int);
 
-LIBSPEC void FreeUPNPUrls(struct UPNPUrls *);
+MINIUPNP_LIBSPEC void
+FreeUPNPUrls(struct UPNPUrls *);
 
 /* return 0 or 1 */
-LIBSPEC int UPNPIGD_IsConnected(struct UPNPUrls *, struct IGDdatas *);
+MINIUPNP_LIBSPEC int UPNPIGD_IsConnected(struct UPNPUrls *, struct IGDdatas *);
 
 
 #ifdef __cplusplus
diff --git a/libs/miniupnpc/include/miniupnpc_declspec.h b/libs/miniupnpc/include/miniupnpc_declspec.h
new file mode 100644
index 0000000000..40adb922ec
--- /dev/null
+++ b/libs/miniupnpc/include/miniupnpc_declspec.h
@@ -0,0 +1,21 @@
+#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/libs/miniupnpc/miniupnpctypes.h b/libs/miniupnpc/include/miniupnpctypes.h
similarity index 56%
rename from libs/miniupnpc/miniupnpctypes.h
rename to libs/miniupnpc/include/miniupnpctypes.h
index 86081c3cc8..1ae978d70a 100644
--- a/libs/miniupnpc/miniupnpctypes.h
+++ b/libs/miniupnpc/include/miniupnpctypes.h
@@ -1,13 +1,15 @@
-/* $Id: miniupnpctypes.h,v 1.1 2011/02/15 11:10:40 nanard Exp $ */
+/* $Id: miniupnpctypes.h,v 1.3 2021/08/21 09:50:00 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__
-#define __MINIUPNPCTYPES_H__
+#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
diff --git a/libs/miniupnpc/include/miniwget.h b/libs/miniupnpc/include/miniwget.h
new file mode 100644
index 0000000000..92943c1440
--- /dev/null
+++ b/libs/miniupnpc/include/miniwget.h
@@ -0,0 +1,27 @@
+/* $Id: miniwget.h,v 1.13 2018/04/06 10:53:15 nanard Exp $ */
+/* Project : miniupnp
+ * Author : Thomas Bernard
+ * Copyright (c) 2005-2016 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 * miniwget(const char *, int *, unsigned int, int *);
+
+MINIUPNP_LIBSPEC void * miniwget_getaddr(const char *, int *, char *, int, unsigned int, int *);
+
+int parseURL(const char *, char *, unsigned short *, char * *, unsigned int *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/libs/miniupnpc/portlistingparse.h b/libs/miniupnpc/include/portlistingparse.h
similarity index 76%
rename from libs/miniupnpc/portlistingparse.h
rename to libs/miniupnpc/include/portlistingparse.h
index 18524786c7..661ad1faac 100644
--- a/libs/miniupnpc/portlistingparse.h
+++ b/libs/miniupnpc/include/portlistingparse.h
@@ -1,22 +1,16 @@
-/* $Id: portlistingparse.h,v 1.4 2011/02/15 23:03:56 nanard Exp $ */
+/* $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 Thomas Bernard 
+ * (c) 2011-2015 Thomas Bernard
  * This software is subject to the conditions detailed
  * in the LICENCE file provided within the distribution */
-#ifndef __PORTLISTINGPARSE_H__
-#define __PORTLISTINGPARSE_H__
+#ifndef PORTLISTINGPARSE_H_INCLUDED
+#define PORTLISTINGPARSE_H_INCLUDED
 
-#include "declspec.h"
+#include "miniupnpc_declspec.h"
 /* for the definition of UNSIGNED_INTEGER */
 #include "miniupnpctypes.h"
 
-#if defined(NO_SYS_QUEUE_H) || defined(WIN32) || defined(__HAIKU__) 
-#include "bsdqueue.h"
-#else
-#include <sys/queue.h>
-#endif
-
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -37,11 +31,11 @@ typedef enum { PortMappingEltNone,
        PortMappingEntry, NewRemoteHost,
        NewExternalPort, NewProtocol,
        NewInternalPort, NewInternalClient,
-       NewEnabled, NewDescription, 
+       NewEnabled, NewDescription,
        NewLeaseTime } portMappingElt;
 
 struct PortMapping {
-	LIST_ENTRY(PortMapping) entries;
+	struct PortMapping * l_next;	/* list next element */
 	UNSIGNED_INTEGER leaseTime;
 	unsigned short externalPort;
 	unsigned short internalPort;
@@ -53,15 +47,15 @@ struct PortMapping {
 };
 
 struct PortMappingParserData {
-	LIST_HEAD(portmappinglisthead, PortMapping) head;
+	struct PortMapping * l_head;	/* list head */
 	portMappingElt curelt;
 };
 
-LIBSPEC void
+MINIUPNP_LIBSPEC void
 ParsePortListing(const char * buffer, int bufsize,
                  struct PortMappingParserData * pdata);
 
-LIBSPEC void
+MINIUPNP_LIBSPEC void
 FreePortListing(struct PortMappingParserData * pdata);
 
 #ifdef __cplusplus
diff --git a/libs/miniupnpc/upnpcommands.h b/libs/miniupnpc/include/upnpcommands.h
similarity index 61%
rename from libs/miniupnpc/upnpcommands.h
rename to libs/miniupnpc/include/upnpcommands.h
index 66d95e0ca8..994104e55a 100644
--- a/libs/miniupnpc/upnpcommands.h
+++ b/libs/miniupnpc/include/upnpcommands.h
@@ -1,15 +1,13 @@
-/* $Id: upnpcommands.h,v 1.23 2011/04/11 09:14:00 nanard Exp $ */
+/* $Id: upnpcommands.h,v 1.33 2019/02/10 12:29:25 nanard Exp $ */
 /* Miniupnp project : http://miniupnp.free.fr/
  * Author : Thomas Bernard
- * Copyright (c) 2005-2011 Thomas Bernard
+ * Copyright (c) 2005-2018 Thomas Bernard
  * This software is subject to the conditions detailed in the
  * LICENCE file provided within this distribution */
-#ifndef __UPNPCOMMANDS_H__
-#define __UPNPCOMMANDS_H__
+#ifndef UPNPCOMMANDS_H_INCLUDED
+#define UPNPCOMMANDS_H_INCLUDED
 
-#include "upnpreplyparse.h"
-#include "portlistingparse.h"
-#include "declspec.h"
+#include "miniupnpc_declspec.h"
 #include "miniupnpctypes.h"
 
 /* MiniUPnPc return codes : */
@@ -17,24 +15,28 @@
 #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
 
-LIBSPEC UNSIGNED_INTEGER
+struct PortMappingParserData;
+
+MINIUPNP_LIBSPEC UNSIGNED_INTEGER
 UPNP_GetTotalBytesSent(const char * controlURL,
 					const char * servicetype);
 
-LIBSPEC UNSIGNED_INTEGER
+MINIUPNP_LIBSPEC UNSIGNED_INTEGER
 UPNP_GetTotalBytesReceived(const char * controlURL,
 						const char * servicetype);
 
-LIBSPEC UNSIGNED_INTEGER
+MINIUPNP_LIBSPEC UNSIGNED_INTEGER
 UPNP_GetTotalPacketsSent(const char * controlURL,
 					const char * servicetype);
 
-LIBSPEC UNSIGNED_INTEGER
+MINIUPNP_LIBSPEC UNSIGNED_INTEGER
 UPNP_GetTotalPacketsReceived(const char * controlURL,
 					const char * servicetype);
 
@@ -43,7 +45,7 @@ UPNP_GetTotalPacketsReceived(const char * controlURL,
  * Return values :
  * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR
  * or a UPnP Error code */
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetStatusInfo(const char * controlURL,
 			       const char * servicetype,
 				   char * status,
@@ -55,23 +57,23 @@ UPNP_GetStatusInfo(const char * controlURL,
  * Return Values :
  * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR
  * or a UPnP Error code */
-LIBSPEC int
+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 
+ * 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. */
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetExternalIPAddress(const char * controlURL,
                           const char * servicetype,
                           char * extIpAdd);
@@ -82,7 +84,7 @@ UPNP_GetExternalIPAddress(const char * controlURL,
  * return values :
  * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR
  * or a UPnP Error Code. */
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetLinkLayerMaxBitRates(const char* controlURL,
 							const char* servicetype,
 							unsigned int * bitrateDown,
@@ -95,33 +97,75 @@ UPNP_GetLinkLayerMaxBitRates(const char* controlURL,
  * 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 
+ *                              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 */
-LIBSPEC int
+ *                                        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);
+		    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().
@@ -132,24 +176,46 @@ UPNP_AddPortMapping(const char * controlURL, const char * servicetype,
  *
  * 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 */
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_DeletePortMapping(const char * controlURL, const char * servicetype,
-                       const char * extPort, const char * proto,
-                       const char * remoteHost);
+		       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 */
-LIBSPEC int
-UPNP_GetPortMappingNumberOfEntries(const char* controlURL,
-                                   const char* servicetype,
-                                   unsigned int * num);
+MINIUPNP_LIBSPEC int
+UPNP_GetPortMappingNumberOfEntries(const char * controlURL,
+                                   const char * servicetype,
+                                   unsigned int * numEntries);
 
 /* 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)
@@ -158,12 +224,21 @@ UPNP_GetPortMappingNumberOfEntries(const char* controlURL,
  *
  * return value :
  * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR
- * or a UPnP Error Code. */
-LIBSPEC int
+ * 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,
@@ -188,9 +263,11 @@ UPNP_GetSpecificPortMappingEntry(const char * controlURL,
  *
  * 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
  */
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetGenericPortMappingEntry(const char * controlURL,
                                 const char * servicetype,
 								const char * index,
@@ -212,7 +289,7 @@ UPNP_GetGenericPortMappingEntry(const char * controlURL,
  * 733 InconsistantParameters - NewStartPort and NewEndPort values are not
  *                              consistent.
  */
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetListOfPortMappings(const char * controlURL,
                            const char * servicetype,
                            const char * startPort,
@@ -221,14 +298,14 @@ UPNP_GetListOfPortMappings(const char * controlURL,
                            const char * numberOfPorts,
                            struct PortMappingParserData * data);
 
-/* IGD:2, functions for service WANIPv6FirewallControl:1 */ 
-LIBSPEC int
+/* IGD:2, functions for service WANIPv6FirewallControl:1 */
+MINIUPNP_LIBSPEC int
 UPNP_GetFirewallStatus(const char * controlURL,
 				const char * servicetype,
-				int * firewallEnabled, 
+				int * firewallEnabled,
 				int * inboundPinholeAllowed);
 
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetOutboundPinholeTimeout(const char * controlURL, const char * servicetype,
                     const char * remoteHost,
                     const char * remotePort,
@@ -237,7 +314,7 @@ UPNP_GetOutboundPinholeTimeout(const char * controlURL, const char * servicetype
                     const char * proto,
                     int * opTimeout);
 
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_AddPinhole(const char * controlURL, const char * servicetype,
                     const char * remoteHost,
                     const char * remotePort,
@@ -247,19 +324,19 @@ UPNP_AddPinhole(const char * controlURL, const char * servicetype,
                     const char * leaseTime,
                     char * uniqueID);
 
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_UpdatePinhole(const char * controlURL, const char * servicetype,
                     const char * uniqueID,
                     const char * leaseTime);
 
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_DeletePinhole(const char * controlURL, const char * servicetype, const char * uniqueID);
 
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_CheckPinholeWorking(const char * controlURL, const char * servicetype,
                                  const char * uniqueID, int * isWorking);
 
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetPinholePackets(const char * controlURL, const char * servicetype,
                                  const char * uniqueID, int * packets);
 
diff --git a/libs/miniupnpc/include/upnpdev.h b/libs/miniupnpc/include/upnpdev.h
new file mode 100644
index 0000000000..171d495be3
--- /dev/null
+++ b/libs/miniupnpc/include/upnpdev.h
@@ -0,0 +1,44 @@
+/* $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-2021 Thomas Bernard
+ * This software is subjet to the conditions detailed in the
+ * provided LICENSE file. */
+#ifndef UPNPDEV_H_INCLUDED
+#define UPNPDEV_H_INCLUDED
+
+#include "miniupnpc_declspec.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct UPNPDev {
+	struct UPNPDev * pNext;
+	char * descURL;
+	char * st;
+	char * usn;
+	unsigned int scope_id;
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+	/* C99 flexible array member */
+	char buffer[];
+#elif defined(__GNUC__)
+	char buffer[0];
+#else
+	/* Fallback to a hack */
+	char buffer[1];
+#endif
+};
+
+/* freeUPNPDevlist()
+ * free list returned by upnpDiscover() */
+MINIUPNP_LIBSPEC void freeUPNPDevlist(struct UPNPDev * devlist);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* UPNPDEV_H_INCLUDED */
diff --git a/libs/miniupnpc/upnperrors.h b/libs/miniupnpc/include/upnperrors.h
similarity index 52%
rename from libs/miniupnpc/upnperrors.h
rename to libs/miniupnpc/include/upnperrors.h
index 2c544c97c3..3115aee5b1 100644
--- a/libs/miniupnpc/upnperrors.h
+++ b/libs/miniupnpc/include/upnperrors.h
@@ -1,23 +1,23 @@
-/* $Id: upnperrors.h,v 1.2 2008/07/02 23:31:15 nanard Exp $ */
-/* (c) 2007 Thomas Bernard
+/* $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__
-#define __UPNPERRORS_H__
+#ifndef UPNPERRORS_H_INCLUDED
+#define UPNPERRORS_H_INCLUDED
 
-#include "declspec.h"
+#include "miniupnpc_declspec.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 /* strupnperror()
- * Return a string description of the UPnP error code 
+ * Return a string description of the UPnP error code
  * or NULL for undefinded errors */
-LIBSPEC const char * strupnperror(int err);
+MINIUPNP_LIBSPEC const char * strupnperror(int err);
 
 #ifdef __cplusplus
 }
diff --git a/libs/miniupnpc/upnpreplyparse.h b/libs/miniupnpc/include/upnpreplyparse.h
similarity index 71%
rename from libs/miniupnpc/upnpreplyparse.h
rename to libs/miniupnpc/include/upnpreplyparse.h
index 267ea87835..6badd15b26 100644
--- a/libs/miniupnpc/upnpreplyparse.h
+++ b/libs/miniupnpc/include/upnpreplyparse.h
@@ -1,34 +1,31 @@
-/* $Id: upnpreplyparse.h,v 1.11 2011/02/07 16:17:06 nanard Exp $ */
+/* $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-2011 Thomas Bernard 
+ * (c) 2006-2013 Thomas Bernard
  * This software is subject to the conditions detailed
  * in the LICENCE file provided within the distribution */
 
-#ifndef __UPNPREPLYPARSE_H__
-#define __UPNPREPLYPARSE_H__
-
-#if defined(NO_SYS_QUEUE_H) || defined(WIN32) || defined(__HAIKU__) 
-#include "bsdqueue.h"
-#else
-#include <sys/queue.h>
-#endif
+#ifndef UPNPREPLYPARSE_H_INCLUDED
+#define UPNPREPLYPARSE_H_INCLUDED
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 struct NameValue {
-    LIST_ENTRY(NameValue) entries;
-    char name[64];
-    char value[64];
+	struct NameValue * l_next;
+	char name[64];
+	char value[128];
 };
 
 struct NameValueParserData {
-    LIST_HEAD(listhead, NameValue) head;
-    char curelt[64];
+	struct NameValue * l_head;
+	char curelt[64];
 	char * portListing;
 	int portListingLength;
+	int topelt;
+	const char * cdata;
+	int cdatalen;
 };
 
 /* ParseNameValue() */
@@ -45,10 +42,12 @@ char *
 GetValueFromNameValueList(struct NameValueParserData * pdata,
                           const char * Name);
 
+#if 0
 /* GetValueFromNameValueListIgnoreNS() */
 char *
 GetValueFromNameValueListIgnoreNS(struct NameValueParserData * pdata,
                                   const char * Name);
+#endif
 
 /* DisplayNameValueList() */
 #ifdef DEBUG
diff --git a/libs/miniupnpc/java/JavaBridgeTest.java b/libs/miniupnpc/java/JavaBridgeTest.java
index 62bba345c6..c658c59905 100644
--- a/libs/miniupnpc/java/JavaBridgeTest.java
+++ b/libs/miniupnpc/java/JavaBridgeTest.java
@@ -1,4 +1,6 @@
 import java.nio.ByteBuffer;
+import java.nio.IntBuffer;
+
 import fr.free.miniupnp.*;
 
 /**
@@ -27,7 +29,7 @@ public class JavaBridgeTest {
             return;
         }
 
-        devlist = miniupnpc.upnpDiscover(UPNP_DELAY, (String) null, (String) null, 0, null);
+        devlist = miniupnpc.upnpDiscover(UPNP_DELAY, (String) null, (String) null, 0, 0, (byte)2, IntBuffer.allocate(1));
         if (devlist != null) {
             System.out.println("List of UPNP devices found on the network :");
             for (UPNPDev device = devlist; device != null; device = device.pNext) {
@@ -70,12 +72,12 @@ public class JavaBridgeTest {
                     System.out.println("AddPortMapping() failed with code " + ret);
                 ret = miniupnpc.UPNP_GetSpecificPortMappingEntry(
                         urls.controlURL.getString(0), new String(data.first.servicetype),
-                        args[0], args[1], intClient, intPort,
+                        args[0], args[1], null, intClient, intPort,
                         desc, enabled, leaseDuration);
                 if (ret != MiniupnpcLibrary.UPNPCOMMAND_SUCCESS)
                     System.out.println("GetSpecificPortMappingEntry() failed with code " + ret);
                 System.out.println("InternalIP:Port = " +
-                        new String(intClient.array()) + ":" + new String(intPort.array()) + 
+                        new String(intClient.array()) + ":" + new String(intPort.array()) +
                         " (" + new String(desc.array()) + ")");
                 ret = miniupnpc.UPNP_DeletePortMapping(
                         urls.controlURL.getString(0),
diff --git a/libs/miniupnpc/java/testjava.bat b/libs/miniupnpc/java/testjava.bat
new file mode 100644
index 0000000000..b836da1491
--- /dev/null
+++ b/libs/miniupnpc/java/testjava.bat
@@ -0,0 +1,8 @@
+@echo off
+set JAVA=java
+set JAVAC=javac
+REM notice the semicolon for Windows.  Write once, run ... oh nevermind
+set CP=miniupnpc_win32.jar;.
+
+%JAVAC% -cp "%CP%" JavaBridgeTest.java || exit 1
+%JAVA% -cp "%CP%" JavaBridgeTest 12345 UDP || exit 1
diff --git a/libs/miniupnpc/java/testjava.sh b/libs/miniupnpc/java/testjava.sh
index c997baf9e8..9880523a10 100755
--- a/libs/miniupnpc/java/testjava.sh
+++ b/libs/miniupnpc/java/testjava.sh
@@ -1,8 +1,8 @@
-#! /bin/sh
+#!/bin/bash
 
 JAVA=java
 JAVAC=javac
+CP=$(for i in *.jar; do echo -n $i:; done).
 
-$JAVAC -cp miniupnpc_Linux.jar JavaBridgeTest.java
-$JAVA -cp miniupnpc_Linux.jar:. JavaBridgeTest 12345 UDP
-
+$JAVAC -cp $CP JavaBridgeTest.java || exit 1
+$JAVA -cp $CP JavaBridgeTest 12345 UDP || exit 1
diff --git a/libs/miniupnpc/man3/miniupnpc.3 b/libs/miniupnpc/man3/miniupnpc.3
index 0e35aaac51..e5c3ec88c4 100644
--- a/libs/miniupnpc/man3/miniupnpc.3
+++ b/libs/miniupnpc/man3/miniupnpc.3
@@ -1,5 +1,4 @@
-\" $Id: miniupnpc.3,v 1.3 2011/07/25 18:02:11 nanard Exp $
-.TH miniupnpc 3
+.TH MINIUPNPC 3
 .SH NAME
 miniupnpc \- UPnP client library
 .SH SYNOPSIS
@@ -26,25 +25,28 @@ through the miniupnpc API. The name of the C functions are matching
 the UPnP methods names. ie: GetGenericPortMappingEntry is
 UPNP_GetGenericPortMappingEntry.
 .SH "API FUNCTIONS"
-.IP "struct UPNPDev * upnpDiscover(int delay, const char * multicastif, const char * minissdpdsock, int sameport, int ipv6, int * error);"
+.IP "struct UPNPDev * upnpDiscover(int delay, const char * multicastif, const char * minissdpdsock, int localport, int ipv6, int * error);"
 execute the discovery process.
 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.
+If localport is set to UPNP_LOCAL_PORT_SAME(1) SSDP packets will be sent 
+from the source port 1900 (same as destination port), if set to 
+UPNP_LOCAL_PORT_ANY(0) system assign a source port, any other value will 
+be attempted as the source port.
 If ipv6 is not 0, IPv6 is used instead of IPv4 for the discovery process.
 .IP "void freeUPNPDevlist(struct UPNPDev * devlist);"
 free the list returned by upnpDiscover().
 .IP "int UPNP_GetValidIGD(struct UPNPDev * devlist, struct UPNPUrls * urls, struct IGDdatas * data, char * lanaddr, int lanaddrlen);"
 browse the list of device returned by upnpDiscover(), find
 a live UPnP internet gateway device and fill structures passed as arguments
-with data used for UPNP methods invokation.
+with data used for UPNP methods invocation.
 .IP "int UPNP_GetIGDFromUrl(const char * rootdescurl, struct UPNPUrls * urls, struct IGDdatas * data, char * lanaddr, int lanaddrlen);"
-permit to bypass the upnpDiscover() call if the xml root description
+permit one to bypass the upnpDiscover() call if the xml root description
 URL of the UPnP IGD is known.
 Fill structures passed as arguments
-with data used for UPNP methods invokation.
+with data used for UPNP methods invocation.
 .IP "void GetUPNPUrls(struct UPNPUrls *, struct IGDdatas *, const char *);"
 .IP "void FreeUPNPUrls(struct UPNPUrls *);"
 
diff --git a/libs/miniupnpc/mingw32/libminiupnpc.a b/libs/miniupnpc/mingw32/libminiupnpc.a
index fb2065753fa28f20bcdd5ee63634c9e1f10a37e5..063e379bdec80b0e574996b7bb9084ba23394f6d 100644
GIT binary patch
literal 63762
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

literal 2028512
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%0DUP$h)e+1w>L<W^rZ`ctXh#v_u0^
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%0Dd)
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

diff --git a/libs/miniupnpc/mingw64/libminiupnpc.a b/libs/miniupnpc/mingw64/libminiupnpc.a
index 4275196d37a8c9574d5c7f66e9938b8855dd7d87..afa9533fbd80786547c65c919872efa4b08e51ad 100644
GIT binary patch
literal 72024
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
BXb1oR

literal 135706
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

diff --git a/libs/miniupnpc/minissdpc.c b/libs/miniupnpc/minissdpc.c
deleted file mode 100644
index e5e852855c..0000000000
--- a/libs/miniupnpc/minissdpc.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/* $Id: minissdpc.c,v 1.14 2010/11/25 09:57:25 nanard Exp $ */
-/* Project : miniupnp
- * Author : Thomas BERNARD
- * copyright (c) 2005-2009 Thomas Bernard
- * This software is subjet to the conditions detailed in the
- * provided LICENCE file. */
-/*#include <syslog.h>*/
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/types.h>
-#if defined(WIN32) || defined(__amigaos__) || defined(__amigaos4__)
-#ifdef WIN32
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#include <io.h>
-#include <winsock.h>
-#include <stdint.h>
-#endif
-#if defined(__amigaos__) || defined(__amigaos4__)
-#include <sys/socket.h>
-#endif
-#if defined(__amigaos__)
-#define uint16_t unsigned short
-#endif
-/* Hack */
-#define UNIX_PATH_LEN   108
-struct sockaddr_un {
-  uint16_t sun_family;
-  char     sun_path[UNIX_PATH_LEN];
-};
-#else
-#include <sys/socket.h>
-#include <sys/un.h>
-#endif
-
-#include "minissdpc.h"
-#include "miniupnpc.h"
-
-#include "codelength.h"
-
-struct UPNPDev *
-getDevicesFromMiniSSDPD(const char * devtype, const char * socketpath)
-{
-	struct UPNPDev * tmp;
-	struct UPNPDev * devlist = NULL;
-	unsigned char buffer[2048];
-	ssize_t n;
-	unsigned char * p;
-	unsigned char * url;
-	unsigned int i;
-	unsigned int urlsize, stsize, usnsize, l;
-	int s;
-	struct sockaddr_un addr;
-
-	s = socket(AF_UNIX, SOCK_STREAM, 0);
-	if(s < 0)
-	{
-		/*syslog(LOG_ERR, "socket(unix): %m");*/
-		perror("socket(unix)");
-		return NULL;
-	}
-	addr.sun_family = AF_UNIX;
-	strncpy(addr.sun_path, socketpath, sizeof(addr.sun_path));
-	/* TODO : check if we need to handle the EINTR */
-	if(connect(s, (struct sockaddr *)&addr, sizeof(struct sockaddr_un)) < 0)
-	{
-		/*syslog(LOG_WARNING, "connect(\"%s\"): %m", socketpath);*/
-		close(s);
-		return NULL;
-	}
-	stsize = strlen(devtype);
-	buffer[0] = 1; /* request type 1 : request devices/services by type */
-	p = buffer + 1;
-	l = stsize;	CODELENGTH(l, p);
-	if(p + stsize > buffer + sizeof(buffer))
-	{
-		/* devtype is too long ! */
-		close(s);
-		return NULL;
-	}
-	memcpy(p, devtype, stsize);
-	p += stsize;
-	if(write(s, buffer, p - buffer) < 0)
-	{
-		/*syslog(LOG_ERR, "write(): %m");*/
-		perror("minissdpc.c: write()");
-		close(s);
-		return NULL;
-	}
-	n = read(s, buffer, sizeof(buffer));
-	if(n<=0)
-	{
-		perror("minissdpc.c: read()");
-		close(s);
-		return NULL;
-	}
-	p = buffer + 1;
-	for(i = 0; i < buffer[0]; i++)
-	{
-		if(p+2>=buffer+sizeof(buffer))
-			break;
-		DECODELENGTH(urlsize, p);
-		if(p+urlsize+2>=buffer+sizeof(buffer))
-			break;
-		url = p;
-		p += urlsize;
-		DECODELENGTH(stsize, p);
-		if(p+stsize+2>=buffer+sizeof(buffer))
-			break;
-		tmp = (struct UPNPDev *)malloc(sizeof(struct UPNPDev)+urlsize+stsize);
-		tmp->pNext = devlist;
-		tmp->descURL = tmp->buffer;
-		tmp->st = tmp->buffer + 1 + urlsize;
-		memcpy(tmp->buffer, url, urlsize);
-		tmp->buffer[urlsize] = '\0';
-		memcpy(tmp->buffer + urlsize + 1, p, stsize);
-		p += stsize;
-		tmp->buffer[urlsize+1+stsize] = '\0';
-		devlist = tmp;
-		/* added for compatibility with recent versions of MiniSSDPd 
-		 * >= 2007/12/19 */
-		DECODELENGTH(usnsize, p);
-		p += usnsize;
-		if(p>buffer + sizeof(buffer))
-			break;
-	}
-	close(s);
-	return devlist;
-}
-
diff --git a/libs/miniupnpc/minissdpc.h b/libs/miniupnpc/minissdpc.h
deleted file mode 100644
index 25e91ce319..0000000000
--- a/libs/miniupnpc/minissdpc.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* $Id: minissdpc.h,v 1.1 2007/08/31 15:15:33 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__
-#define __MINISSDPC_H__
-
-struct UPNPDev *
-getDevicesFromMiniSSDPD(const char * devtype, const char * socketpath);
-
-#endif
-
diff --git a/libs/miniupnpc/miniupnpc-config.cmake b/libs/miniupnpc/miniupnpc-config.cmake
new file mode 100644
index 0000000000..116876a5de
--- /dev/null
+++ b/libs/miniupnpc/miniupnpc-config.cmake
@@ -0,0 +1,6 @@
+if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/libminiupnpc-shared.cmake" OR MINIUPNPC_USE_STATIC_LIBS)
+  include("${CMAKE_CURRENT_LIST_DIR}/miniupnpc-private.cmake")
+  include("${CMAKE_CURRENT_LIST_DIR}/libminiupnpc-static.cmake")
+else()
+  include("${CMAKE_CURRENT_LIST_DIR}/libminiupnpc-shared.cmake")
+endif()
diff --git a/libs/miniupnpc/miniupnpc.c b/libs/miniupnpc/miniupnpc.c
deleted file mode 100644
index 0a3aae33dc..0000000000
--- a/libs/miniupnpc/miniupnpc.c
+++ /dev/null
@@ -1,943 +0,0 @@
-/* $Id: miniupnpc.c,v 1.95 2011/05/15 21:42:26 nanard Exp $ */
-/* Project : miniupnp
- * Author : Thomas BERNARD
- * copyright (c) 2005-2011 Thomas Bernard
- * This software is subjet to the conditions detailed in the
- * provided LICENSE file. */
-#define __EXTENSIONS__ 1
-#if !defined(MACOSX) && !defined(__sun)
-#if !defined(_XOPEN_SOURCE) && !defined(__OpenBSD__) && !defined(__NetBSD__)
-#ifndef __cplusplus
-#define _XOPEN_SOURCE 600
-#endif
-#endif
-#ifndef __BSD_VISIBLE
-#define __BSD_VISIBLE 1
-#endif
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#ifdef WIN32
-/* Win32 Specific includes and defines */
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#include <io.h>
-#include <iphlpapi.h>
-#define snprintf _snprintf
-#ifndef strncasecmp
-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
-#define strncasecmp _memicmp
-#else /* defined(_MSC_VER) && (_MSC_VER >= 1400) */
-#define strncasecmp memicmp
-#endif /* defined(_MSC_VER) && (_MSC_VER >= 1400) */
-#endif /* #ifndef strncasecmp */
-#define MAXHOSTNAMELEN 64
-#else /* #ifdef WIN32 */
-/* Standard POSIX includes */
-#include <unistd.h>
-#if defined(__amigaos__) && !defined(__amigaos4__)
-/* Amiga OS 3 specific stuff */
-#define socklen_t int
-#else
-#include <sys/select.h>
-#endif
-#include <sys/socket.h>
-#include <sys/types.h>
-#include <sys/param.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <netdb.h>
-#include <net/if.h>
-#if !defined(__amigaos__) && !defined(__amigaos4__)
-#include <poll.h>
-#endif
-#include <strings.h>
-#include <errno.h>
-#define closesocket close
-#endif /* #else WIN32 */
-#ifdef MINIUPNPC_SET_SOCKET_TIMEOUT
-#include <sys/time.h>
-#endif
-#if defined(__amigaos__) || defined(__amigaos4__)
-/* Amiga OS specific stuff */
-#define TIMEVAL struct timeval
-#endif
-
-#include "miniupnpc.h"
-#include "minissdpc.h"
-#include "miniwget.h"
-#include "minisoap.h"
-#include "minixml.h"
-#include "upnpcommands.h"
-#include "connecthostport.h"
-#include "receivedata.h"
-
-#ifdef WIN32
-#define PRINT_SOCKET_ERROR(x)    printf("Socket error: %s, %d\n", x, WSAGetLastError());
-#else
-#define PRINT_SOCKET_ERROR(x) perror(x)
-#endif
-
-#define SOAPPREFIX "s"
-#define SERVICEPREFIX "u"
-#define SERVICEPREFIX2 'u'
-
-/* root description parsing */
-LIBSPEC void parserootdesc(const char * buffer, int bufsize, struct IGDdatas * data)
-{
-	struct xmlparser parser;
-	/* xmlparser object */
-	parser.xmlstart = buffer;
-	parser.xmlsize = bufsize;
-	parser.data = data;
-	parser.starteltfunc = IGDstartelt;
-	parser.endeltfunc = IGDendelt;
-	parser.datafunc = IGDdata;
-	parser.attfunc = 0;
-	parsexml(&parser);
-#ifdef DEBUG
-	printIGD(data);
-#endif
-}
-
-/* simpleUPnPcommand2 :
- * not so simple !
- * return values :
- *   pointer - OK
- *   NULL - error */
-char * simpleUPnPcommand2(int s, const char * url, const char * service,
-		       const char * action, struct UPNParg * args,
-		       int * bufsize, const char * httpversion)
-{
-	char hostname[MAXHOSTNAMELEN+1];
-	unsigned short port = 0;
-	char * path;
-	char soapact[128];
-	char soapbody[2048];
-	char * buf;
-    int n;
-
-	*bufsize = 0;
-	snprintf(soapact, sizeof(soapact), "%s#%s", service, action);
-	if(args==NULL)
-	{
-		/*soapbodylen = */snprintf(soapbody, sizeof(soapbody),
-						"<?xml version=\"1.0\"?>\r\n"
-	    	              "<" SOAPPREFIX ":Envelope "
-						  "xmlns:" SOAPPREFIX "=\"http://schemas.xmlsoap.org/soap/envelope/\" "
-						  SOAPPREFIX ":encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">"
-						  "<" SOAPPREFIX ":Body>"
-						  "<" SERVICEPREFIX ":%s xmlns:" SERVICEPREFIX "=\"%s\">"
-						  "</" SERVICEPREFIX ":%s>"
-						  "</" SOAPPREFIX ":Body></" SOAPPREFIX ":Envelope>"
-					 	  "\r\n", action, service, action);
-	}
-	else
-	{
-		char * p;
-		const char * pe, * pv;
-		int soapbodylen;
-		soapbodylen = snprintf(soapbody, sizeof(soapbody),
-						"<?xml version=\"1.0\"?>\r\n"
-	    	            "<" SOAPPREFIX ":Envelope "
-						"xmlns:" SOAPPREFIX "=\"http://schemas.xmlsoap.org/soap/envelope/\" "
-						SOAPPREFIX ":encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">"
-						"<" SOAPPREFIX ":Body>"
-						"<" SERVICEPREFIX ":%s xmlns:" SERVICEPREFIX "=\"%s\">",
-						action, service);
-		p = soapbody + soapbodylen;
-		while(args->elt)
-		{
-			/* check that we are never overflowing the string... */
-			if(soapbody + sizeof(soapbody) <= p + 100)
-			{
-				/* we keep a margin of at least 100 bytes */
-				return NULL;
-			}
-			*(p++) = '<';
-			pe = args->elt;
-			while(*pe)
-				*(p++) = *(pe++);
-			*(p++) = '>';
-			if((pv = args->val))
-			{
-				while(*pv)
-					*(p++) = *(pv++);
-			}
-			*(p++) = '<';
-			*(p++) = '/';
-			pe = args->elt;
-			while(*pe)
-				*(p++) = *(pe++);
-			*(p++) = '>';
-			args++;
-		}
-		*(p++) = '<';
-		*(p++) = '/';
-		*(p++) = SERVICEPREFIX2;
-		*(p++) = ':';
-		pe = action;
-		while(*pe)
-			*(p++) = *(pe++);
-		strncpy(p, "></" SOAPPREFIX ":Body></" SOAPPREFIX ":Envelope>\r\n",
-		        soapbody + sizeof(soapbody) - p);
-	}
-	if(!parseURL(url, hostname, &port, &path)) return NULL;
-	if(s<0)
-	{
-		s = connecthostport(hostname, port);
-		if(s < 0)
-		{
-			return NULL;
-		}
-	}
-
-	n = soapPostSubmit(s, path, hostname, port, soapact, soapbody, httpversion);
-	if(n<=0) {
-#ifdef DEBUG
-		printf("Error sending SOAP request\n");
-#endif
-		closesocket(s);
-		return NULL;
-	}
-
-	buf = getHTTPResponse(s, bufsize);
-#ifdef DEBUG
-	if(*bufsize > 0 && buf)
-	{
-		printf("SOAP Response :\n%.*s\n", *bufsize, buf);
-	}
-#endif
-	closesocket(s);
-	return buf;
-}
-
-/* simpleUPnPcommand :
- * not so simple !
- * return values :
- *   pointer - OK
- *   NULL    - error */
-char * simpleUPnPcommand(int s, const char * url, const char * service,
-		       const char * action, struct UPNParg * args,
-		       int * bufsize)
-{
-	char * buf;
-
-	buf = simpleUPnPcommand2(s, url, service, action, args, bufsize, "1.1");
-/*
-	buf = simpleUPnPcommand2(s, url, service, action, args, bufsize, "1.0");
-	if (!buf || *bufsize == 0)
-	{
-#if DEBUG
-	    printf("Error or no result from SOAP request; retrying with HTTP/1.1\n");
-#endif
-		buf = simpleUPnPcommand2(s, url, service, action, args, bufsize, "1.1");
-	}
-*/
-	return buf;
-}
-
-/* parseMSEARCHReply()
- * the last 4 arguments are filled during the parsing :
- *    - location/locationsize : "location:" field of the SSDP reply packet
- *    - st/stsize : "st:" field of the SSDP reply packet.
- * The strings are NOT null terminated */
-static void
-parseMSEARCHReply(const char * reply, int size,
-                  const char * * location, int * locationsize,
-			      const char * * st, int * stsize)
-{
-	int a, b, i;
-	i = 0;
-	a = i;	/* start of the line */
-	b = 0;	/* end of the "header" (position of the colon) */
-	while(i<size)
-	{
-		switch(reply[i])
-		{
-		case ':':
-				if(b==0)
-				{
-					b = i; /* end of the "header" */
-					/*for(j=a; j<b; j++)
-					{
-						putchar(reply[j]);
-					}
-					*/
-				}
-				break;
-		case '\x0a':
-		case '\x0d':
-				if(b!=0)
-				{
-					/*for(j=b+1; j<i; j++)
-					{
-						putchar(reply[j]);
-					}
-					putchar('\n');*/
-					/* skip the colon and white spaces */
-					do { b++; } while(reply[b]==' ');
-					if(0==strncasecmp(reply+a, "location", 8))
-					{
-						*location = reply+b;
-						*locationsize = i-b;
-					}
-					else if(0==strncasecmp(reply+a, "st", 2))
-					{
-						*st = reply+b;
-						*stsize = i-b;
-					}
-					b = 0;
-				}
-				a = i+1;
-				break;
-		default:
-				break;
-		}
-		i++;
-	}
-}
-
-/* port upnp discover : SSDP protocol */
-#define PORT 1900
-#define XSTR(s) STR(s)
-#define STR(s) #s
-#define UPNP_MCAST_ADDR "239.255.255.250"
-/* for IPv6 */
-#define UPNP_MCAST_LL_ADDR "FF02::C" /* link-local */
-#define UPNP_MCAST_SL_ADDR "FF05::C" /* site-local */
-
-#if defined (WIN32) && defined (NO_GETADDRINFO)
-static int inet_pton(int af, const char* src, void* dst)
-	{
-		int address_length;
-		struct sockaddr_storage sa;
-		struct sockaddr_in *sin = (struct sockaddr_in *)&sa;
-		struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&sa;
-
-		switch (af) {
-			case AF_INET:
-				address_length = sizeof (struct sockaddr_in);
-				break;
-			case AF_INET6:
-				address_length = sizeof (struct sockaddr_in6);
-				break;
-			default:
-				return -1;
-		}
-
-		if (WSAStringToAddress ((LPTSTR) src, af, NULL, (LPSOCKADDR) &sa, &address_length) == 0) {
-			switch (af)
-			{
-				case AF_INET:
-					memcpy (dst, &sin->sin_addr, sizeof (struct in_addr));
-					break;
-
-				case AF_INET6:
-					memcpy (dst, &sin6->sin6_addr, sizeof (struct in6_addr));
-					break;
-			}
-			return 1;
-		}
-
-		return 0;
-	}
-#endif
-
-/* upnpDiscover() :
- * return a chained list of all devices found or NULL if
- * no devices was found.
- * It is up to the caller to free the chained list
- * delay is in millisecond (poll) */
-LIBSPEC struct UPNPDev *
-upnpDiscover(int delay, const char * multicastif,
-             const char * minissdpdsock, int sameport,
-             int ipv6,
-             int * error)
-{
-	struct UPNPDev * tmp;
-	struct UPNPDev * devlist = 0;
-	int opt = 1;
-	static const char MSearchMsgFmt[] = 
-	"M-SEARCH * HTTP/1.1\r\n"
-	"HOST: %s:" XSTR(PORT) "\r\n"
-	"ST: %s\r\n"
-	"MAN: \"ssdp:discover\"\r\n"
-	"MX: %u\r\n"
-	"\r\n";
-	static const char * const deviceList[] = {
-#if 0
-		"urn:schemas-upnp-org:device:InternetGatewayDevice:2",
-		"urn:schemas-upnp-org:service:WANIPConnection:2",
-#endif
-		"urn:schemas-upnp-org:device:InternetGatewayDevice:1",
-		"urn:schemas-upnp-org:service:WANIPConnection:1",
-		"urn:schemas-upnp-org:service:WANPPPConnection:1",
-		"upnp:rootdevice",
-		0
-	};
-	int deviceIndex = 0;
-	char bufr[1536];	/* reception and emission buffer */
-	int sudp;
-	int n;
-	struct sockaddr_storage sockudp_r;
-	unsigned int mx;
-#ifdef NO_GETADDRINFO
-	struct sockaddr_storage sockudp_w;
-#else
-	int rv;
-	struct addrinfo hints, *servinfo, *p;
-#endif
-#ifdef WIN32
-	MIB_IPFORWARDROW ip_forward;
-#endif
-	int linklocal = 1;
-
-	if(error)
-		*error = UPNPDISCOVER_UNKNOWN_ERROR;
-#if !defined(WIN32) && !defined(__amigaos__) && !defined(__amigaos4__)
-	/* first try to get infos from minissdpd ! */
-	if(!minissdpdsock)
-		minissdpdsock = "/var/run/minissdpd.sock";
-	while(!devlist && deviceList[deviceIndex]) {
-		devlist = getDevicesFromMiniSSDPD(deviceList[deviceIndex],
-		                                  minissdpdsock);
-		/* We return what we have found if it was not only a rootdevice */
-		if(devlist && !strstr(deviceList[deviceIndex], "rootdevice")) {
-			if(error)
-				*error = UPNPDISCOVER_SUCCESS;
-			return devlist;
-		}
-		deviceIndex++;
-	}
-	deviceIndex = 0;
-#endif
-	/* fallback to direct discovery */
-#ifdef WIN32
-	sudp = socket(ipv6 ? PF_INET6 : PF_INET, SOCK_DGRAM, IPPROTO_UDP);
-#else
-	sudp = socket(ipv6 ? PF_INET6 : PF_INET, SOCK_DGRAM, 0);
-#endif
-	if(sudp < 0)
-	{
-		if(error)
-			*error = UPNPDISCOVER_SOCKET_ERROR;
-		PRINT_SOCKET_ERROR("socket");
-		return NULL;
-	}
-	/* reception */
-	memset(&sockudp_r, 0, sizeof(struct sockaddr_storage));
-	if(ipv6) {
-		struct sockaddr_in6 * p = (struct sockaddr_in6 *)&sockudp_r;
-		p->sin6_family = AF_INET6;
-		if(sameport)
-			p->sin6_port = htons(PORT);
-		p->sin6_addr = in6addr_any; /* in6addr_any is not available with MinGW32 3.4.2 */
-	} else {
-		struct sockaddr_in * p = (struct sockaddr_in *)&sockudp_r;
-		p->sin_family = AF_INET;
-		if(sameport)
-			p->sin_port = htons(PORT);
-		p->sin_addr.s_addr = INADDR_ANY;
-	}
-#ifdef WIN32
-/* This code could help us to use the right Network interface for 
- * SSDP multicast traffic */
-/* Get IP associated with the index given in the ip_forward struct
- * in order to give this ip to setsockopt(sudp, IPPROTO_IP, IP_MULTICAST_IF) */
-	if(!ipv6
-	   && (GetBestRoute(inet_addr("223.255.255.255"), 0, &ip_forward) == NO_ERROR)) {
-		DWORD dwRetVal = 0;
-		PMIB_IPADDRTABLE pIPAddrTable;
-		DWORD dwSize = 0;
-#ifdef DEBUG
-		IN_ADDR IPAddr;
-#endif
-		int i;
-#ifdef DEBUG
-		printf("ifIndex=%lu nextHop=%lx \n", ip_forward.dwForwardIfIndex, ip_forward.dwForwardNextHop);
-#endif
-		pIPAddrTable = (MIB_IPADDRTABLE *) malloc(sizeof (MIB_IPADDRTABLE));
-		if (GetIpAddrTable(pIPAddrTable, &dwSize, 0) == ERROR_INSUFFICIENT_BUFFER) {
-			free(pIPAddrTable);
-			pIPAddrTable = (MIB_IPADDRTABLE *) malloc(dwSize);
-		}
-		if(pIPAddrTable) {
-			dwRetVal = GetIpAddrTable( pIPAddrTable, &dwSize, 0 );
-#ifdef DEBUG
-			printf("\tNum Entries: %ld\n", pIPAddrTable->dwNumEntries);
-#endif
-			for (i=0; i < (int) pIPAddrTable->dwNumEntries; i++) {
-#ifdef DEBUG
-				printf("\n\tInterface Index[%d]:\t%ld\n", i, pIPAddrTable->table[i].dwIndex);
-				IPAddr.S_un.S_addr = (u_long) pIPAddrTable->table[i].dwAddr;
-				printf("\tIP Address[%d]:     \t%s\n", i, inet_ntoa(IPAddr) );
-				IPAddr.S_un.S_addr = (u_long) pIPAddrTable->table[i].dwMask;
-				printf("\tSubnet Mask[%d]:    \t%s\n", i, inet_ntoa(IPAddr) );
-				IPAddr.S_un.S_addr = (u_long) pIPAddrTable->table[i].dwBCastAddr;
-				printf("\tBroadCast[%d]:      \t%s (%ld)\n", i, inet_ntoa(IPAddr), pIPAddrTable->table[i].dwBCastAddr);
-				printf("\tReassembly size[%d]:\t%ld\n", i, pIPAddrTable->table[i].dwReasmSize);
-				printf("\tType and State[%d]:", i);
-				printf("\n");
-#endif
-				if (pIPAddrTable->table[i].dwIndex == ip_forward.dwForwardIfIndex) {
-					/* Set the address of this interface to be used */
-					struct in_addr mc_if;
-					memset(&mc_if, 0, sizeof(mc_if));
-					mc_if.s_addr = pIPAddrTable->table[i].dwAddr;
-					if(setsockopt(sudp, IPPROTO_IP, IP_MULTICAST_IF, (const char *)&mc_if, sizeof(mc_if)) < 0) {
-						PRINT_SOCKET_ERROR("setsockopt");
-					}
-					((struct sockaddr_in *)&sockudp_r)->sin_addr.s_addr = pIPAddrTable->table[i].dwAddr;
-#ifndef DEBUG
-					break;
-#endif
-				}
-			}
-			free(pIPAddrTable);
-			pIPAddrTable = NULL;
-		}
-	}
-#endif
-
-#ifdef WIN32
-	if (setsockopt(sudp, SOL_SOCKET, SO_REUSEADDR, (const char *)&opt, sizeof (opt)) < 0)
-#else
-	if (setsockopt(sudp, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof (opt)) < 0)
-#endif
-	{
-		if(error)
-			*error = UPNPDISCOVER_SOCKET_ERROR;
-		PRINT_SOCKET_ERROR("setsockopt");
-		return NULL;
-	}
-
-	if(multicastif)
-	{
-		if(ipv6) {
-#if !defined(WIN32)
-			/* according to MSDN, if_nametoindex() is supported since
-			 * MS Windows Vista and MS Windows Server 2008.
-			 * http://msdn.microsoft.com/en-us/library/bb408409%28v=vs.85%29.aspx */
-			unsigned int ifindex = if_nametoindex(multicastif); /* eth0, etc. */
-			if(setsockopt(sudp, IPPROTO_IPV6, IPV6_MULTICAST_IF, &ifindex, sizeof(&ifindex)) < 0)
-			{
-				PRINT_SOCKET_ERROR("setsockopt");
-			}
-#else
-#ifdef DEBUG
-			printf("Setting of multicast interface not supported in IPv6 under Windows.\n");
-#endif
-#endif
-		} else {
-			struct in_addr mc_if;
-			mc_if.s_addr = inet_addr(multicastif); /* ex: 192.168.x.x */
-			((struct sockaddr_in *)&sockudp_r)->sin_addr.s_addr = mc_if.s_addr;
-			if(setsockopt(sudp, IPPROTO_IP, IP_MULTICAST_IF, (const char *)&mc_if, sizeof(mc_if)) < 0)
-			{
-				PRINT_SOCKET_ERROR("setsockopt");
-			}
-		}
-	}
-
-	/* Avant d'envoyer le paquet on bind pour recevoir la reponse */
-    if (bind(sudp, (const struct sockaddr *)&sockudp_r,
-	         ipv6 ? sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in)) != 0)
-	{
-		if(error)
-			*error = UPNPDISCOVER_SOCKET_ERROR;
-        PRINT_SOCKET_ERROR("bind");
-		closesocket(sudp);
-		return NULL;
-    }
-
-	if(error)
-		*error = UPNPDISCOVER_SUCCESS;
-	/* Calculating maximum response time in seconds */
-	mx = ((unsigned int)delay) / 1000u;
-	/* receiving SSDP response packet */
-	for(n = 0; deviceList[deviceIndex]; deviceIndex++)
-	{
-	if(n == 0)
-	{
-		/* sending the SSDP M-SEARCH packet */
-		n = snprintf(bufr, sizeof(bufr),
-		             MSearchMsgFmt,
-		             ipv6 ?
-		             (linklocal ? "[" UPNP_MCAST_LL_ADDR "]" :  "[" UPNP_MCAST_SL_ADDR "]")
-		             : UPNP_MCAST_ADDR,
-		             deviceList[deviceIndex], mx);
-#ifdef DEBUG
-		printf("Sending %s", bufr);
-#endif
-#ifdef NO_GETADDRINFO
-		/* the following code is not using getaddrinfo */
-		/* emission */
-		memset(&sockudp_w, 0, sizeof(struct sockaddr_storage));
-		if(ipv6) {
-			struct sockaddr_in6 * p = (struct sockaddr_in6 *)&sockudp_w;
-			p->sin6_family = AF_INET6;
-			p->sin6_port = htons(PORT);
-			inet_pton(AF_INET6,
-			          linklocal ? UPNP_MCAST_LL_ADDR : UPNP_MCAST_SL_ADDR,
-			          &(p->sin6_addr));
-		} else {
-			struct sockaddr_in * p = (struct sockaddr_in *)&sockudp_w;
-			p->sin_family = AF_INET;
-			p->sin_port = htons(PORT);
-			p->sin_addr.s_addr = inet_addr(UPNP_MCAST_ADDR);
-		}
-		n = sendto(sudp, bufr, n, 0,
-		           (const void *)&sockudp_w,
-		           ipv6 ? sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in));
-		if (n < 0) {
-			if(error)
-				*error = UPNPDISCOVER_SOCKET_ERROR;
-			PRINT_SOCKET_ERROR("sendto");
-			break;
-		}
-#else /* #ifdef NO_GETADDRINFO */
-		memset(&hints, 0, sizeof(hints));
-		hints.ai_family = AF_UNSPEC; // AF_INET6 or AF_INET
-		hints.ai_socktype = SOCK_DGRAM;
-		/*hints.ai_flags = */
-		if ((rv = getaddrinfo(ipv6
-		                      ? (linklocal ? UPNP_MCAST_LL_ADDR : UPNP_MCAST_SL_ADDR)
-		                      : UPNP_MCAST_ADDR,
-		                      XSTR(PORT), &hints, &servinfo)) != 0) {
-			if(error)
-				*error = UPNPDISCOVER_SOCKET_ERROR;
-#ifdef WIN32
-		    fprintf(stderr, "getaddrinfo() failed: %d\n", rv);
-#else
-		    fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(rv));
-#endif
-			break;
-		}
-		for(p = servinfo; p; p = p->ai_next) {
-			n = sendto(sudp, bufr, n, 0, p->ai_addr, p->ai_addrlen);
-			if (n < 0) {
-				PRINT_SOCKET_ERROR("sendto");
-				continue;
-			}
-		}
-		freeaddrinfo(servinfo);
-		if(n < 0) {
-			if(error)
-				*error = UPNPDISCOVER_SOCKET_ERROR;
-			break;
-		}
-#endif /* #ifdef NO_GETADDRINFO */
-	}
-	/* Waiting for SSDP REPLY packet to M-SEARCH */
-	n = receivedata(sudp, bufr, sizeof(bufr), delay);
-	if (n < 0) {
-		/* error */
-		if(error)
-			*error = UPNPDISCOVER_SOCKET_ERROR;
-		break;
-	} else if (n == 0) {
-		/* no data or Time Out */
-		if (devlist) {
-			/* no more device type to look for... */
-			if(error)
-				*error = UPNPDISCOVER_SUCCESS;
-			break;
-		}
-		if(ipv6) {
-			if(linklocal) {
-				linklocal = 0;
-				--deviceIndex;
-			} else {
-				linklocal = 1;
-			}
-		}
-	} else {
-		const char * descURL=NULL;
-		int urlsize=0;
-		const char * st=NULL;
-		int stsize=0;
-        /*printf("%d byte(s) :\n%s\n", n, bufr);*/ /* affichage du message */
-		parseMSEARCHReply(bufr, n, &descURL, &urlsize, &st, &stsize);
-		if(st&&descURL)
-		{
-#ifdef DEBUG
-			printf("M-SEARCH Reply:\nST: %.*s\nLocation: %.*s\n",
-			       stsize, st, urlsize, descURL);
-#endif
-			for(tmp=devlist; tmp; tmp = tmp->pNext) {
-				if(memcmp(tmp->descURL, descURL, urlsize) == 0 &&
-				   tmp->descURL[urlsize] == '\0' &&
-				   memcmp(tmp->st, st, stsize) == 0 &&
-				   tmp->st[stsize] == '\0')
-					break;
-			}
-			/* at the exit of the loop above, tmp is null if
-			 * no duplicate device was found */
-			if(tmp)
-				continue;
-			tmp = (struct UPNPDev *)malloc(sizeof(struct UPNPDev)+urlsize+stsize);
-			if(!tmp) {
-				/* memory allocation error */
-				if(error)
-					*error = UPNPDISCOVER_MEMORY_ERROR;
-				break;
-			}
-			tmp->pNext = devlist;
-			tmp->descURL = tmp->buffer;
-			tmp->st = tmp->buffer + 1 + urlsize;
-			memcpy(tmp->buffer, descURL, urlsize);
-			tmp->buffer[urlsize] = '\0';
-			memcpy(tmp->buffer + urlsize + 1, st, stsize);
-			tmp->buffer[urlsize+1+stsize] = '\0';
-			devlist = tmp;
-		}
-	}
-	}
-	closesocket(sudp);
-	return devlist;
-}
-
-/* freeUPNPDevlist() should be used to
- * free the chained list returned by upnpDiscover() */
-LIBSPEC void freeUPNPDevlist(struct UPNPDev * devlist)
-{
-	struct UPNPDev * next;
-	while(devlist)
-	{
-		next = devlist->pNext;
-		free(devlist);
-		devlist = next;
-	}
-}
-
-static void
-url_cpy_or_cat(char * dst, const char * src, int n)
-{
-	if(  (src[0] == 'h')
-	   &&(src[1] == 't')
-	   &&(src[2] == 't')
-	   &&(src[3] == 'p')
-	   &&(src[4] == ':')
-	   &&(src[5] == '/')
-	   &&(src[6] == '/'))
-	{
-		strncpy(dst, src, n);
-	}
-	else
-	{
-		int l = strlen(dst);
-		if(src[0] != '/')
-			dst[l++] = '/';
-		if(l<=n)
-			strncpy(dst + l, src, n - l);
-	}
-}
-
-/* Prepare the Urls for usage...
- */
-LIBSPEC void GetUPNPUrls(struct UPNPUrls * urls, struct IGDdatas * data,
-                 const char * descURL)
-{
-	char * p;
-	int n1, n2, n3, n4;
-	n1 = strlen(data->urlbase);
-	if(n1==0)
-		n1 = strlen(descURL);
-	n1 += 2;	/* 1 byte more for Null terminator, 1 byte for '/' if needed */
-	n2 = n1; n3 = n1; n4 = n1;
-	n1 += strlen(data->first.scpdurl);
-	n2 += strlen(data->first.controlurl);
-	n3 += strlen(data->CIF.controlurl);
-	n4 += strlen(data->IPv6FC.controlurl);
-
-	urls->ipcondescURL = (char *)malloc(n1);
-	urls->controlURL = (char *)malloc(n2);
-	urls->controlURL_CIF = (char *)malloc(n3);
-	urls->controlURL_6FC = (char *)malloc(n4);
-	/* maintenant on chope la desc du WANIPConnection */
-	if(data->urlbase[0] != '\0')
-		strncpy(urls->ipcondescURL, data->urlbase, n1);
-	else
-		strncpy(urls->ipcondescURL, descURL, n1);
-	p = strchr(urls->ipcondescURL+7, '/');
-	if(p) p[0] = '\0';
-	strncpy(urls->controlURL, urls->ipcondescURL, n2);
-	strncpy(urls->controlURL_CIF, urls->ipcondescURL, n3);
-	strncpy(urls->controlURL_6FC, urls->ipcondescURL, n4);
-	
-	url_cpy_or_cat(urls->ipcondescURL, data->first.scpdurl, n1);
-
-	url_cpy_or_cat(urls->controlURL, data->first.controlurl, n2);
-
-	url_cpy_or_cat(urls->controlURL_CIF, data->CIF.controlurl, n3);
-
-	url_cpy_or_cat(urls->controlURL_6FC, data->IPv6FC.controlurl, n4);
-
-#ifdef DEBUG
-	printf("urls->ipcondescURL='%s' %u n1=%d\n", urls->ipcondescURL,
-	       (unsigned)strlen(urls->ipcondescURL), n1);
-	printf("urls->controlURL='%s' %u n2=%d\n", urls->controlURL,
-	       (unsigned)strlen(urls->controlURL), n2);
-	printf("urls->controlURL_CIF='%s' %u n3=%d\n", urls->controlURL_CIF,
-	       (unsigned)strlen(urls->controlURL_CIF), n3);
-	printf("urls->controlURL_6FC='%s' %u n4=%d\n", urls->controlURL_6FC,
-	       (unsigned)strlen(urls->controlURL_6FC), n4);
-#endif
-}
-
-LIBSPEC void
-FreeUPNPUrls(struct UPNPUrls * urls)
-{
-	if(!urls)
-		return;
-	free(urls->controlURL);
-	urls->controlURL = 0;
-	free(urls->ipcondescURL);
-	urls->ipcondescURL = 0;
-	free(urls->controlURL_CIF);
-	urls->controlURL_CIF = 0;
-	free(urls->controlURL_6FC);
-	urls->controlURL_6FC = 0;
-}
-
-int
-UPNPIGD_IsConnected(struct UPNPUrls * urls, struct IGDdatas * data)
-{
-	char status[64];
-	unsigned int uptime;
-	status[0] = '\0';
-	UPNP_GetStatusInfo(urls->controlURL, data->first.servicetype,
-	                   status, &uptime, NULL);
-	if(0 == strcmp("Connected", status))
-	{
-		return 1;
-	}
-	else
-		return 0;
-}
-
-
-/* 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.
- */
-LIBSPEC int
-UPNP_GetValidIGD(struct UPNPDev * devlist,
-                 struct UPNPUrls * urls,
-				 struct IGDdatas * data,
-				 char * lanaddr, int lanaddrlen)
-{
-	char * descXML;
-	int descXMLsize = 0;
-	struct UPNPDev * dev;
-	int ndev = 0;
-	int state; /* state 1 : IGD connected. State 2 : IGD. State 3 : anything */
-	if(!devlist)
-	{
-#ifdef DEBUG
-		printf("Empty devlist\n");
-#endif
-		return 0;
-	}
-	for(state = 1; state <= 3; state++)
-	{
-		for(dev = devlist; dev; dev = dev->pNext)
-		{
-			/* we should choose an internet gateway device.
-		 	* with st == urn:schemas-upnp-org:device:InternetGatewayDevice:1 */
-			descXML = miniwget_getaddr(dev->descURL, &descXMLsize,
-			   	                        lanaddr, lanaddrlen);
-			if(descXML)
-			{
-				ndev++;
-				memset(data, 0, sizeof(struct IGDdatas));
-				memset(urls, 0, sizeof(struct UPNPUrls));
-				parserootdesc(descXML, descXMLsize, data);
-				free(descXML);
-				descXML = NULL;
-				if(0==strcmp(data->CIF.servicetype,
-				   "urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1")
-				   || state >= 3 )
-				{
-				  GetUPNPUrls(urls, data, dev->descURL);
-
-#ifdef DEBUG
-				  printf("UPNPIGD_IsConnected(%s) = %d\n",
-				     urls->controlURL,
-			         UPNPIGD_IsConnected(urls, data));
-#endif
-				  if((state >= 2) || UPNPIGD_IsConnected(urls, data))
-					return state;
-				  FreeUPNPUrls(urls);
-				  if(data->second.servicetype[0] != '\0') {
-#ifdef DEBUG
-				    printf("We tried %s, now we try %s !\n",
-				           data->first.servicetype, data->second.servicetype);
-#endif
-				    /* swaping WANPPPConnection and WANIPConnection ! */
-				    memcpy(&data->tmp, &data->first, sizeof(struct IGDdatas_service));
-				    memcpy(&data->first, &data->second, sizeof(struct IGDdatas_service));
-				    memcpy(&data->second, &data->tmp, sizeof(struct IGDdatas_service));
-				    GetUPNPUrls(urls, data, dev->descURL);
-#ifdef DEBUG
-				    printf("UPNPIGD_IsConnected(%s) = %d\n",
-				       urls->controlURL,
-			           UPNPIGD_IsConnected(urls, data));
-#endif
-				    if((state >= 2) || UPNPIGD_IsConnected(urls, data))
-					  return state;
-				    FreeUPNPUrls(urls);
-				  }
-				}
-				memset(data, 0, sizeof(struct IGDdatas));
-			}
-#ifdef DEBUG
-			else
-			{
-				printf("error getting XML description %s\n", dev->descURL);
-			}
-#endif
-		}
-	}
-	return 0;
-}
-
-/* UPNP_GetIGDFromUrl()
- * Used when skipping the discovery process.
- * return value :
- *   0 - Not ok
- *   1 - OK */
-int
-UPNP_GetIGDFromUrl(const char * rootdescurl,
-                   struct UPNPUrls * urls,
-                   struct IGDdatas * data,
-                   char * lanaddr, int lanaddrlen)
-{
-	char * descXML;
-	int descXMLsize = 0;
-	descXML = miniwget_getaddr(rootdescurl, &descXMLsize,
-	   	                       lanaddr, lanaddrlen);
-	if(descXML) {
-		memset(data, 0, sizeof(struct IGDdatas));
-		memset(urls, 0, sizeof(struct UPNPUrls));
-		parserootdesc(descXML, descXMLsize, data);
-		free(descXML);
-		descXML = NULL;
-		GetUPNPUrls(urls, data, rootdescurl);
-		return 1;
-	} else {
-		return 0;
-	}
-}
-
diff --git a/libs/miniupnpc/miniupnpc.def b/libs/miniupnpc/miniupnpc.def
index 10b9f58002..baa841f20b 100644
--- a/libs/miniupnpc/miniupnpc.def
+++ b/libs/miniupnpc/miniupnpc.def
@@ -1,9 +1,13 @@
 LIBRARY
 ; miniupnpc library
+   miniupnpc
 
 EXPORTS
 ; miniupnpc
    upnpDiscover
+   upnpDiscoverDevice
+   upnpDiscoverDevices
+   upnpDiscoverAll
    freeUPNPDevlist
    parserootdesc
    UPNP_GetValidIGD
@@ -23,7 +27,9 @@ EXPORTS
    UPNP_GetExternalIPAddress
    UPNP_GetLinkLayerMaxBitRates
    UPNP_AddPortMapping
+   UPNP_AddAnyPortMapping
    UPNP_DeletePortMapping
+   UPNP_DeletePortMappingRange
    UPNP_GetPortMappingNumberOfEntries
    UPNP_GetSpecificPortMappingEntry
    UPNP_GetGenericPortMappingEntry
diff --git a/libs/miniupnpc/miniupnpc.pc.in b/libs/miniupnpc/miniupnpc.pc.in
new file mode 100644
index 0000000000..3d33cbdb00
--- /dev/null
+++ b/libs/miniupnpc/miniupnpc.pc.in
@@ -0,0 +1,18 @@
+# this template is filled-in by CMake `configure_file(... @ONLY)`
+# the `@....@` are filled in by CMake configure_file(), 
+# from variables set in your CMakeLists.txt or by CMake itself
+#
+# Good tutoral for understanding .pc files: 
+# https://people.freedesktop.org/~dbn/pkg-config-guide.html
+
+prefix="@CMAKE_INSTALL_PREFIX@"
+exec_prefix="${prefix}"
+libdir="${prefix}/lib"
+includedir="${prefix}/include"
+
+Name: @PROJECT_NAME@
+Description: @PROJECT_DESCRIPTION@
+URL: @PROJECT_HOMEPAGE_URL@
+Version: @PROJECT_VERSION@
+Libs: -L"${libdir}" -lminiupnpc
+Cflags: -I"${includedir}"
diff --git a/libs/miniupnpc/miniupnpc.rc b/libs/miniupnpc/miniupnpc.rc
new file mode 100644
index 0000000000..92954afdaf
--- /dev/null
+++ b/libs/miniupnpc/miniupnpc.rc
@@ -0,0 +1,36 @@
+#include <winver.h>
+#include "rc_version.h"
+
+VS_VERSION_INFO		VERSIONINFO
+  FILEVERSION		LIBMINIUPNPC_MAJOR_VERSION,LIBMINIUPNPC_MINOR_VERSION,LIBMINIUPNPC_MICRO_VERSION,0
+  PRODUCTVERSION	LIBMINIUPNPC_MAJOR_VERSION,LIBMINIUPNPC_MINOR_VERSION,LIBMINIUPNPC_MICRO_VERSION,0
+  FILEFLAGSMASK		VS_FFI_FILEFLAGSMASK
+#ifdef _DEBUG
+  FILEFLAGS		VS_FF_DEBUG
+#else
+  FILEFLAGS		0
+#endif
+  FILEOS		VOS__WINDOWS32
+  FILETYPE		VFT_DLL
+  FILESUBTYPE	VFT2_UNKNOWN	// not used
+BEGIN
+  BLOCK "StringFileInfo"
+  BEGIN
+    BLOCK "04090000"  /* Lang = US English, Charset = ASCII */
+    BEGIN
+      VALUE "FileDescription",	"MiniUPnPc library\0"
+      VALUE "FileVersion",	LIBMINIUPNPC_DOTTED_VERSION "\0"
+      VALUE "InternalName",	INTERNAL_NAME
+      VALUE "LegalCopyright",	"Copyright (C) Thomas Bernard\0"
+      VALUE "LegalTrademarks",	"\0"
+      VALUE "OriginalFilename",	INTERNAL_NAME
+      VALUE "ProductName",	"MiniUPnPc\0"
+      VALUE "ProductVersion",	LIBMINIUPNPC_DOTTED_VERSION "\0"
+      VALUE "Comments",		"For more information visit https://miniupnp.tuxfamil.org/\0"
+    END
+  END
+  BLOCK "VarFileInfo"
+  BEGIN
+      VALUE "Translation", 0x0409, 0  /* US English, ASCII */
+  END
+END
diff --git a/libs/miniupnpc/miniupnpcstrings.h.cmake b/libs/miniupnpc/miniupnpcstrings.h.cmake
index a3726350ce..78c8fe9c53 100644
--- a/libs/miniupnpc/miniupnpcstrings.h.cmake
+++ b/libs/miniupnpc/miniupnpcstrings.h.cmake
@@ -1,7 +1,15 @@
-#ifndef __MINIUPNPCSTRINGS_H__
-#define __MINIUPNPCSTRINGS_H__
+#ifndef MINIUPNPCSTRINGS_H_INCLUDED
+#define MINIUPNPCSTRINGS_H_INCLUDED
 
 #define OS_STRING "${CMAKE_SYSTEM_NAME}"
 #define MINIUPNPC_VERSION_STRING "${MINIUPNPC_VERSION}"
 
+#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/libs/miniupnpc/miniupnpcstrings.h.in b/libs/miniupnpc/miniupnpcstrings.h.in
index 201c9a862a..68bf4293df 100644
--- a/libs/miniupnpc/miniupnpcstrings.h.in
+++ b/libs/miniupnpc/miniupnpcstrings.h.in
@@ -1,15 +1,23 @@
-/* $Id: miniupnpcstrings.h.in,v 1.4 2011/01/04 11:41:53 nanard Exp $ */
+/* $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-2011 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__
-#define __MINIUPNPCSTRINGS_H__
+#ifndef MINIUPNPCSTRINGS_H_INCLUDED
+#define MINIUPNPCSTRINGS_H_INCLUDED
 
 #define OS_STRING "OS/version"
 #define MINIUPNPC_VERSION_STRING "version"
 
+#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/libs/miniupnpc/miniwget.h b/libs/miniupnpc/miniwget.h
deleted file mode 100644
index 8314b40003..0000000000
--- a/libs/miniupnpc/miniwget.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* $Id: miniwget.h,v 1.6 2010/12/09 16:11:33 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 __MINIWGET_H__
-#define __MINIWGET_H__
-
-#include "declspec.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-LIBSPEC void * getHTTPResponse(int s, int * size);
-
-LIBSPEC void * miniwget(const char *, int *);
-
-LIBSPEC void * miniwget_getaddr(const char *, int *, char *, int);
-
-int parseURL(const char *, char *, unsigned short *, char * *);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
diff --git a/libs/miniupnpc/msvc/genminiupnpcstrings.vbs b/libs/miniupnpc/msvc/genminiupnpcstrings.vbs
new file mode 100644
index 0000000000..415b2ee6b7
--- /dev/null
+++ b/libs/miniupnpc/msvc/genminiupnpcstrings.vbs
@@ -0,0 +1,112 @@
+' VBScript to generate miniupnpcstrings.h
+' Copyright 2018 Thomas Bernard
+'Set WshShell = CreateObject("WScript.Shell")
+Set FSO = CreateObject("Scripting.FileSystemObject")
+versionfile = "..\version"
+infile = "..\miniupnpcstrings.h.in"
+outfile = "..\miniupnpcstrings.h"
+outfilerc = "..\rc_version.h"
+
+On Error Resume Next
+
+'Wscript.Echo revision
+
+Err.Clear
+Set f = FSO.OpenTextFile(versionfile, 1, False) ' 1 = Read
+If Err.Number = 0 Then
+	version = f.ReadLine
+	f.Close
+Else
+	' Exit error
+	WScript.Quit 1
+End If
+
+os_version = "0.0.0"
+strComputer = "."
+Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
+Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
+For Each objOperatingSystem in colOperatingSystems
+    'Wscript.Echo objOperatingSystem.Caption & " -- " 
+	os_version = objOperatingSystem.Version
+Next
+
+'Wscript.Echo os_version
+
+Dim array
+needWrite = True
+
+' First Check if the file already contains the right versions
+Err.Clear
+Set f_in = FSO.OpenTextFile(outfile, 1, False)
+If Err.Number = 0 Then
+	old_version = ""
+	old_os_version = ""
+	Do Until f_in.AtEndOfStream
+		line = f_in.ReadLine
+		If Len(line) > 0 Then
+			array = Split(line, " ")
+			If UBound(array) >= 2 And array(0) = "#define" Then
+				If array(1) = "OS_STRING" Then
+					old_os_version = Replace(array(2), Chr(34), "")
+				ElseIf array(1) = "MINIUPNPC_VERSION_STRING" Then
+					old_version = Replace(array(2), Chr(34), "")
+				End if
+			End if
+		End If
+	Loop
+	f_in.Close
+	If old_version = version And old_os_version = "MSWindows/" & os_version Then
+		needWrite = False
+	Else
+		needWrite = True
+	End If
+End If
+
+If Not needWrite Then
+	' check files dates
+	Set fIn1 = FSO.GetFile(versionfile)
+	Set fIn2 = FSO.GetFile(infile)
+	Set fOut = FSO.GetFile(outfile)
+	If DateDiff("s", fIn1.DateLastModified, fOut.DateLastModified) < 0 Then
+		needWrite = True
+	End If
+	If DateDiff("s", fIn2.DateLastModified, fOut.DateLastModified) < 0 Then
+		needWrite = True
+	End If
+End If
+
+If Not needWrite Then
+    ' nothing to do
+	WScript.Quit 0
+End if
+
+' generate the file
+Err.Clear
+Set f_in = FSO.OpenTextFile(infile, 1, False)
+If Err.Number = 0 Then
+	Set f_out = FSO.OpenTextFile(outfile, 2, True) ' 2 = Write
+	Do Until f_in.AtEndOfStream
+		line = f_in.ReadLine
+		If Len(line) > 0 Then
+			array = Split(line, " ")
+			If UBound(array) >= 2 And array(0) = "#define" Then
+				If array(1) = "OS_STRING" Then
+					line = "#define OS_STRING " & Chr(34) & "MSWindows/" & os_version & Chr(34)
+				ElseIf array(1) = "MINIUPNPC_VERSION_STRING" Then
+					line = "#define MINIUPNPC_VERSION_STRING " & Chr(34) & version & Chr(34)
+				End if
+			End if
+		End If
+		f_out.WriteLine line
+	Loop
+	f_in.Close
+	f_out.Close
+End If
+
+Set f_out = FSO.OpenTextFile(outfilerc, 2, True) ' 2 = Write
+f_out.WriteLine "#define LIBMINIUPNPC_DOTTED_VERSION " & Chr(34) & version & Chr(34)
+ver = Split(version, ".")
+f_out.WriteLine "#define LIBMINIUPNPC_MAJOR_VERSION " & ver(0)
+f_out.WriteLine "#define LIBMINIUPNPC_MINOR_VERSION " & ver(1)
+f_out.WriteLine "#define LIBMINIUPNPC_MICRO_VERSION " & ver(2)
+f_out.Close
diff --git a/libs/miniupnpc/msvc/miniupnpc.vcproj b/libs/miniupnpc/msvc/miniupnpc.vcproj
index cce2de576f..90646c53f7 100644
--- a/libs/miniupnpc/msvc/miniupnpc.vcproj
+++ b/libs/miniupnpc/msvc/miniupnpc.vcproj
@@ -41,7 +41,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS;WIN32;STATICLIB;DEBUG"
+				PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS;MINIUPNP_STATICLIB;DEBUG"
 				MinimalRebuild="true"
 				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
@@ -104,7 +104,7 @@
 				Name="VCCLCompilerTool"
 				Optimization="2"
 				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS;WIN32;STATICLIB"
+				PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS;MINIUPNP_STATICLIB"
 				RuntimeLibrary="2"
 				EnableFunctionLevelLinking="true"
 				UsePrecompiledHeader="0"
@@ -160,6 +160,10 @@
 				RelativePath="..\minisoap.c"
 				>
 			</File>
+			<File
+				RelativePath="..\minissdpc.c"
+				>
+			</File>
 			<File
 				RelativePath="..\miniupnpc.c"
 				>
@@ -184,6 +188,10 @@
 				RelativePath="..\upnpcommands.c"
 				>
 			</File>
+			<File
+				RelativePath="..\upnpdev.c"
+				>
+			</File>
 			<File
 				RelativePath="..\upnperrors.c"
 				>
@@ -198,10 +206,6 @@
 			Filter="h;hpp;hxx;hm;inl;inc;xsd"
 			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
 			>
-			<File
-				RelativePath="..\bsdqueue.h"
-				>
-			</File>
 			<File
 				RelativePath="..\connecthostport.h"
 				>
@@ -218,6 +222,10 @@
 				RelativePath="..\minisoap.h"
 				>
 			</File>
+			<File
+				RelativePath="..\minissdpc.h"
+				>
+			</File>
 			<File
 				RelativePath="..\miniupnpc.h"
 				>
@@ -250,6 +258,10 @@
 				RelativePath="..\upnpcommands.h"
 				>
 			</File>
+			<File
+				RelativePath="..\upnpdev.h"
+				>
+			</File>
 			<File
 				RelativePath="..\upnperrors.h"
 				>
diff --git a/libs/miniupnpc/msvc/miniupnpc.vcxproj b/libs/miniupnpc/msvc/miniupnpc.vcxproj
new file mode 100644
index 0000000000..24c24ea081
--- /dev/null
+++ b/libs/miniupnpc/msvc/miniupnpc.vcxproj
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug Dll|Win32">
+      <Configuration>Debug Dll</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release Dll|Win32">
+      <Configuration>Release Dll</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{D28CE435-CB33-4BAE-8A52-C6EF915956F5}</ProjectGuid>
+    <RootNamespace>miniupnpc</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>14.0.25123.0</_ProjectFileVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'">
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'">
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;MINIUPNP_STATICLIB;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader />
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <PreBuildEvent>
+      <Command>genminiupnpcstrings.vbs</Command>
+    </PreBuildEvent>
+    <ResourceCompile>
+      <PreprocessorDefinitions>INTERNAL_NAME="\"miniupnpc.dll\0\"";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ResourceCompile>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;MINIUPNP_EXPORTS;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <PreBuildEvent>
+      <Command>genminiupnpcstrings.vbs</Command>
+    </PreBuildEvent>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;IPHlpApi.Lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+    <ResourceCompile>
+      <PreprocessorDefinitions>INTERNAL_NAME="\"miniupnpc.dll\0\"";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ResourceCompile>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;MINIUPNP_STATICLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader />
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <PreBuildEvent>
+      <Command>genminiupnpcstrings.vbs</Command>
+    </PreBuildEvent>
+    <ResourceCompile>
+      <PreprocessorDefinitions>INTERNAL_NAME="\"miniupnpc.dll\0\"";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ResourceCompile>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;MINIUPNP_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <PreBuildEvent>
+      <Command>genminiupnpcstrings.vbs</Command>
+    </PreBuildEvent>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;IPHlpApi.Lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+    <ResourceCompile>
+      <PreprocessorDefinitions>INTERNAL_NAME="\"miniupnpc.dll\0\"";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ResourceCompile>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\src\addr_is_reserved.c" />
+    <ClCompile Include="..\src\connecthostport.c" />
+    <ClCompile Include="..\src\igd_desc_parse.c" />
+    <ClCompile Include="..\src\minisoap.c" />
+    <ClCompile Include="..\src\minissdpc.c" />
+    <ClCompile Include="..\src\miniupnpc.c" />
+    <ClCompile Include="..\src\miniwget.c" />
+    <ClCompile Include="..\src\minixml.c" />
+    <ClCompile Include="..\src\portlistingparse.c" />
+    <ClCompile Include="..\src\receivedata.c" />
+    <ClCompile Include="..\src\upnpcommands.c" />
+    <ClCompile Include="..\src\upnpdev.c" />
+    <ClCompile Include="..\src\upnperrors.c" />
+    <ClCompile Include="..\src\upnpreplyparse.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\src\addr_is_reserved.h" />
+    <ClInclude Include="..\src\connecthostport.h" />
+    <ClInclude Include="..\include\igd_desc_parse.h" />
+    <ClInclude Include="..\src\minisoap.h" />
+    <ClInclude Include="..\src\minissdpc.h" />
+    <ClInclude Include="..\include\miniupnpc.h" />
+    <ClInclude Include="..\miniupnpcstrings.h" />
+    <ClInclude Include="..\include\miniupnpctypes.h" />
+    <ClInclude Include="..\include\miniupnpc_declspec.h" />
+    <ClInclude Include="..\include\miniwget.h" />
+    <ClInclude Include="..\src\miniwget_private.h" />
+    <ClInclude Include="..\src\minixml.h" />
+    <ClInclude Include="..\include\portlistingparse.h" />
+    <ClInclude Include="..\src\receivedata.h" />
+    <ClInclude Include="..\include\upnpcommands.h" />
+    <ClInclude Include="..\include\upnpdev.h" />
+    <ClInclude Include="..\include\upnperrors.h" />
+    <ClInclude Include="..\include\upnpreplyparse.h" />
+    <ClInclude Include="..\src\win32_snprintf.h" />
+    <ClInclude Include="..\rc_version.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="genminiupnpcstrings.vbs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="../miniupnpc.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/libs/miniupnpc/msvc/miniupnpc.vcxproj.filters b/libs/miniupnpc/msvc/miniupnpc.vcxproj.filters
new file mode 100644
index 0000000000..245bc4c248
--- /dev/null
+++ b/libs/miniupnpc/msvc/miniupnpc.vcxproj.filters
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Fichiers sources">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Fichiers d%27en-tête">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Fichiers de ressources">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+    </Filter>
+    <Filter Include="scripts">
+      <UniqueIdentifier>{508da401-2f8e-4fdb-9a43-95baa95a91e7}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\src\addr_is_reserved.c">
+      <Filter>Fichiers sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\connecthostport.c">
+      <Filter>Fichiers sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\igd_desc_parse.c">
+      <Filter>Fichiers sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\minisoap.c">
+      <Filter>Fichiers sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\minissdpc.c">
+      <Filter>Fichiers sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\miniupnpc.c">
+      <Filter>Fichiers sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\miniwget.c">
+      <Filter>Fichiers sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\minixml.c">
+      <Filter>Fichiers sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\portlistingparse.c">
+      <Filter>Fichiers sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\receivedata.c">
+      <Filter>Fichiers sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\upnpcommands.c">
+      <Filter>Fichiers sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\upnpdev.c">
+      <Filter>Fichiers sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\upnperrors.c">
+      <Filter>Fichiers sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\upnpreplyparse.c">
+      <Filter>Fichiers sources</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\rc_version.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\addr_is_reserved.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\connecthostport.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\include\igd_desc_parse.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\minisoap.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\minissdpc.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\include\miniupnpc.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\include\miniupnpcstrings.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\include\miniupnpctypes.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\include\miniupnpc_declspec.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\include\miniwget.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\minixml.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\include\portlistingparse.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\include\receivedata.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\include\upnpcommands.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\include\upnpdev.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\include\upnperrors.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\include\upnpreplyparse.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\win32_snprintf.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="genminiupnpcstrings.vbs">
+      <Filter>scripts</Filter>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="../miniupnpc.rc">
+      <Filter>Fichiers de ressources</Filter>
+    </ResourceCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/libs/miniupnpc/msvc/miniupnpc_vs2010.sln b/libs/miniupnpc/msvc/miniupnpc_vs2010.sln
new file mode 100644
index 0000000000..2fdfe91abd
--- /dev/null
+++ b/libs/miniupnpc/msvc/miniupnpc_vs2010.sln
@@ -0,0 +1,36 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual C++ Express 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniupnpc_vs2010", "miniupnpc_vs2010.vcxproj", "{D28CE435-CB33-4BAE-8A52-C6EF915956F5}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "upnpc-static_vs2010", "upnpc-static_vs2010.vcxproj", "{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug Dll|Win32 = Debug Dll|Win32
+		Debug|Win32 = Debug|Win32
+		Release Dll|Win32 = Release Dll|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Debug Dll|Win32.ActiveCfg = Debug Dll|Win32
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Debug Dll|Win32.Build.0 = Debug Dll|Win32
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Debug|Win32.ActiveCfg = Debug|Win32
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Debug|Win32.Build.0 = Debug|Win32
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Release Dll|Win32.ActiveCfg = Release Dll|Win32
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Release Dll|Win32.Build.0 = Release Dll|Win32
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Release|Win32.ActiveCfg = Release|Win32
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Release|Win32.Build.0 = Release|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Debug Dll|Win32.ActiveCfg = Debug Dll|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Debug Dll|Win32.Build.0 = Debug Dll|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Debug|Win32.ActiveCfg = Debug|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Debug|Win32.Build.0 = Debug|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Release Dll|Win32.ActiveCfg = Release Dll|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Release Dll|Win32.Build.0 = Release Dll|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Release|Win32.ActiveCfg = Release|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/libs/miniupnpc/msvc/miniupnpc_vs2010.vcxproj b/libs/miniupnpc/msvc/miniupnpc_vs2010.vcxproj
new file mode 100644
index 0000000000..e5433fb369
--- /dev/null
+++ b/libs/miniupnpc/msvc/miniupnpc_vs2010.vcxproj
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug Dll|Win32">
+      <Configuration>Debug Dll</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release Dll|Win32">
+      <Configuration>Release Dll</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{D28CE435-CB33-4BAE-8A52-C6EF915956F5}</ProjectGuid>
+    <RootNamespace>miniupnpc</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'">$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'">$(Configuration)\</IntDir>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">miniupnpc</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'">miniupnpc</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">miniupnpc</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'">miniupnpc</TargetName>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;MINIUPNP_STATICLIB;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <PreBuildEvent>
+      <Command>genminiupnpcstrings.vbs</Command>
+    </PreBuildEvent>
+    <ResourceCompile>
+      <PreprocessorDefinitions>INTERNAL_NAME="\"miniupnpc.dll\0\"";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ResourceCompile>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;MINIUPNP_EXPORTS;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <PreBuildEvent>
+      <Command>genminiupnpcstrings.vbs</Command>
+    </PreBuildEvent>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;IPHlpApi.Lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+    <ResourceCompile>
+      <PreprocessorDefinitions>INTERNAL_NAME="\"miniupnpc.dll\0\"";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ResourceCompile>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;MINIUPNP_STATICLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <PreBuildEvent>
+      <Command>genminiupnpcstrings.vbs</Command>
+    </PreBuildEvent>
+    <ResourceCompile>
+      <PreprocessorDefinitions>INTERNAL_NAME="\"miniupnpc.dll\0\"";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ResourceCompile>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;MINIUPNP_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <PreBuildEvent>
+      <Command>genminiupnpcstrings.vbs</Command>
+    </PreBuildEvent>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;IPHlpApi.Lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+    <ResourceCompile>
+      <PreprocessorDefinitions>INTERNAL_NAME="\"miniupnpc.dll\0\"";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ResourceCompile>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\src\addr_is_reserved.c" />
+    <ClCompile Include="..\src\connecthostport.c" />
+    <ClCompile Include="..\src\igd_desc_parse.c" />
+    <ClCompile Include="..\src\minisoap.c" />
+    <ClCompile Include="..\src\minissdpc.c" />
+    <ClCompile Include="..\src\miniupnpc.c" />
+    <ClCompile Include="..\src\miniwget.c" />
+    <ClCompile Include="..\src\minixml.c" />
+    <ClCompile Include="..\src\portlistingparse.c" />
+    <ClCompile Include="..\src\receivedata.c" />
+    <ClCompile Include="..\src\upnpcommands.c" />
+    <ClCompile Include="..\src\upnpdev.c" />
+    <ClCompile Include="..\src\upnperrors.c" />
+    <ClCompile Include="..\src\upnpreplyparse.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\src\addr_is_reserved.h" />
+    <ClInclude Include="..\src\connecthostport.h" />
+    <ClInclude Include="..\include\igd_desc_parse.h" />
+    <ClInclude Include="..\src\minisoap.h" />
+    <ClInclude Include="..\src\minissdpc.h" />
+    <ClInclude Include="..\include\miniupnpc.h" />
+    <ClInclude Include="..\miniupnpcstrings.h" />
+    <ClInclude Include="..\include\miniupnpctypes.h" />
+    <ClInclude Include="..\include\miniupnpc_declspec.h" />
+    <ClInclude Include="..\include\miniwget.h" />
+    <ClInclude Include="..\src\miniwget_private.h" />
+    <ClInclude Include="..\src\minixml.h" />
+    <ClInclude Include="..\include\portlistingparse.h" />
+    <ClInclude Include="..\src\receivedata.h" />
+    <ClInclude Include="..\include\upnpcommands.h" />
+    <ClInclude Include="..\include\upnpdev.h" />
+    <ClInclude Include="..\include\upnperrors.h" />
+    <ClInclude Include="..\include\upnpreplyparse.h" />
+    <ClInclude Include="..\src\win32_snprintf.h" />
+    <ClInclude Include="..\rc_version.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="genminiupnpcstrings.vbs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="../miniupnpc.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/libs/miniupnpc/msvc/miniupnpc_vs2010.vcxproj.filters b/libs/miniupnpc/msvc/miniupnpc_vs2010.vcxproj.filters
new file mode 100644
index 0000000000..deb8688d4c
--- /dev/null
+++ b/libs/miniupnpc/msvc/miniupnpc_vs2010.vcxproj.filters
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <ClCompile Include="..\connecthostport.c">
+      <Filter>sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\upnpreplyparse.c">
+      <Filter>sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\igd_desc_parse.c">
+      <Filter>sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\minisoap.c">
+      <Filter>sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\minissdpc.c">
+      <Filter>sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\miniupnpc.c">
+      <Filter>sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\miniwget.c">
+      <Filter>sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\minixml.c">
+      <Filter>sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\portlistingparse.c">
+      <Filter>sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\receivedata.c">
+      <Filter>sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\upnpcommands.c">
+      <Filter>sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\upnpdev.c">
+      <Filter>sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\upnperrors.c">
+      <Filter>sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\addr_is_reserved.c">
+      <Filter>sources</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\connecthostport.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\igd_desc_parse.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\minisoap.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\minissdpc.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\miniupnpc.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\miniupnpcstrings.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\miniupnpctypes.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\miniwget.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\minixml.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\portlistingparse.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\receivedata.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\upnpcommands.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\upnpdev.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\upnperrors.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\upnpreplyparse.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\miniupnpc_socketdef.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\miniupnpc_declspec.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\miniwget_private.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\addr_is_reserved.h">
+      <Filter>headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\win32_snprintf.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+    <ClInclude Include="..\rc_version.h">
+      <Filter>Fichiers d%27en-tête</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <Filter Include="sources">
+      <UniqueIdentifier>{f2cbd46b-f63f-412e-80e5-b7c9048a1add}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="headers">
+      <UniqueIdentifier>{2b3996de-1bc4-418b-8a83-a5f34fdf0df5}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="scripts">
+      <UniqueIdentifier>{45dbc39d-c3ca-4a75-adf0-76070e20415a}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="genminiupnpcstrings.vbs">
+      <Filter>scripts</Filter>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="../miniupnpc.rc">
+      <Filter>Fichiers de ressources</Filter>
+    </ResourceCompile>
+  </ItemGroup>
+</Project>
diff --git a/libs/miniupnpc/msvc/miniupnpc_vs2015.sln b/libs/miniupnpc/msvc/miniupnpc_vs2015.sln
new file mode 100644
index 0000000000..76318f69ce
--- /dev/null
+++ b/libs/miniupnpc/msvc/miniupnpc_vs2015.sln
@@ -0,0 +1,38 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25123.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniupnpc", "miniupnpc.vcxproj", "{D28CE435-CB33-4BAE-8A52-C6EF915956F5}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "upnpc-static", "upnpc-static.vcxproj", "{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug Dll|Win32 = Debug Dll|Win32
+		Debug|Win32 = Debug|Win32
+		Release Dll|Win32 = Release Dll|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Debug Dll|Win32.ActiveCfg = Debug Dll|Win32
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Debug Dll|Win32.Build.0 = Debug Dll|Win32
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Debug|Win32.ActiveCfg = Debug|Win32
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Debug|Win32.Build.0 = Debug|Win32
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Release Dll|Win32.ActiveCfg = Release Dll|Win32
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Release Dll|Win32.Build.0 = Release Dll|Win32
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Release|Win32.ActiveCfg = Release|Win32
+		{D28CE435-CB33-4BAE-8A52-C6EF915956F5}.Release|Win32.Build.0 = Release|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Debug Dll|Win32.ActiveCfg = Debug Dll|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Debug Dll|Win32.Build.0 = Debug Dll|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Debug|Win32.ActiveCfg = Debug|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Debug|Win32.Build.0 = Debug|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Release Dll|Win32.ActiveCfg = Release Dll|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Release Dll|Win32.Build.0 = Release Dll|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Release|Win32.ActiveCfg = Release|Win32
+		{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/libs/miniupnpc/msvc/upnpc-static.vcproj b/libs/miniupnpc/msvc/upnpc-static.vcproj
index 37fbbca272..f2246f57bd 100644
--- a/libs/miniupnpc/msvc/upnpc-static.vcproj
+++ b/libs/miniupnpc/msvc/upnpc-static.vcproj
@@ -41,7 +41,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;STATICLIB;DEBUG;_CRT_SECURE_NO_WARNINGS"
+				PreprocessorDefinitions="_DEBUG;_CONSOLE;MINIUPNP_STATICLIB;DEBUG;_CRT_SECURE_NO_WARNINGS"
 				MinimalRebuild="true"
 				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
@@ -115,7 +115,7 @@
 				Name="VCCLCompilerTool"
 				Optimization="2"
 				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;STATICLIB"
+				PreprocessorDefinitions="NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;MINIUPNP_STATICLIB"
 				RuntimeLibrary="2"
 				EnableFunctionLevelLinking="true"
 				UsePrecompiledHeader="0"
diff --git a/libs/miniupnpc/msvc/upnpc-static.vcxproj b/libs/miniupnpc/msvc/upnpc-static.vcxproj
new file mode 100644
index 0000000000..c3e58e74f6
--- /dev/null
+++ b/libs/miniupnpc/msvc/upnpc-static.vcxproj
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug Dll|Win32">
+      <Configuration>Debug Dll</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release Dll|Win32">
+      <Configuration>Release Dll</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}</ProjectGuid>
+    <RootNamespace>upnpcstatic</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>14.0.25123.0</_ProjectFileVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'">
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LinkIncremental>true</LinkIncremental>
+    <TargetName>upnpc-shared</TargetName>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'">
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>upnpc-shared</TargetName>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;MINIUPNP_STATICLIB;DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader />
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;$(Configuration)\miniupnpc.lib;IPHlpApi.Lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;MINIUPNP_STATICLIB;DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;$(Configuration)\miniupnpc.lib;$(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;MINIUPNP_STATICLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader />
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;$(Configuration)\miniupnpc.lib;IPHlpApi.Lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;$(Configuration)\miniupnpc.lib;IPHlpApi.Lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\src\upnpc.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="miniupnpc.vcxproj">
+      <Project>{d28ce435-cb33-4bae-8a52-c6ef915956f5}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/libs/miniupnpc/msvc/upnpc-static.vcxproj.filters b/libs/miniupnpc/msvc/upnpc-static.vcxproj.filters
new file mode 100644
index 0000000000..a67f6d3176
--- /dev/null
+++ b/libs/miniupnpc/msvc/upnpc-static.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Fichiers sources">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Fichiers d%27en-tête">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Fichiers de ressources">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\src\upnpc.c">
+      <Filter>Fichiers sources</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/libs/miniupnpc/msvc/upnpc-static_vs2010.vcxproj b/libs/miniupnpc/msvc/upnpc-static_vs2010.vcxproj
new file mode 100644
index 0000000000..d97fb5887f
--- /dev/null
+++ b/libs/miniupnpc/msvc/upnpc-static_vs2010.vcxproj
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug Dll|Win32">
+      <Configuration>Debug Dll</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release Dll|Win32">
+      <Configuration>Release Dll</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{469E1CF6-08A2-4B7B-A2AA-5BDB089857C1}</ProjectGuid>
+    <RootNamespace>upnpcstatic</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'">$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'">true</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'">$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'">false</LinkIncremental>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">upnpc-static</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'">upnpc-static</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">upnpc-static</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'">upnpc-static</TargetName>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;MINIUPNP_STATICLIB;DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;IPHlpApi.Lib;$(Configuration)\miniupnpc.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Dll|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;$(Configuration)\miniupnpc.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;MINIUPNP_STATICLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;IPHlpApi.Lib;$(Configuration)\miniupnpc.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Dll|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <AdditionalIncludeDirectories>..;..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;$(Configuration)\miniupnpc.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\src\upnpc.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="miniupnpc_vs2010.vcxproj">
+      <Project>{d28ce435-cb33-4bae-8a52-c6ef915956f5}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/libs/miniupnpc/pymoduletest.py b/libs/miniupnpc/pymoduletest.py
index d35a3b0921..0bda1bf2e9 100644
--- a/libs/miniupnpc/pymoduletest.py
+++ b/libs/miniupnpc/pymoduletest.py
@@ -1,35 +1,70 @@
-#! /usr/bin/python
+#! /usr/bin/env python
+# vim: tabstop=2 shiftwidth=2 expandtab
 # MiniUPnP project
 # Author : Thomas Bernard
+# Python 3
 # This Sample code is public domain.
-# website : http://miniupnp.tuxfamily.org/
+# website : https://miniupnp.tuxfamily.org/
 
 # import the python miniupnpc module
 import miniupnpc
 import sys
 
-# create the object
-u = miniupnpc.UPnP()
-print 'inital(default) values :'
-print ' discoverdelay', u.discoverdelay
-print ' lanaddr', u.lanaddr
-print ' multicastif', u.multicastif
-print ' minissdpdsocket', u.minissdpdsocket
-u.discoverdelay = 200;
+try:
+  import argparse
+  parser = argparse.ArgumentParser()
+  parser.add_argument('-m', '--multicastif')
+  parser.add_argument('-p', '--minissdpdsocket')
+  parser.add_argument('-d', '--discoverdelay', type=int, default=200)
+  parser.add_argument('-z', '--localport', type=int, default=0)
+  # create the object
+  u = miniupnpc.UPnP(**vars(parser.parse_args()))
+except:
+  print('argparse not available')
+  i = 1
+  multicastif = None
+  minissdpdsocket = None
+  discoverdelay = 200
+  localport = 0
+  while i < len(sys.argv):
+    print(sys.argv[i])
+    if sys.argv[i] == '-m' or sys.argv[i] == '--multicastif':
+      multicastif = sys.argv[i+1]
+    elif sys.argv[i] == '-p' or sys.argv[i] == '--minissdpdsocket':
+      minissdpdsocket = sys.argv[i+1]
+    elif sys.argv[i] == '-d' or sys.argv[i] == '--discoverdelay':
+      discoverdelay = int(sys.argv[i+1])
+    elif sys.argv[i] == '-z' or sys.argv[i] == '--localport':
+      localport = int(sys.argv[i+1])
+    else:
+      raise Exception('invalid argument %s' % sys.argv[i])
+    i += 2
+  # create the object
+  u = miniupnpc.UPnP(multicastif, minissdpdsocket, discoverdelay, localport)
+
+print('inital(default) values :')
+print(' discoverdelay', u.discoverdelay)
+print(' lanaddr', u.lanaddr)
+print(' multicastif', u.multicastif)
+print(' minissdpdsocket', u.minissdpdsocket)
 #u.minissdpdsocket = '../minissdpd/minissdpd.sock'
-# discovery process, it usualy takes several seconds (2 seconds or more)
-print 'Discovering... delay=%ums' % u.discoverdelay
-print u.discover(), 'device(s) detected'
+# discovery process, it usually takes several seconds (2 seconds or more)
+print('Discovering... delay=%ums' % u.discoverdelay)
+print('%d device(s) detected' % u.discover())
 # select an igd
 try:
   u.selectigd()
-except Exception, e:
-  print 'Exception :', e
+except Exception as e:
+  print('Exception :', e)
   sys.exit(1)
+# it is also possible to pass the root description URL to u.selectigd() :
+# u.selectigd('http://192.168.1.254:5678/desc/root')
 # display information about the IGD and the internet connection
-print 'local ip address :', u.lanaddr
-print 'external ip address :', u.externalipaddress()
-print u.statusinfo(), u.connectiontype()
+print('local ip address :', u.lanaddr)
+print('external ip address :', u.externalipaddress())
+print( u.statusinfo(), u.connectiontype())
+print('total bytes : sent', u.totalbytesent(), 'received', u.totalbytereceived())
+print('total packets : sent', u.totalpacketsent(), 'received', u.totalpacketreceived())
 
 #print u.addportmapping(64000, 'TCP',
 #                       '192.168.1.166', 63000, 'port mapping test', '')
@@ -43,10 +78,14 @@ while True:
 	p = u.getgenericportmapping(i)
 	if p==None:
 		break
-	print i, p
+	print(i, p)
 	(port, proto, (ihost,iport), desc, c, d, e) = p
 	#print port, desc
 	i = i + 1
 
-print u.getspecificportmapping(port, proto)
+print(u.getspecificportmapping(port, proto))
+try:
+  print(u.getportmappingnumberofentries())
+except Exception as e:
+  print('GetPortMappingNumberOfEntries() is not supported :', e)
 
diff --git a/libs/miniupnpc/receivedata.c b/libs/miniupnpc/receivedata.c
deleted file mode 100644
index a1eadfc462..0000000000
--- a/libs/miniupnpc/receivedata.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/* $Id: receivedata.c,v 1.1 2011/04/11 08:21:47 nanard Exp $ */
-/* Project : miniupnp
- * Author : Thomas Bernard
- * Copyright (c) 2011 Thomas Bernard
- * This software is subject to the conditions detailed in the
- * LICENCE file provided in this distribution. */
-
-#include <stdio.h>
-#ifdef WIN32
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#else
-#include <unistd.h>
-#if defined(__amigaos__) && !defined(__amigaos4__)
-#define socklen_t int
-#else /* #if defined(__amigaos__) && !defined(__amigaos4__) */
-#include <sys/select.h>
-#endif /* #else defined(__amigaos__) && !defined(__amigaos4__) */
-#include <sys/socket.h>
-#if !defined(__amigaos__) && !defined(__amigaos4__)
-#include <poll.h>
-#endif
-#include <errno.h>
-#define MINIUPNPC_IGNORE_EINTR
-#endif
-
-#ifdef WIN32
-#define PRINT_SOCKET_ERROR(x)    printf("Socket error: %s, %d\n", x, WSAGetLastError());
-#else
-#define PRINT_SOCKET_ERROR(x) perror(x)
-#endif
-
-#include "receivedata.h"
-
-int
-receivedata(int socket, char * data, int length, int timeout)
-{
-    int n;
-#if !defined(WIN32) && !defined(__amigaos__) && !defined(__amigaos4__)
-	/* using poll */
-    struct pollfd fds[1]; /* for the poll */
-#ifdef MINIUPNPC_IGNORE_EINTR
-    do {
-#endif
-        fds[0].fd = socket;
-        fds[0].events = POLLIN;
-        n = poll(fds, 1, timeout);
-#ifdef MINIUPNPC_IGNORE_EINTR
-    } while(n < 0 && errno == EINTR);
-#endif
-    if(n < 0) {
-        PRINT_SOCKET_ERROR("poll");
-        return -1;
-    } else if(n == 0) {
-		/* timeout */
-        return 0;
-    }
-#else /* !defined(WIN32) && !defined(__amigaos__) && !defined(__amigaos4__) */
-	/* using select under WIN32 and amigaos */
-    fd_set socketSet;
-    TIMEVAL timeval;
-    FD_ZERO(&socketSet);
-    FD_SET(socket, &socketSet);
-    timeval.tv_sec = timeout / 1000;
-    timeval.tv_usec = (timeout % 1000) * 1000;
-    n = select(FD_SETSIZE, &socketSet, NULL, NULL, &timeval);
-    if(n < 0) {
-        PRINT_SOCKET_ERROR("select");
-        return -1;
-    } else if(n == 0) {
-        return 0;
-    }    
-#endif
-	n = recv(socket, data, length, 0);
-	if(n<0) {
-		PRINT_SOCKET_ERROR("recv");
-	}
-	return n;
-}
-
-
diff --git a/libs/miniupnpc/receivedata.h b/libs/miniupnpc/receivedata.h
deleted file mode 100644
index 7a551b9acd..0000000000
--- a/libs/miniupnpc/receivedata.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* $Id: receivedata.h,v 1.1 2011/04/11 08:21:47 nanard Exp $ */
-/* Project: miniupnp
- * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
- * Author: Thomas Bernard
- * Copyright (c) 2011 Thomas Bernard
- * This software is subjects to the conditions detailed
- * in the LICENCE file provided within this distribution */
-#ifndef __RECEIVEDATA_H__
-#define __RECEIVEDATA_H__
-
-/* 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);
-
-#endif
-
diff --git a/libs/miniupnpc/setup.py b/libs/miniupnpc/setup.py
index ca31f96155..d54f924b58 100644
--- a/libs/miniupnpc/setup.py
+++ b/libs/miniupnpc/setup.py
@@ -1,15 +1,35 @@
-#! /usr/bin/python
-# $Id: setup.py,v 1.6 2011/01/04 09:46:08 nanard Exp $
-# the MiniUPnP Project (c) 2007-2011 Thomas Bernard
-# http://miniupnp.tuxfamily.org/ or http://miniupnp.free.fr/
+#! /usr/bin/env python
+# vim: tabstop=8 shiftwidth=8 expandtab
+# $Id: setup.py,v 1.15 2021/09/28 21:10:11 nanard Exp $
+# the MiniUPnP Project (c) 2007-2021 Thomas Bernard
+# https://miniupnp.tuxfamily.org/ or http://miniupnp.free.fr/
 #
 # python script to build the miniupnpc module under unix
 #
-# replace libminiupnpc.a by libminiupnpc.so for shared library usage
-from distutils.core import setup, Extension
-setup(name="miniupnpc", version="1.5",
+# Uses MAKE environment variable (defaulting to 'make')
+
+from setuptools import setup, Extension
+from setuptools.command import build_ext
+import subprocess
+import os
+
+EXT = ['build/libminiupnpc.a']
+
+class make_then_build_ext(build_ext.build_ext):
+      def run(self):
+            subprocess.check_call([os.environ.get('MAKE', 'make')] + EXT)
+            build_ext.build_ext.run(self)
+
+setup(name="miniupnpc",
+      version=open('VERSION').read().strip(),
+      author='Thomas BERNARD',
+      author_email='miniupnp@free.fr',
+      license=open('LICENSE').read(),
+      url='http://miniupnp.free.fr/',
+      description='miniUPnP client',
+      cmdclass={'build_ext': make_then_build_ext},
       ext_modules=[
-	         Extension(name="miniupnpc", sources=["miniupnpcmodule.c"],
-			           extra_objects=["libminiupnpc.a"])
-			 ])
+         Extension(name="miniupnpc", sources=["src/miniupnpcmodule.c"],
+                   include_dirs=['include'], extra_objects=EXT)
+      ])
 
diff --git a/libs/miniupnpc/setupmingw32.py b/libs/miniupnpc/setupmingw32.py
index d0539e4505..26e85f0370 100644
--- a/libs/miniupnpc/setupmingw32.py
+++ b/libs/miniupnpc/setupmingw32.py
@@ -1,15 +1,35 @@
-#! /usr/bin/python
-# $Id: setupmingw32.py,v 1.5 2011/05/15 21:18:43 nanard Exp $
-# the MiniUPnP Project (c) 2007-2011 Thomas Bernard
-# http://miniupnp.tuxfamily.org/ or http://miniupnp.free.fr/
+#! /usr/bin/env python
+# vim: tabstop=8 shiftwidth=8 expandtab
+# $Id: setupmingw32.py,v 1.14 2021/09/28 21:10:11 nanard Exp $
+# the MiniUPnP Project (c) 2007-2021 Thomas Bernard
+# https://miniupnp.tuxfamily.org/ or http://miniupnp.free.fr/
 #
 # python script to build the miniupnpc module under windows (using mingw32)
 #
-from distutils.core import setup, Extension
-setup(name="miniupnpc", version="1.5",
+import sys
+
+if (sys.version_info.major * 10 +  sys.version_info.minor) >= 35:
+        compat_lib = ["legacy_stdio_definitions"]
+else:
+        compat_lib = []
+
+try:
+        from setuptools import setup, Extension
+except ImportError:
+        from distutils.core import setup, Extension
+from distutils import sysconfig
+sysconfig.get_config_vars()["OPT"] = ''
+sysconfig.get_config_vars()["CFLAGS"] = ''
+setup(name="miniupnpc",
+      version=open('VERSION').read().strip(),
+      author='Thomas BERNARD',
+      author_email='miniupnp@free.fr',
+      license=open('LICENSE').read(),
+      url='http://miniupnp.free.fr/',
+      description='miniUPnP client',
       ext_modules=[
-	         Extension(name="miniupnpc", sources=["miniupnpcmodule.c"],
-	                   libraries=["ws2_32", "iphlpapi"],
-			           extra_objects=["libminiupnpc.a"])
-			 ])
+         Extension(name="miniupnpc", sources=["src/miniupnpcmodule.c"],
+                   libraries=["ws2_32", "iphlpapi"] + compat_lib,
+                   include_dirs=['include'], extra_objects=["miniupnpc.lib"])
+      ])
 
diff --git a/libs/miniupnpc/src/addr_is_reserved.c b/libs/miniupnpc/src/addr_is_reserved.c
new file mode 100644
index 0000000000..bd721c17c3
--- /dev/null
+++ b/libs/miniupnpc/src/addr_is_reserved.c
@@ -0,0 +1,79 @@
+/* $Id: addr_is_reserved.c,v 1.5 2021/05/10 20:53:02 nanard Exp $ */
+/* vim: tabstop=4 shiftwidth=4 noexpandtab
+ * Project : miniupnp
+ * Web : http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
+ * Author : Thomas BERNARD
+ * copyright (c) 2005-2021 Thomas Bernard
+ * This software is subjet to the conditions detailed in the
+ * provided LICENSE file. */
+#ifdef _WIN32
+/* Win32 Specific includes and defines */
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#if !defined(_MSC_VER)
+#include <stdint.h>
+#else /* !defined(_MSC_VER) */
+typedef unsigned long uint32_t;
+#endif /* !defined(_MSC_VER) */
+#else /* _WIN32 */
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#endif /* _WIN32 */
+
+/* List of IP address blocks which are private / reserved and therefore not suitable for public external IP addresses */
+#define IP(a, b, c, d) (((a) << 24) + ((b) << 16) + ((c) << 8) + (d))
+#define MSK(m) (32-(m))
+static const struct { uint32_t address; uint32_t rmask; } reserved[] = {
+	{ IP(  0,   0,   0, 0), MSK( 8) }, /* RFC1122 "This host on this network" */
+	{ IP( 10,   0,   0, 0), MSK( 8) }, /* RFC1918 Private-Use */
+	{ IP(100,  64,   0, 0), MSK(10) }, /* RFC6598 Shared Address Space */
+	{ IP(127,   0,   0, 0), MSK( 8) }, /* RFC1122 Loopback */
+	{ IP(169, 254,   0, 0), MSK(16) }, /* RFC3927 Link-Local */
+	{ IP(172,  16,   0, 0), MSK(12) }, /* RFC1918 Private-Use */
+	{ IP(192,   0,   0, 0), MSK(24) }, /* RFC6890 IETF Protocol Assignments */
+	{ IP(192,   0,   2, 0), MSK(24) }, /* RFC5737 Documentation (TEST-NET-1) */
+	{ IP(192,  31, 196, 0), MSK(24) }, /* RFC7535 AS112-v4 */
+	{ IP(192,  52, 193, 0), MSK(24) }, /* RFC7450 AMT */
+	{ IP(192,  88,  99, 0), MSK(24) }, /* RFC7526 6to4 Relay Anycast */
+	{ IP(192, 168,   0, 0), MSK(16) }, /* RFC1918 Private-Use */
+	{ IP(192, 175,  48, 0), MSK(24) }, /* RFC7534 Direct Delegation AS112 Service */
+	{ IP(198,  18,   0, 0), MSK(15) }, /* RFC2544 Benchmarking */
+	{ IP(198,  51, 100, 0), MSK(24) }, /* RFC5737 Documentation (TEST-NET-2) */
+	{ IP(203,   0, 113, 0), MSK(24) }, /* RFC5737 Documentation (TEST-NET-3) */
+	{ IP(224,   0,   0, 0), MSK( 4) }, /* RFC1112 Multicast */
+	{ IP(240,   0,   0, 0), MSK( 4) }, /* RFC1112 Reserved for Future Use + RFC919 Limited Broadcast */
+};
+#undef IP
+#undef MSK
+
+/**
+ * @return 1 or 0
+ */
+int addr_is_reserved(const char * addr_str)
+{
+	uint32_t addr_n, address;
+	size_t i;
+
+#if defined(_WIN32) && _WIN32_WINNT < 0x0600 // _WIN32_WINNT_VISTA
+	addr_n = inet_addr(addr_str);
+	if (addr_n == INADDR_NONE)
+		return 1;
+#else
+	/* was : addr_n = inet_addr(addr_str); */
+	if (inet_pton(AF_INET, addr_str, &addr_n) <= 0) {
+		/* error */
+		return 1;
+	}
+#endif
+
+	address = ntohl(addr_n);
+
+	for (i = 0; i < sizeof(reserved)/sizeof(reserved[0]); ++i) {
+		if ((address >> reserved[i].rmask) == (reserved[i].address >> reserved[i].rmask))
+			return 1;
+	}
+
+	return 0;
+}
diff --git a/libs/miniupnpc/src/addr_is_reserved.h b/libs/miniupnpc/src/addr_is_reserved.h
new file mode 100644
index 0000000000..3286bc4c8c
--- /dev/null
+++ b/libs/miniupnpc/src/addr_is_reserved.h
@@ -0,0 +1,14 @@
+/* $Id: addr_is_reserved.h,v 1.1 2020/09/28 21:11:19 nanard Exp $ */
+/* vim: tabstop=4 shiftwidth=4 noexpandtab
+ * Project: miniupnp
+ * http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
+ * Author: Thomas Bernard
+ * Copyright (c) 2005-2020 Thomas Bernard
+ * This software is subjects to the conditions detailed
+ * in the LICENCE file provided within this distribution */
+#ifndef ADDR_IS_RESERVED_H_INCLUDED
+#define ADDR_IS_RESERVED_H_INCLUDED
+
+int addr_is_reserved(const char * addr_str);
+
+#endif /* ADDR_IS_RESERVED_H_INCLUDED */
diff --git a/libs/miniupnpc/src/codelength.h b/libs/miniupnpc/src/codelength.h
new file mode 100644
index 0000000000..f5f8e30f9a
--- /dev/null
+++ b/libs/miniupnpc/src/codelength.h
@@ -0,0 +1,54 @@
+/* $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/libs/miniupnpc/connecthostport.c b/libs/miniupnpc/src/connecthostport.c
similarity index 62%
rename from libs/miniupnpc/connecthostport.c
rename to libs/miniupnpc/src/connecthostport.c
index 76e8e374b8..79f832b8db 100644
--- a/libs/miniupnpc/connecthostport.c
+++ b/libs/miniupnpc/src/connecthostport.c
@@ -1,7 +1,8 @@
-/* $Id: connecthostport.c,v 1.5 2011/04/09 08:49:50 nanard Exp $ */
-/* Project : miniupnp
+/* $Id: connecthostport.c,v 1.24 2020/11/09 19:26:53 nanard Exp $ */
+/* vim: tabstop=4 shiftwidth=4 noexpandtab
+ * Project : miniupnp
  * Author : Thomas Bernard
- * Copyright (c) 2010-2011 Thomas Bernard
+ * Copyright (c) 2010-2020 Thomas Bernard
  * This software is subject to the conditions detailed in the
  * LICENCE file provided in this distribution. */
 
@@ -13,35 +14,32 @@
 
 #include <string.h>
 #include <stdio.h>
-#ifdef WIN32
+#ifdef _WIN32
 #include <winsock2.h>
 #include <ws2tcpip.h>
 #include <io.h>
 #define MAXHOSTNAMELEN 64
-#define snprintf _snprintf
+#include "win32_snprintf.h"
 #define herror
 #define socklen_t int
-#else /* #ifdef WIN32 */
+#else /* #ifdef _WIN32 */
 #include <unistd.h>
+#include <sys/types.h>
+#ifdef MINIUPNPC_SET_SOCKET_TIMEOUT
+#include <sys/time.h>
+#endif /* #ifdef MINIUPNPC_SET_SOCKET_TIMEOUT */
 #include <sys/param.h>
+#include <sys/select.h>
 #include <errno.h>
 #define closesocket close
 #include <netdb.h>
+#include <netinet/in.h>
 /* defining MINIUPNPC_IGNORE_EINTR enable the ignore of interruptions
  * during the connect() call */
 #define MINIUPNPC_IGNORE_EINTR
-#ifndef USE_GETHOSTBYNAME
-#include <sys/types.h>
 #include <sys/socket.h>
-#endif /* #ifndef USE_GETHOSTBYNAME */
-#endif /* #else WIN32 */
-
-/* definition of PRINT_SOCKET_ERROR */
-#ifdef WIN32
-#define PRINT_SOCKET_ERROR(x)    printf("Socket error: %s, %d\n", x, WSAGetLastError());
-#else
-#define PRINT_SOCKET_ERROR(x) perror(x)
-#endif
+#include <sys/select.h>
+#endif /* #else _WIN32 */
 
 #if defined(__amigaos__) || defined(__amigaos4__)
 #define herror(A) printf("%s\n", A)
@@ -49,12 +47,18 @@
 
 #include "connecthostport.h"
 
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 64
+#endif
+
 /* 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)
+SOCKET connecthostport(const char * host, unsigned short port,
+                       unsigned int scope_id)
 {
-	int s, n;
+	SOCKET s;
+	int n;
 #ifdef USE_GETHOSTBYNAME
 	struct sockaddr_in dest;
 	struct hostent *hp;
@@ -67,21 +71,21 @@ int connecthostport(const char * host, unsigned short port)
 #ifdef MINIUPNPC_SET_SOCKET_TIMEOUT
 	struct timeval timeout;
 #endif /* #ifdef MINIUPNPC_SET_SOCKET_TIMEOUT */
-	
+
 #ifdef USE_GETHOSTBYNAME
 	hp = gethostbyname(host);
 	if(hp == NULL)
 	{
 		herror(host);
-		return -1;
+		return INVALID_SOCKET;
 	}
 	memcpy(&dest.sin_addr, hp->h_addr, sizeof(dest.sin_addr));
 	memset(dest.sin_zero, 0, sizeof(dest.sin_zero));
 	s = socket(PF_INET, SOCK_STREAM, 0);
-	if(s < 0)
+	if(ISINVALID(s))
 	{
 		PRINT_SOCKET_ERROR("socket");
-		return -1;
+		return INVALID_SOCKET;
 	}
 #ifdef MINIUPNPC_SET_SOCKET_TIMEOUT
 	/* setting a 3 seconds timeout for the connect() call */
@@ -89,35 +93,52 @@ int connecthostport(const char * host, unsigned short port)
 	timeout.tv_usec = 0;
 	if(setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(struct timeval)) < 0)
 	{
-		PRINT_SOCKET_ERROR("setsockopt");
+		PRINT_SOCKET_ERROR("setsockopt SO_RCVTIMEO");
 	}
 	timeout.tv_sec = 3;
 	timeout.tv_usec = 0;
 	if(setsockopt(s, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(struct timeval)) < 0)
 	{
-		PRINT_SOCKET_ERROR("setsockopt");
+		PRINT_SOCKET_ERROR("setsockopt SO_SNDTIMEO");
 	}
 #endif /* #ifdef MINIUPNPC_SET_SOCKET_TIMEOUT */
 	dest.sin_family = AF_INET;
 	dest.sin_port = htons(port);
 	n = connect(s, (struct sockaddr *)&dest, sizeof(struct sockaddr_in));
 #ifdef MINIUPNPC_IGNORE_EINTR
-	while(n < 0 && errno == EINTR)
+	/* EINTR The system call was interrupted by a signal that was caught
+	 * EINPROGRESS The socket is nonblocking and the connection cannot
+	 *             be completed immediately. */
+	while(n < 0 && (errno == EINTR || errno == EINPROGRESS))
 	{
 		socklen_t len;
 		fd_set wset;
 		int err;
 		FD_ZERO(&wset);
 		FD_SET(s, &wset);
-		if((n = select(s + 1, NULL, &wset, NULL, NULL)) == -1 && errno == EINTR)
+#ifdef MINIUPNPC_SET_SOCKET_TIMEOUT
+		timeout.tv_sec = 3;
+		timeout.tv_usec = 0;
+		n = select(s + 1, NULL, &wset, NULL, &timeout);
+#else
+		n = select(s + 1, NULL, &wset, NULL, NULL);
+#endif
+		if(n == -1 && errno == EINTR)
 			continue;
+#ifdef MINIUPNPC_SET_SOCKET_TIMEOUT
+		if(n == 0) {
+			errno = ETIMEDOUT;
+			n = -1;
+			break;
+		}
+#endif
 		/*len = 0;*/
 		/*n = getpeername(s, NULL, &len);*/
 		len = sizeof(err);
 		if(getsockopt(s, SOL_SOCKET, SO_ERROR, &err, &len) < 0) {
 			PRINT_SOCKET_ERROR("getsockopt");
 			closesocket(s);
-			return -1;
+			return INVALID_SOCKET;
 		}
 		if(err != 0) {
 			errno = err;
@@ -129,7 +150,7 @@ int connecthostport(const char * host, unsigned short port)
 	{
 		PRINT_SOCKET_ERROR("connect");
 		closesocket(s);
-		return -1;
+		return INVALID_SOCKET;
 	}
 #else /* #ifdef USE_GETHOSTBYNAME */
 	/* use getaddrinfo() instead of gethostbyname() */
@@ -145,10 +166,12 @@ int connecthostport(const char * host, unsigned short port)
 	if(host[0] == '[')
 	{
 		/* literal ip v6 address */
-		int i;
-		for(i = 0; host[i+1] && (host[i+1] != ']') && i < MAXHOSTNAMELEN; i++)
+		int i, j;
+		for(i = 0, j = 1; host[j] && (host[j] != ']') && i < MAXHOSTNAMELEN; i++, j++)
 		{
-			tmp_host[i] = host[i+1];
+			tmp_host[i] = host[j];
+			if(0 == strncmp(host+j, "%25", 3))	/* %25 is just url encoding for '%' */
+				j+=2;							/* skip "25" */
 		}
 		tmp_host[i] = '\0';
 	}
@@ -160,19 +183,29 @@ int connecthostport(const char * host, unsigned short port)
 	n = getaddrinfo(tmp_host, port_str, &hints, &ai);
 	if(n != 0)
 	{
-#ifdef WIN32
+#ifdef _WIN32
 		fprintf(stderr, "getaddrinfo() error : %d\n", n);
 #else
 		fprintf(stderr, "getaddrinfo() error : %s\n", gai_strerror(n));
 #endif
-		return -1;
+		return INVALID_SOCKET;
 	}
-	s = -1;
+	s = INVALID_SOCKET;
 	for(p = ai; p; p = p->ai_next)
 	{
+		if(!ISINVALID(s))
+			closesocket(s);
+#ifdef DEBUG
+		printf("ai_family=%d ai_socktype=%d ai_protocol=%d (PF_INET=%d, PF_INET6=%d)\n",
+		       p->ai_family, p->ai_socktype, p->ai_protocol, PF_INET, PF_INET6);
+#endif
 		s = socket(p->ai_family, p->ai_socktype, p->ai_protocol);
-		if(s < 0)
+		if(ISINVALID(s))
 			continue;
+		if(p->ai_addr->sa_family == AF_INET6 && scope_id > 0) {
+			struct sockaddr_in6 * addr6 = (struct sockaddr_in6 *)p->ai_addr;
+			addr6->sin6_scope_id = scope_id;
+		}
 #ifdef MINIUPNPC_SET_SOCKET_TIMEOUT
 		/* setting a 3 seconds timeout for the connect() call */
 		timeout.tv_sec = 3;
@@ -188,17 +221,34 @@ int connecthostport(const char * host, unsigned short port)
 			PRINT_SOCKET_ERROR("setsockopt");
 		}
 #endif /* #ifdef MINIUPNPC_SET_SOCKET_TIMEOUT */
-		n = connect(s, p->ai_addr, p->ai_addrlen);
+		n = connect(s, p->ai_addr, MSC_CAST_INT p->ai_addrlen);
 #ifdef MINIUPNPC_IGNORE_EINTR
-		while(n < 0 && errno == EINTR)
+		/* EINTR The system call was interrupted by a signal that was caught
+		 * EINPROGRESS The socket is nonblocking and the connection cannot
+		 *             be completed immediately. */
+		while(n < 0 && (errno == EINTR || errno == EINPROGRESS))
 		{
 			socklen_t len;
 			fd_set wset;
 			int err;
 			FD_ZERO(&wset);
 			FD_SET(s, &wset);
-			if((n = select(s + 1, NULL, &wset, NULL, NULL)) == -1 && errno == EINTR)
+#ifdef MINIUPNPC_SET_SOCKET_TIMEOUT
+			timeout.tv_sec = 3;
+			timeout.tv_usec = 0;
+			n = select(s + 1, NULL, &wset, NULL, &timeout);
+#else
+			n = select(s + 1, NULL, &wset, NULL, NULL);
+#endif
+			if(n == -1 && errno == EINTR)
 				continue;
+#ifdef MINIUPNPC_SET_SOCKET_TIMEOUT
+			if(n == 0) {
+				errno = ETIMEDOUT;
+				n = -1;
+				break;
+			}
+#endif
 			/*len = 0;*/
 			/*n = getpeername(s, NULL, &len);*/
 			len = sizeof(err);
@@ -206,7 +256,7 @@ int connecthostport(const char * host, unsigned short port)
 				PRINT_SOCKET_ERROR("getsockopt");
 				closesocket(s);
 				freeaddrinfo(ai);
-				return -1;
+				return INVALID_SOCKET;
 			}
 			if(err != 0) {
 				errno = err;
@@ -214,28 +264,21 @@ int connecthostport(const char * host, unsigned short port)
 			}
 		}
 #endif /* #ifdef MINIUPNPC_IGNORE_EINTR */
-		if(n < 0)
-		{
-			closesocket(s);
-			continue;
-		}
-		else
-		{
+		if(n >= 0)	/* connect() was successful */
 			break;
-		}
 	}
 	freeaddrinfo(ai);
-	if(s < 0)
+	if(ISINVALID(s))
 	{
 		PRINT_SOCKET_ERROR("socket");
-		return -1;
+		return INVALID_SOCKET;
 	}
 	if(n < 0)
 	{
 		PRINT_SOCKET_ERROR("connect");
-		return -1;
+		closesocket(s);
+		return INVALID_SOCKET;
 	}
 #endif /* #ifdef USE_GETHOSTBYNAME */
 	return s;
 }
-
diff --git a/libs/miniupnpc/src/connecthostport.h b/libs/miniupnpc/src/connecthostport.h
new file mode 100644
index 0000000000..b1ce627ceb
--- /dev/null
+++ b/libs/miniupnpc/src/connecthostport.h
@@ -0,0 +1,20 @@
+/* $Id: connecthostport.h,v 1.4 2018/04/06 10:53:13 nanard Exp $ */
+/* Project: miniupnp
+ * http://miniupnp.free.fr/
+ * Author: Thomas Bernard
+ * Copyright (c) 2010-2018 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
+
+#include "miniupnpc_socketdef.h"
+
+/* connecthostport()
+ * return a socket connected (TCP) to the host and port
+ * or INVALID_SOCKET in case of error */
+SOCKET connecthostport(const char * host, unsigned short port,
+                       unsigned int scope_id);
+
+#endif
+
diff --git a/libs/miniupnpc/igd_desc_parse.c b/libs/miniupnpc/src/igd_desc_parse.c
similarity index 83%
rename from libs/miniupnpc/igd_desc_parse.c
rename to libs/miniupnpc/src/igd_desc_parse.c
index 6c3e65677d..d2999ad011 100644
--- a/libs/miniupnpc/igd_desc_parse.c
+++ b/libs/miniupnpc/src/igd_desc_parse.c
@@ -1,8 +1,8 @@
-/* $Id: igd_desc_parse.c,v 1.14 2011/04/11 09:19:24 nanard Exp $ */
+/* $Id: igd_desc_parse.c,v 1.17 2015/09/15 13:30:04 nanard Exp $ */
 /* Project : miniupnp
  * http://miniupnp.free.fr/
  * Author : Thomas Bernard
- * Copyright (c) 2005-2010 Thomas Bernard
+ * Copyright (c) 2005-2015 Thomas Bernard
  * This software is subject to the conditions detailed in the
  * LICENCE file provided in this distribution. */
 
@@ -15,7 +15,9 @@
 void IGDstartelt(void * d, const char * name, int l)
 {
 	struct IGDdatas * datas = (struct IGDdatas *)d;
-	memcpy( datas->cureltname, name, l);
+	if(l >= MINIUPNPC_URL_MAXSIZE)
+		l = MINIUPNPC_URL_MAXSIZE-1;
+	memcpy(datas->cureltname, name, l);
 	datas->cureltname[l] = '\0';
 	datas->level++;
 	if( (l==7) && !memcmp(name, "service", l) ) {
@@ -26,6 +28,8 @@ void IGDstartelt(void * d, const char * name, int l)
 	}
 }
 
+#define COMPARE(str, cstr) (0==memcmp(str, cstr, sizeof(cstr) - 1))
+
 /* End element handler :
  * update nesting level counter and update parser state if
  * service element is parsed */
@@ -36,23 +40,16 @@ void IGDendelt(void * d, const char * name, int l)
 	/*printf("endelt %2d %.*s\n", datas->level, l, name);*/
 	if( (l==7) && !memcmp(name, "service", l) )
 	{
-		/*
-		if( datas->state < 1
-			&& !strcmp(datas->servicetype,
-				//	"urn:schemas-upnp-org:service:WANIPConnection:1") )
-				"urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1"))
-			datas->state ++;
-		*/
-		if(0==strcmp(datas->tmp.servicetype,
-				"urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1")) {
+		if(COMPARE(datas->tmp.servicetype,
+		           "urn:schemas-upnp-org:service:WANCommonInterfaceConfig:")) {
 			memcpy(&datas->CIF, &datas->tmp, sizeof(struct IGDdatas_service));
-		} else if(0==strcmp(datas->tmp.servicetype,
-				"urn:schemas-upnp-org:service:WANIPv6FirewallControl:1")) {
+		} else if(COMPARE(datas->tmp.servicetype,
+			                "urn:schemas-upnp-org:service:WANIPv6FirewallControl:")) {
 			memcpy(&datas->IPv6FC, &datas->tmp, sizeof(struct IGDdatas_service));
-		} else if(0==strcmp(datas->tmp.servicetype,
-				"urn:schemas-upnp-org:service:WANIPConnection:1")
-				 || 0==strcmp(datas->tmp.servicetype,
-				"urn:schemas-upnp-org:service:WANPPPConnection:1") ) {
+		} else if(COMPARE(datas->tmp.servicetype,
+		                  "urn:schemas-upnp-org:service:WANIPConnection:")
+		         || COMPARE(datas->tmp.servicetype,
+		                    "urn:schemas-upnp-org:service:WANPPPConnection:") ) {
 			if(datas->first.servicetype[0] == '\0') {
 				memcpy(&datas->first, &datas->tmp, sizeof(struct IGDdatas_service));
 			} else {
@@ -93,6 +90,7 @@ void IGDdata(void * d, const char * data, int l)
 	}
 }
 
+#ifdef DEBUG
 void printIGD(struct IGDdatas * d)
 {
 	printf("urlbase = '%s'\n", d->urlbase);
@@ -121,5 +119,5 @@ void printIGD(struct IGDdatas * d)
 	printf(" eventSubURL = '%s'\n", d->IPv6FC.eventsuburl);
 	printf(" SCPDURL = '%s'\n", d->IPv6FC.scpdurl);
 }
-
+#endif /* DEBUG */
 
diff --git a/libs/miniupnpc/src/listdevices.c b/libs/miniupnpc/src/listdevices.c
new file mode 100644
index 0000000000..dabc056e98
--- /dev/null
+++ b/libs/miniupnpc/src/listdevices.c
@@ -0,0 +1,197 @@
+/* $Id: listdevices.c,v 1.8 2018/05/03 08:16:44 nanard Exp $ */
+/* Project : miniupnp
+ * Author : Thomas Bernard
+ * Copyright (c) 2013-2015 Thomas Bernard
+ * This software is subject to the conditions detailed in the
+ * LICENCE file provided in this distribution. */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#ifdef _WIN32
+#include <winsock2.h>
+#endif /* _WIN32 */
+#include "miniupnpc.h"
+
+struct upnp_dev_list {
+	struct upnp_dev_list * next;
+	char * descURL;
+	struct UPNPDev * * array;
+	size_t count;
+	size_t allocated_count;
+};
+
+#define ADD_DEVICE_COUNT_STEP 16
+
+void add_device(struct upnp_dev_list * * list_head, struct UPNPDev * dev)
+{
+	struct upnp_dev_list * elt;
+	size_t i;
+
+	if(dev == NULL)
+		return;
+	for(elt = *list_head; elt != NULL; elt = elt->next) {
+		if(strcmp(elt->descURL, dev->descURL) == 0) {
+			for(i = 0; i < elt->count; i++) {
+				if (strcmp(elt->array[i]->st, dev->st) == 0 && strcmp(elt->array[i]->usn, dev->usn) == 0) {
+					return;	/* already found */
+				}
+			}
+			if(elt->count >= elt->allocated_count) {
+				struct UPNPDev * * tmp;
+				elt->allocated_count += ADD_DEVICE_COUNT_STEP;
+				tmp = realloc(elt->array, elt->allocated_count * sizeof(struct UPNPDev *));
+				if(tmp == NULL) {
+					fprintf(stderr, "Failed to realloc(%p, %lu)\n", elt->array, (unsigned long)(elt->allocated_count * sizeof(struct UPNPDev *)));
+					return;
+				}
+				elt->array = tmp;
+			}
+			elt->array[elt->count++] = dev;
+			return;
+		}
+	}
+	elt = malloc(sizeof(struct upnp_dev_list));
+	if(elt == NULL) {
+		fprintf(stderr, "Failed to malloc(%lu)\n", (unsigned long)sizeof(struct upnp_dev_list));
+		return;
+	}
+	elt->next = *list_head;
+	elt->descURL = strdup(dev->descURL);
+	if(elt->descURL == NULL) {
+		fprintf(stderr, "Failed to strdup(%s)\n", dev->descURL);
+		free(elt);
+		return;
+	}
+	elt->allocated_count = ADD_DEVICE_COUNT_STEP;
+	elt->array = malloc(ADD_DEVICE_COUNT_STEP * sizeof(struct UPNPDev *));
+	if(elt->array == NULL) {
+		fprintf(stderr, "Failed to malloc(%lu)\n", (unsigned long)(ADD_DEVICE_COUNT_STEP * sizeof(struct UPNPDev *)));
+		free(elt->descURL);
+		free(elt);
+		return;
+	}
+	elt->array[0] = dev;
+	elt->count = 1;
+	*list_head = elt;
+}
+
+void free_device(struct upnp_dev_list * elt)
+{
+	free(elt->descURL);
+	free(elt->array);
+	free(elt);
+}
+
+int main(int argc, char * * argv)
+{
+	const char * searched_device = NULL;
+	const char * * searched_devices = NULL;
+	const char * multicastif = 0;
+	const char * minissdpdpath = 0;
+	int ipv6 = 0;
+	unsigned char ttl = 2;
+	int error = 0;
+	struct UPNPDev * devlist = 0;
+	struct UPNPDev * dev;
+	struct upnp_dev_list * sorted_list = NULL;
+	struct upnp_dev_list * dev_array;
+	int i;
+
+#ifdef _WIN32
+	WSADATA wsaData;
+	int nResult = WSAStartup(MAKEWORD(2,2), &wsaData);
+	if(nResult != NO_ERROR)
+	{
+		fprintf(stderr, "WSAStartup() failed.\n");
+		return -1;
+	}
+#endif
+
+	for(i = 1; i < argc; i++) {
+		if(strcmp(argv[i], "-6") == 0)
+			ipv6 = 1;
+		else if(strcmp(argv[i], "-d") == 0) {
+			if(++i >= argc) {
+				fprintf(stderr, "%s option needs one argument\n", "-d");
+				return 1;
+			}
+			searched_device = argv[i];
+		} else if(strcmp(argv[i], "-t") == 0) {
+			if(++i >= argc) {
+				fprintf(stderr, "%s option needs one argument\n", "-t");
+				return 1;
+			}
+			ttl = (unsigned char)atoi(argv[i]);
+		} else if(strcmp(argv[i], "-l") == 0) {
+			if(++i >= argc) {
+				fprintf(stderr, "-l option needs at least one argument\n");
+				return 1;
+			}
+			searched_devices = (const char * *)(argv + i);
+			break;
+		} else if(strcmp(argv[i], "-m") == 0) {
+			if(++i >= argc) {
+				fprintf(stderr, "-m option needs one argument\n");
+				return 1;
+			}
+			multicastif = argv[i];
+		} else {
+			printf("usage : %s [options] [-l <device1> <device2> ...]\n", argv[0]);
+			printf("options :\n");
+			printf("   -6 : use IPv6\n");
+			printf("   -m address/ifname : network interface to use for multicast\n");
+			printf("   -d <device string> : search only for this type of device\n");
+			printf("   -l <device1> <device2> ... : search only for theses types of device\n");
+			printf("   -t ttl : set multicast TTL. Default value is 2.\n");
+			printf("   -h : this help\n");
+			return 1;
+		}
+	}
+
+	if(searched_device) {
+		printf("searching UPnP device type %s\n", searched_device);
+		devlist = upnpDiscoverDevice(searched_device,
+		                             2000, multicastif, minissdpdpath,
+		                             0/*localport*/, ipv6, ttl, &error);
+	} else if(searched_devices) {
+		printf("searching UPnP device types :\n");
+		for(i = 0; searched_devices[i]; i++)
+			printf("\t%s\n", searched_devices[i]);
+		devlist = upnpDiscoverDevices(searched_devices,
+		                              2000, multicastif, minissdpdpath,
+		                              0/*localport*/, ipv6, ttl, &error, 1);
+	} else {
+		printf("searching all UPnP devices\n");
+		devlist = upnpDiscoverAll(2000, multicastif, minissdpdpath,
+		                             0/*localport*/, ipv6, ttl, &error);
+	}
+	if(devlist) {
+		for(dev = devlist, i = 1; dev != NULL; dev = dev->pNext, i++) {
+			printf("%3d: %-48s\n", i, dev->st);
+			printf("     %s\n", dev->descURL);
+			printf("     %s\n", dev->usn);
+			add_device(&sorted_list, dev);
+		}
+		putchar('\n');
+		for (dev_array = sorted_list; dev_array != NULL ; dev_array = dev_array->next) {
+			printf("%s :\n", dev_array->descURL);
+			for(i = 0; (unsigned)i < dev_array->count; i++) {
+				printf("%2d: %s\n", i+1, dev_array->array[i]->st);
+				printf("    %s\n", dev_array->array[i]->usn);
+			}
+			putchar('\n');
+		}
+		freeUPNPDevlist(devlist);
+		while(sorted_list != NULL) {
+			dev_array = sorted_list;
+			sorted_list = sorted_list->next;
+			free_device(dev_array);
+		}
+	} else {
+		printf("no device found.\n");
+	}
+
+	return 0;
+}
+
diff --git a/libs/miniupnpc/minihttptestserver.c b/libs/miniupnpc/src/minihttptestserver.c
similarity index 56%
rename from libs/miniupnpc/minihttptestserver.c
rename to libs/miniupnpc/src/minihttptestserver.c
index a1dddf0eaf..57235841eb 100644
--- a/libs/miniupnpc/minihttptestserver.c
+++ b/libs/miniupnpc/src/minihttptestserver.c
@@ -1,7 +1,7 @@
-/* $Id: minihttptestserver.c,v 1.6 2011/05/09 08:53:15 nanard Exp $ */
+/* $Id: minihttptestserver.c,v 1.25 2020/05/29 21:14:22 nanard Exp $ */
 /* Project : miniUPnP
  * Author : Thomas Bernard
- * Copyright (c) 2011 Thomas Bernard
+ * Copyright (c) 2011-2018 Thomas Bernard
  * This software is subject to the conditions detailed in the
  * LICENCE file provided in this distribution.
  * */
@@ -16,36 +16,43 @@
 #include <netinet/in.h>
 #include <signal.h>
 #include <time.h>
+#include <errno.h>
+
+#ifndef INADDR_LOOPBACK
+#define INADDR_LOOPBACK         0x7f000001
+#endif
 
 #define CRAP_LENGTH (2048)
 
-volatile int quit = 0;
-volatile int child_to_wait_for = 0;
+static int server(unsigned short port, const char * expected_file_name, int ipv6);
+
+volatile sig_atomic_t quit = 0;
+volatile sig_atomic_t child_to_wait_for = 0;
 
 /**
  * signal handler for SIGCHLD (child status has changed)
  */
 void handle_signal_chld(int sig)
 {
-	printf("handle_signal_chld(%d)\n", sig);
+	(void)sig;
+	/* printf("handle_signal_chld(%d)\n", sig); */
 	++child_to_wait_for;
 }
 
 /**
  * signal handler for SIGINT (CRTL C)
  */
-#if 0
 void handle_signal_int(int sig)
 {
-	printf("handle_signal_int(%d)\n", sig);
+	(void)sig;
+	/* printf("handle_signal_int(%d)\n", sig); */
 	quit = 1;
 }
-#endif
 
 /**
  * build a text/plain content of the specified length
  */
-void build_content(char * p, int n)
+void build_content(char * p, size_t n)
 {
 	char line_buffer[80];
 	int k;
@@ -74,10 +81,10 @@ void build_content(char * p, int n)
 /**
  * build crappy content
  */
-void build_crap(char * p, int n)
+void build_crap(char * p, size_t n)
 {
 	static const char crap[] = "_CRAP_\r\n";
-	int i;
+	size_t i;
 
 	while(n > 0) {
 		i = sizeof(crap) - 1;
@@ -93,15 +100,19 @@ void build_crap(char * p, int n)
  * build chunked response.
  * return a malloc'ed buffer
  */
-char * build_chunked_response(int content_length, int * response_len) {
+char * build_chunked_response(size_t content_length, size_t * response_len)
+{
 	char * response_buffer;
 	char * content_buffer;
-	int buffer_length;
-	int i, n;
+	size_t buffer_length;
+	size_t i;
+	unsigned int n;
 
 	/* allocate to have some margin */
 	buffer_length = 256 + content_length + (content_length >> 4);
 	response_buffer = malloc(buffer_length);
+	if(response_buffer == NULL)
+		return NULL;
 	*response_len = snprintf(response_buffer, buffer_length,
 	                         "HTTP/1.1 200 OK\r\n"
 	                         "Content-Type: text/plain\r\n"
@@ -110,6 +121,10 @@ char * build_chunked_response(int content_length, int * response_len) {
 
 	/* build the content */
 	content_buffer = malloc(content_length);
+	if(content_buffer == NULL) {
+		free(response_buffer);
+		return NULL;
+	}
 	build_content(content_buffer, content_length);
 
 	/* chunk it */
@@ -129,16 +144,126 @@ char * build_chunked_response(int content_length, int * response_len) {
 		response_buffer[(*response_len)++] = '\r';
 		response_buffer[(*response_len)++] = '\n';
 	}
-	memcpy(response_buffer + *response_len, "0\r\n", 3);
-	*response_len += 3;
+	/* the last chunk : "0\r\n" a empty body and then
+	 * the final "\r\n" */
+	memcpy(response_buffer + *response_len, "0\r\n\r\n", 5);
+	*response_len += 5;
 	free(content_buffer);
 
-	printf("resp_length=%d buffer_length=%d content_length=%d\n",
+	printf("resp_length=%lu buffer_length=%lu content_length=%lu\n",
 	       *response_len, buffer_length, content_length);
 	return response_buffer;
 }
 
-enum modes { MODE_INVALID, MODE_CHUNKED, MODE_ADDCRAP, MODE_NORMAL };
+/* favicon.ico generator */
+#ifdef OLD_HEADER
+#define FAVICON_LENGTH (6 + 16 + 12 + 8 + 32 * 4)
+#else
+#define FAVICON_LENGTH (6 + 16 + 40 + 8 + 32 * 4)
+#endif
+void build_favicon_content(unsigned char * p, size_t n)
+{
+	int i;
+	if(n < FAVICON_LENGTH)
+		return;
+	/* header : 6 bytes */
+	*p++ = 0;
+	*p++ = 0;
+	*p++ = 1;	/* type : ICO */
+	*p++ = 0;
+	*p++ = 1;	/* number of images in file */
+	*p++ = 0;
+	/* image directory (1 entry) : 16 bytes */
+	*p++ = 16;	/* width */
+	*p++ = 16;	/* height */
+	*p++ = 2;	/* number of colors in the palette. 0 = no palette */
+	*p++ = 0;	/* reserved */
+	*p++ = 1;	/* color planes */
+	*p++ = 0;	/* " */
+	*p++ = 1;	/* bpp */
+	*p++ = 0;	/* " */
+#ifdef OLD_HEADER
+	*p++ = 12 + 8 + 32 * 4;	/* bmp size */
+#else
+	*p++ = 40 + 8 + 32 * 4;	/* bmp size */
+#endif
+	*p++ = 0;	/* " */
+	*p++ = 0;	/* " */
+	*p++ = 0;	/* " */
+	*p++ = 6 + 16;	/* bmp offset */
+	*p++ = 0;	/* " */
+	*p++ = 0;	/* " */
+	*p++ = 0;	/* " */
+	/* BMP */
+#ifdef OLD_HEADER
+	/* BITMAPCOREHEADER */
+	*p++ = 12;	/* size of this header */
+	*p++ = 0;	/* " */
+	*p++ = 0;	/* " */
+	*p++ = 0;	/* " */
+	*p++ = 16;	/* width */
+	*p++ = 0;	/* " */
+	*p++ = 16 * 2;	/* height x 2 ! */
+	*p++ = 0;	/* " */
+	*p++ = 1;	/* color planes */
+	*p++ = 0;	/* " */
+	*p++ = 1;	/* bpp */
+	*p++ = 0;	/* " */
+#else
+	/* BITMAPINFOHEADER */
+	*p++ = 40;	/* size of this header */
+	*p++ = 0;	/* " */
+	*p++ = 0;	/* " */
+	*p++ = 0;	/* " */
+	*p++ = 16;	/* width */
+	*p++ = 0;	/* " */
+	*p++ = 0;	/* " */
+	*p++ = 0;	/* " */
+	*p++ = 16 * 2;	/* height x 2 ! */
+	*p++ = 0;	/* " */
+	*p++ = 0;	/* " */
+	*p++ = 0;	/* " */
+	*p++ = 1;	/* color planes */
+	*p++ = 0;	/* " */
+	*p++ = 1;	/* bpp */
+	*p++ = 0;	/* " */
+	/* compression method, image size, ppm x, ppm y */
+	/* colors in the palette ? */
+	/* important colors */
+	for(i = 4 * 6; i > 0; --i)
+		*p++ = 0;
+#endif
+	/* palette */
+	*p++ = 0;	/* b */
+	*p++ = 0;	/* g */
+	*p++ = 0;	/* r */
+	*p++ = 0;	/* reserved */
+	*p++ = 255;	/* b */
+	*p++ = 255;	/* g */
+	*p++ = 255;	/* r */
+	*p++ = 0;	/* reserved */
+	/* pixel data */
+	for(i = 16; i > 0; --i) {
+		if(i & 1) {
+			*p++ = 0125;
+			*p++ = 0125;
+		} else {
+			*p++ = 0252;
+			*p++ = 0252;
+		}
+		*p++ = 0;
+		*p++ = 0;
+	}
+	/* Opacity MASK */
+	for(i = 16 * 4; i > 0; --i) {
+		*p++ = 0;
+	}
+}
+
+enum modes {
+	MODE_INVALID, MODE_CHUNKED, MODE_ADDCRAP, MODE_NORMAL, MODE_FAVICON, MODE_MALFORMED
+};
+
 const struct {
 	const enum modes mode;
 	const char * text;
@@ -146,28 +271,33 @@ const struct {
 	{MODE_CHUNKED, "chunked"},
 	{MODE_ADDCRAP, "addcrap"},
 	{MODE_NORMAL, "normal"},
+	{MODE_FAVICON, "favicon.ico"},
+	{MODE_MALFORMED, "malformed"},
 	{MODE_INVALID, NULL}
 };
 
 /**
  * write the response with random behaviour !
  */
-void send_response(int c, const char * buffer, int len)
+void send_response(int c, const char * buffer, size_t len)
 {
-	int n;
+	ssize_t n;
 	while(len > 0) {
 		n = (rand() % 99) + 1;
-		if(n > len)
+		if((size_t)n > len)
 			n = len;
 		n = write(c, buffer, n);
 		if(n < 0) {
-			perror("write");
-			return;
+			if(errno != EINTR) {
+				perror("write");
+				return;
+			}
+			/* if errno == EINTR, try again */
 		} else {
 			len -= n;
 			buffer += n;
+			usleep(10000); /* 10ms */
 		}
-		usleep(10000); /* 10ms */
 	}
 }
 
@@ -177,17 +307,18 @@ void send_response(int c, const char * buffer, int len)
 void handle_http_connection(int c)
 {
 	char request_buffer[2048];
-	int request_len = 0;
+	size_t request_len = 0;
 	int headers_found = 0;
-	int n, i;
+	ssize_t n, m;
+	size_t i;
 	char request_method[16];
 	char request_uri[256];
 	char http_version[16];
 	char * p;
 	char * response_buffer;
-	int response_len;
+	size_t response_len;
 	enum modes mode;
-	int content_length = 16*1024;
+	size_t content_length = 16*1024;
 
 	/* read the request */
 	while(request_len < sizeof(request_buffer) && !headers_found) {
@@ -195,6 +326,8 @@ void handle_http_connection(int c)
 		         request_buffer + request_len,
 		         sizeof(request_buffer) - request_len);
 		if(n < 0) {
+			if(errno == EINTR)
+				continue;
 			perror("read");
 			return;
 		} else if(n==0) {
@@ -213,9 +346,10 @@ void handle_http_connection(int c)
 	}
 	if(!headers_found) {
 		/* error */
+		printf("no HTTP header found in the request\n");
 		return;
 	}
-	printf("headers :\n%.*s", request_len, request_buffer);
+	printf("headers :\n%.*s", (int)request_len, request_buffer);
 	/* the request have been received, now parse the request line */
 	p = request_buffer;
 	for(i = 0; i < sizeof(request_method) - 1; i++) {
@@ -227,7 +361,7 @@ void handle_http_connection(int c)
 	request_method[i] = '\0';
 	while(*p == ' ')
 		p++;
-	for(i = 0; i < sizeof(request_uri) - 1; i++) {
+	for(i = 0; i < (int)sizeof(request_uri) - 1; i++) {
 		if(*p == ' ' || *p == '\r')
 			break;
 		request_uri[i] = *p;
@@ -236,7 +370,7 @@ void handle_http_connection(int c)
 	request_uri[i] = '\0';
 	while(*p == ' ')
 		p++;
-	for(i = 0; i < sizeof(http_version) - 1; i++) {
+	for(i = 0; i < (int)sizeof(http_version) - 1; i++) {
 		if(*p == ' ' || *p == '\r')
 			break;
 		http_version[i] = *p;
@@ -249,10 +383,24 @@ void handle_http_connection(int c)
 	if(0 != strcmp(request_method, "GET")) {
 		const char response405[] = "HTTP/1.1 405 Method Not Allowed\r\n"
 		                           "Allow: GET\r\n\r\n";
+		const char * pc;
 		/* 405 Method Not Allowed */
 		/* The response MUST include an Allow header containing a list
 		 * of valid methods for the requested resource. */
-		write(c, response405, sizeof(response405) - 1);
+		n = sizeof(response405) - 1;
+		pc = response405;
+		while(n > 0) {
+			m = write(c, pc, n);
+			if(m<0) {
+				if(errno != EINTR) {
+					perror("write");
+					return;
+				}
+			} else {
+				n -= m;
+				pc += m;
+			}
+		}
 		return;
 	}
 
@@ -266,33 +414,81 @@ void handle_http_connection(int c)
 	}
 
 	switch(mode) {
+	case MODE_MALFORMED:
+		response_len = 2048;
+		response_buffer = malloc(response_len);
+		if(!response_buffer)
+			break;
+		n = snprintf(response_buffer, response_len,
+		             "HTTP/1.1 \r\n"
+					 "\r\n"
+					 /*"0000\r\n"*/);
+		for (i = n; i < response_len; i++) {
+			response_buffer[i] = ' ';
+		}
+		response_len = n;
+		break;
 	case MODE_CHUNKED:
 		response_buffer = build_chunked_response(content_length, &response_len);
 		break;
 	case MODE_ADDCRAP:
 		response_len = content_length+256;
 		response_buffer = malloc(response_len);
+		if(!response_buffer)
+			break;
 		n = snprintf(response_buffer, response_len,
 		             "HTTP/1.1 200 OK\r\n"
 		             "Server: minihttptestserver\r\n"
 		             "Content-Type: text/plain\r\n"
-		             "Content-Length: %d\r\n"
+		             "Content-Length: %lu\r\n"
 		             "\r\n", content_length);
 		response_len = content_length+n+CRAP_LENGTH;
-		response_buffer = realloc(response_buffer, response_len);
+		p = realloc(response_buffer, response_len);
+		if(p == NULL) {
+			/* error 500 */
+			free(response_buffer);
+			response_buffer = NULL;
+			break;
+		}
+		response_buffer = p;
 		build_content(response_buffer + n, content_length);
 		build_crap(response_buffer + n + content_length, CRAP_LENGTH);
 		break;
+	case MODE_FAVICON:
+		content_length = FAVICON_LENGTH;
+		response_len = content_length + 256;
+		response_buffer = malloc(response_len);
+		if(!response_buffer)
+			break;
+		n = snprintf(response_buffer, response_len,
+		             "HTTP/1.1 200 OK\r\n"
+		             "Server: minihttptestserver\r\n"
+		             "Content-Type: image/vnd.microsoft.icon\r\n"
+		             "Content-Length: %lu\r\n"
+		             "\r\n", content_length);
+		/* image/x-icon */
+		build_favicon_content((unsigned char *)(response_buffer + n), content_length);
+		response_len = content_length + n;
+		break;
 	default:
 		response_len = content_length+256;
 		response_buffer = malloc(response_len);
+		if(!response_buffer)
+			break;
 		n = snprintf(response_buffer, response_len,
 		             "HTTP/1.1 200 OK\r\n"
 		             "Server: minihttptestserver\r\n"
 		             "Content-Type: text/plain\r\n"
 		             "\r\n");
 		response_len = content_length+n;
-		response_buffer = realloc(response_buffer, response_len);
+		p = realloc(response_buffer, response_len);
+		if(p == NULL) {
+			/* Error 500 */
+			free(response_buffer);
+			response_buffer = NULL;
+			break;
+		}
+		response_buffer = p;
 		build_content(response_buffer + n, response_len - n);
 	}
 
@@ -308,15 +504,8 @@ void handle_http_connection(int c)
  */
 int main(int argc, char * * argv) {
 	int ipv6 = 0;
-	int s, c, i;
+	int r, i;
 	unsigned short port = 0;
-	struct sockaddr_storage server_addr;
-	socklen_t server_addrlen;
-	struct sockaddr_storage client_addr;
-	socklen_t client_addrlen;
-	pid_t pid;
-	int child = 0;
-	int status;
 	const char * expected_file_name = NULL;
 
 	for(i = 1; i < argc; i++) {
@@ -339,15 +528,46 @@ int main(int argc, char * * argv) {
 				fprintf(stderr, "unknown command line switch '%s'\n", argv[i]);
 			}
 		} else {
-			fprintf(stderr, "unkown command line argument '%s'\n", argv[i]);
+			fprintf(stderr, "unknown command line argument '%s'\n", argv[i]);
 		}
 	}
 
 	srand(time(NULL));
-	signal(SIGCHLD, handle_signal_chld);
-#if 0
-	signal(SIGINT, handle_signal_int);
-#endif
+
+	r = server(port, expected_file_name, ipv6);
+	if(r != 0) {
+		printf("*** ERROR ***\n");
+	}
+	return r;
+}
+
+static int server(unsigned short port, const char * expected_file_name, int ipv6)
+{
+	int s, c;
+	int i;
+	struct sockaddr_storage server_addr;
+	socklen_t server_addrlen;
+	struct sockaddr_storage client_addr;
+	socklen_t client_addrlen;
+	pid_t pid;
+	int child = 0;
+	int status;
+	struct sigaction sa;
+
+	memset(&sa, 0, sizeof(struct sigaction));
+
+	/*signal(SIGCHLD, handle_signal_chld);*/
+	sa.sa_handler = handle_signal_chld;
+	if(sigaction(SIGCHLD, &sa, NULL) < 0) {
+		perror("sigaction");
+		return 1;
+	}
+	/*signal(SIGINT, handle_signal_int);*/
+	sa.sa_handler = handle_signal_int;
+	if(sigaction(SIGINT, &sa, NULL) < 0) {
+		perror("sigaction");
+		return 1;
+	}
 
 	s = socket(ipv6 ? AF_INET6 : AF_INET, SOCK_STREAM, 0);
 	if(s < 0) {
@@ -360,12 +580,12 @@ int main(int argc, char * * argv) {
 		struct sockaddr_in6 * addr = (struct sockaddr_in6 *)&server_addr;
 		addr->sin6_family = AF_INET6;
 		addr->sin6_port = htons(port);
-		addr->sin6_addr = in6addr_any;
+		addr->sin6_addr = in6addr_loopback;
 	} else {
 		struct sockaddr_in * addr = (struct sockaddr_in *)&server_addr;
 		addr->sin_family = AF_INET;
 		addr->sin_port = htons(port);
-		addr->sin_addr.s_addr = htonl(INADDR_ANY);
+		addr->sin_addr.s_addr = htonl(INADDR_LOOPBACK);
 	}
 	if(bind(s, (struct sockaddr *)&server_addr,
 	        ipv6 ? sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in)) < 0) {
@@ -399,10 +619,19 @@ int main(int argc, char * * argv) {
 		if(f) {
 			char * buffer;
 			buffer = malloc(16*1024);
-			build_content(buffer, 16*1024);
-			fwrite(buffer, 1, 16*1024, f);
-			free(buffer);
+			if(buffer == NULL) {
+				fprintf(stderr, "memory allocation error\n");
+			} else {
+				build_content(buffer, 16*1024);
+				i = fwrite(buffer, 1, 16*1024, f);
+				if(i != 16*1024) {
+					fprintf(stderr, "error writing to file %s : %dbytes written (out of %d)\n", expected_file_name, i, 16*1024);
+				}
+				free(buffer);
+			}
 			fclose(f);
+		} else {
+			fprintf(stderr, "error opening file %s for writing\n", expected_file_name);
 		}
 	}
 
@@ -413,16 +642,16 @@ int main(int argc, char * * argv) {
 			if(pid < 0) {
 				perror("wait");
 			} else {
-				printf("child(%d) terminated with status %d\n", pid, status);
+				printf("child(%d) terminated with status %d\n", (int)pid, status);
 			}
 			--child_to_wait_for;
 		}
-		/* TODO : add a select() call in order to handle the case
-		 * when a signal is caught */
 		client_addrlen = sizeof(struct sockaddr_storage);
 		c = accept(s, (struct sockaddr *)&client_addr,
 		           &client_addrlen);
 		if(c < 0) {
+			if(errno == EAGAIN || errno == EWOULDBLOCK || errno == EINTR)
+				continue;
 			perror("accept");
 			return 1;
 		}
@@ -450,7 +679,7 @@ int main(int argc, char * * argv) {
 			if(pid < 0) {
 				perror("wait");
 			} else {
-				printf("child(%d) terminated with status %d\n", pid, status);
+				printf("child(%d) terminated with status %d\n", (int)pid, status);
 			}
 			--child_to_wait_for;
 		}
diff --git a/libs/miniupnpc/minisoap.c b/libs/miniupnpc/src/minisoap.c
similarity index 81%
rename from libs/miniupnpc/minisoap.c
rename to libs/miniupnpc/src/minisoap.c
index 8889bf040d..78606672d5 100644
--- a/libs/miniupnpc/minisoap.c
+++ b/libs/miniupnpc/src/minisoap.c
@@ -1,7 +1,8 @@
-/* $Id: minisoap.c,v 1.21 2011/03/22 19:15:35 nanard Exp $ */
-/* Project : miniupnp
+/* $Id: minisoap.c,v 1.30 2020/11/09 19:27:42 nanard Exp $ */
+/* vim: tabstop=4 shiftwidth=4 noexpandtab
+ * Project : miniupnp
  * Author : Thomas Bernard
- * Copyright (c) 2005-2009 Thomas Bernard
+ * Copyright (c) 2005-2020 Thomas Bernard
  * This software is subject to the conditions detailed in the
  * LICENCE file provided in this distribution.
  *
@@ -9,10 +10,10 @@
  */
 #include <stdio.h>
 #include <string.h>
-#ifdef WIN32
+#ifdef _WIN32
 #include <io.h>
 #include <winsock2.h>
-#define snprintf _snprintf
+#include "win32_snprintf.h"
 #else
 #include <unistd.h>
 #include <sys/types.h>
@@ -24,16 +25,10 @@
 /* only for malloc */
 #include <stdlib.h>
 
-#ifdef WIN32
-#define PRINT_SOCKET_ERROR(x)    printf("Socket error: %s, %d\n", x, WSAGetLastError());
-#else
-#define PRINT_SOCKET_ERROR(x) perror(x)
-#endif
-
 /* httpWrite sends the headers and the body to the socket
  * and returns the number of bytes sent */
 static int
-httpWrite(int fd, const char * body, int bodysize,
+httpWrite(SOCKET fd, const char * body, int bodysize,
           const char * headers, int headerssize)
 {
 	int n = 0;
@@ -43,10 +38,10 @@ httpWrite(int fd, const char * body, int bodysize,
 	/* Note : my old linksys router only took into account
 	 * soap request that are sent into only one packet */
 	char * p;
-	/* TODO: AVOID MALLOC */
+	/* TODO: AVOID MALLOC, we could use writev() for that */
 	p = malloc(headerssize+bodysize);
 	if(!p)
-	  return 0;
+	  return -1;
 	memcpy(p, headers, headerssize);
 	memcpy(p+headerssize, body, bodysize);
 	/*n = write(fd, p, headerssize+bodysize);*/
@@ -55,9 +50,9 @@ httpWrite(int fd, const char * body, int bodysize,
 	  PRINT_SOCKET_ERROR("send");
 	}
 	/* disable send on the socket */
-	/* draytek routers dont seems to like that... */
+	/* draytek routers don't seem to like that... */
 #if 0
-#ifdef WIN32
+#ifdef _WIN32
 	if(shutdown(fd, SD_SEND)<0) {
 #else
 	if(shutdown(fd, SHUT_WR)<0)	{ /*SD_SEND*/
@@ -70,7 +65,7 @@ httpWrite(int fd, const char * body, int bodysize,
 }
 
 /* self explanatory  */
-int soapPostSubmit(int fd,
+int soapPostSubmit(SOCKET fd,
                    const char * url,
 				   const char * host,
 				   unsigned short port,
@@ -78,11 +73,10 @@ int soapPostSubmit(int fd,
 				   const char * body,
 				   const char * httpversion)
 {
-	int bodysize;
 	char headerbuf[512];
 	int headerssize;
 	char portstr[8];
-	bodysize = (int)strlen(body);
+	int bodysize = (int)strlen(body);
 	/* We are not using keep-alive HTTP connections.
 	 * HTTP/1.1 needs the header Connection: close to do that.
 	 * This is the default with HTTP/1.0
@@ -96,7 +90,7 @@ int soapPostSubmit(int fd,
 	headerssize = snprintf(headerbuf, sizeof(headerbuf),
                        "POST %s HTTP/%s\r\n"
 	                   "Host: %s%s\r\n"
-					   "User-Agent: " OS_STRING ", UPnP/1.0, MiniUPnPc/" MINIUPNPC_VERSION_STRING "\r\n"
+					   "User-Agent: " OS_STRING ", " UPNP_VERSION_STRING ", MiniUPnPc/" MINIUPNPC_VERSION_STRING "\r\n"
 	                   "Content-Length: %d\r\n"
 					   "Content-Type: text/xml\r\n"
 					   "SOAPAction: \"%s\"\r\n"
@@ -105,6 +99,8 @@ int soapPostSubmit(int fd,
 					   "Pragma: no-cache\r\n"
 					   "\r\n",
 					   url, httpversion, host, portstr, bodysize, action);
+	if ((unsigned int)headerssize >= sizeof(headerbuf))
+		return -1;
 #ifdef DEBUG
 	/*printf("SOAP request : headersize=%d bodysize=%d\n",
 	       headerssize, bodysize);
diff --git a/libs/miniupnpc/minisoap.h b/libs/miniupnpc/src/minisoap.h
similarity index 51%
rename from libs/miniupnpc/minisoap.h
rename to libs/miniupnpc/src/minisoap.h
index 696725f625..f286842052 100644
--- a/libs/miniupnpc/minisoap.h
+++ b/libs/miniupnpc/src/minisoap.h
@@ -1,14 +1,16 @@
-/* $Id: minisoap.h,v 1.4 2010/04/12 20:39:41 nanard Exp $ */
+/* $Id: minisoap.h,v 1.6 2018/04/06 10:53:13 nanard Exp $ */
 /* Project : miniupnp
  * Author : Thomas Bernard
- * Copyright (c) 2005 Thomas Bernard
+ * Copyright (c) 2005-2018 Thomas Bernard
  * This software is subject to the conditions detailed in the
  * LICENCE file provided in this distribution. */
-#ifndef __MINISOAP_H__
-#define __MINISOAP_H__
+#ifndef MINISOAP_H_INCLUDED
+#define MINISOAP_H_INCLUDED
+
+#include "miniupnpc_socketdef.h"
 
 /*int httpWrite(int, const char *, int, const char *);*/
-int soapPostSubmit(int, const char *, const char *, unsigned short,
+int soapPostSubmit(SOCKET, const char *, const char *, unsigned short,
 		   const char *, const char *, const char *);
 
 #endif
diff --git a/libs/miniupnpc/src/minissdpc.c b/libs/miniupnpc/src/minissdpc.c
new file mode 100644
index 0000000000..edebb1600a
--- /dev/null
+++ b/libs/miniupnpc/src/minissdpc.c
@@ -0,0 +1,1019 @@
+/* $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/
+ * Author : Thomas BERNARD
+ * copyright (c) 2005-2021 Thomas Bernard
+ * This software is subjet to the conditions detailed in the
+ * provided LICENCE file. */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <time.h>
+#include <sys/types.h>
+#if defined (__NetBSD__)
+#include <net/if.h>
+#endif
+#if defined(_WIN32) || defined(__amigaos__) || defined(__amigaos4__)
+#ifdef _WIN32
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#include <io.h>
+#include <iphlpapi.h>
+#include "win32_snprintf.h"
+#if !defined(_MSC_VER)
+#include <stdint.h>
+#else /* !defined(_MSC_VER) */
+typedef unsigned short uint16_t;
+#endif /* !defined(_MSC_VER) */
+#ifndef strncasecmp
+#if defined(_MSC_VER) && (_MSC_VER >= 1400)
+#define strncasecmp _memicmp
+#else /* defined(_MSC_VER) && (_MSC_VER >= 1400) */
+#define strncasecmp memicmp
+#endif /* defined(_MSC_VER) && (_MSC_VER >= 1400) */
+#endif /* #ifndef strncasecmp */
+#if defined(WINAPI_FAMILY) && defined(WINAPI_FAMILY_PARTITION)
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) && WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP
+#define in6addr_any in6addr_any_init
+static const IN6_ADDR in6addr_any_init = {0};
+#endif
+#endif
+#endif /* _WIN32 */
+#if defined(__amigaos__) || defined(__amigaos4__)
+#include <sys/socket.h>
+#endif /* defined(__amigaos__) || defined(__amigaos4__) */
+#if defined(__amigaos__)
+#define uint16_t unsigned short
+#endif /* defined(__amigaos__) */
+/* Hack */
+#define UNIX_PATH_LEN   108
+struct sockaddr_un {
+  uint16_t sun_family;
+  char     sun_path[UNIX_PATH_LEN];
+};
+#else /* defined(_WIN32) || defined(__amigaos__) || defined(__amigaos4__) */
+#include <strings.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include <sys/param.h>
+#include <sys/time.h>
+#include <sys/un.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <netdb.h>
+#include <net/if.h>
+#define closesocket close
+#endif
+
+#include "miniupnpc_socketdef.h"
+
+#if !defined(__DragonFly__) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__APPLE__) && !defined(_WIN32) && !defined(__CYGWIN__) && !defined(__sun) && !defined(__GNU__) && !defined(__FreeBSD_kernel__) && !defined(__HAIKU__)
+#define HAS_IP_MREQN
+#endif
+
+#ifndef _WIN32
+#include <sys/ioctl.h>
+#if defined(__sun) || defined(__HAIKU__)
+#include <sys/sockio.h>
+#endif
+#endif
+
+#if defined(HAS_IP_MREQN) && defined(NEED_STRUCT_IP_MREQN)
+/* Several versions of glibc don't define this structure,
+ * define it here and compile with CFLAGS NEED_STRUCT_IP_MREQN */
+struct ip_mreqn
+{
+	struct in_addr	imr_multiaddr;		/* IP multicast address of group */
+	struct in_addr	imr_address;		/* local IP address of interface */
+	int		imr_ifindex;		/* Interface index */
+};
+#endif
+
+#if defined(__amigaos__) || defined(__amigaos4__)
+/* Amiga OS specific stuff */
+#define TIMEVAL struct timeval
+#endif
+
+#include "minissdpc.h"
+#include "miniupnpc.h"
+#include "receivedata.h"
+
+#if !(defined(_WIN32) || defined(__amigaos__) || defined(__amigaos4__))
+
+#include "codelength.h"
+
+struct UPNPDev *
+getDevicesFromMiniSSDPD(const char * devtype, const char * socketpath, int * error)
+{
+	struct UPNPDev * devlist = NULL;
+	int s;
+	int res;
+
+	s = connectToMiniSSDPD(socketpath);
+	if (s < 0) {
+		if (error)
+			*error = s;
+		return NULL;
+	}
+	res = requestDevicesFromMiniSSDPD(s, devtype);
+	if (res < 0) {
+		if (error)
+			*error = res;
+	} else {
+		devlist = receiveDevicesFromMiniSSDPD(s, error);
+	}
+	disconnectFromMiniSSDPD(s);
+	return devlist;
+}
+
+/* macros used to read from unix socket */
+#define READ_BYTE_BUFFER(c) \
+	if((int)bufferindex >= n) { \
+		n = read(s, buffer, sizeof(buffer)); \
+		if(n<=0) break; \
+		bufferindex = 0; \
+	} \
+	c = buffer[bufferindex++];
+
+#ifndef MIN
+#define MIN(a, b) (((a) < (b)) ? (a) : (b))
+#endif /* MIN */
+
+#define READ_COPY_BUFFER(dst, len) \
+	for(l = len, p = (unsigned char *)dst; l > 0; ) { \
+		unsigned int lcopy; \
+		if((int)bufferindex >= n) { \
+			n = read(s, buffer, sizeof(buffer)); \
+			if(n<=0) break; \
+			bufferindex = 0; \
+		} \
+		lcopy = MIN(l, (n - bufferindex)); \
+		memcpy(p, buffer + bufferindex, lcopy); \
+		l -= lcopy; \
+		p += lcopy; \
+		bufferindex += lcopy; \
+	}
+
+#define READ_DISCARD_BUFFER(len) \
+	for(l = len; l > 0; ) { \
+		unsigned int lcopy; \
+		if(bufferindex >= n) { \
+			n = read(s, buffer, sizeof(buffer)); \
+			if(n<=0) break; \
+			bufferindex = 0; \
+		} \
+		lcopy = MIN(l, (n - bufferindex)); \
+		l -= lcopy; \
+		bufferindex += lcopy; \
+	}
+
+int
+connectToMiniSSDPD(const char * socketpath)
+{
+	int s;
+	struct sockaddr_un addr;
+#if defined(MINIUPNPC_SET_SOCKET_TIMEOUT) && !defined(__sun)
+	struct timeval timeout;
+#endif /* #ifdef MINIUPNPC_SET_SOCKET_TIMEOUT */
+
+	s = socket(AF_UNIX, SOCK_STREAM, 0);
+	if(s < 0)
+	{
+		/*syslog(LOG_ERR, "socket(unix): %m");*/
+		perror("socket(unix)");
+		return MINISSDPC_SOCKET_ERROR;
+	}
+#if defined(MINIUPNPC_SET_SOCKET_TIMEOUT) && !defined(__sun)
+	/* setting a 3 seconds timeout */
+	/* not supported for AF_UNIX sockets under Solaris */
+	timeout.tv_sec = 3;
+	timeout.tv_usec = 0;
+	if(setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(struct timeval)) < 0)
+	{
+		perror("setsockopt SO_RCVTIMEO unix");
+	}
+	timeout.tv_sec = 3;
+	timeout.tv_usec = 0;
+	if(setsockopt(s, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(struct timeval)) < 0)
+	{
+		perror("setsockopt SO_SNDTIMEO unix");
+	}
+#endif /* #ifdef MINIUPNPC_SET_SOCKET_TIMEOUT */
+	if(!socketpath)
+		socketpath = "/var/run/minissdpd.sock";
+	memset(&addr, 0, sizeof(addr));
+	addr.sun_family = AF_UNIX;
+	strncpy(addr.sun_path, socketpath, sizeof(addr.sun_path));
+	/* TODO : check if we need to handle the EINTR */
+	if(connect(s, (struct sockaddr *)&addr, sizeof(struct sockaddr_un)) < 0)
+	{
+		/*syslog(LOG_WARNING, "connect(\"%s\"): %m", socketpath);*/
+		close(s);
+		return MINISSDPC_SOCKET_ERROR;
+	}
+	return s;
+}
+
+int
+disconnectFromMiniSSDPD(int s)
+{
+	if (close(s) < 0)
+		return MINISSDPC_SOCKET_ERROR;
+	return MINISSDPC_SUCCESS;
+}
+
+int
+requestDevicesFromMiniSSDPD(int s, const char * devtype)
+{
+	unsigned char buffer[256];
+	unsigned char * p;
+	unsigned int stsize, l;
+
+	stsize = strlen(devtype);
+	if(stsize == 8 && 0 == memcmp(devtype, "ssdp:all", 8))
+	{
+		buffer[0] = 3;	/* request type 3 : everything */
+	}
+	else
+	{
+		buffer[0] = 1; /* request type 1 : request devices/services by type */
+	}
+	p = buffer + 1;
+	l = stsize;	CODELENGTH(l, p);
+	if(p + stsize > buffer + sizeof(buffer))
+	{
+		/* devtype is too long ! */
+#ifdef DEBUG
+		fprintf(stderr, "devtype is too long ! stsize=%u sizeof(buffer)=%u\n",
+		        stsize, (unsigned)sizeof(buffer));
+#endif /* DEBUG */
+		return MINISSDPC_INVALID_INPUT;
+	}
+	memcpy(p, devtype, stsize);
+	p += stsize;
+	if(write(s, buffer, p - buffer) < 0)
+	{
+		/*syslog(LOG_ERR, "write(): %m");*/
+		perror("minissdpc.c: write()");
+		return MINISSDPC_SOCKET_ERROR;
+	}
+	return MINISSDPC_SUCCESS;
+}
+
+struct UPNPDev *
+receiveDevicesFromMiniSSDPD(int s, int * error)
+{
+	struct UPNPDev * tmp;
+	struct UPNPDev * devlist = NULL;
+	unsigned char buffer[256];
+	ssize_t n;
+	unsigned char * p;
+	unsigned char * url;
+	unsigned char * st;
+	unsigned int bufferindex;
+	unsigned int i, ndev;
+	unsigned int urlsize, stsize, usnsize, l;
+
+	n = read(s, buffer, sizeof(buffer));
+	if(n<=0)
+	{
+		perror("minissdpc.c: read()");
+		if (error)
+			*error = MINISSDPC_SOCKET_ERROR;
+		return NULL;
+	}
+	ndev = buffer[0];
+	bufferindex = 1;
+	for(i = 0; i < ndev; i++)
+	{
+		DECODELENGTH_READ(urlsize, READ_BYTE_BUFFER);
+		if(n<=0) {
+			if (error)
+				*error = MINISSDPC_INVALID_SERVER_REPLY;
+			return devlist;
+		}
+#ifdef DEBUG
+		printf("  urlsize=%u", urlsize);
+#endif /* DEBUG */
+		url = malloc(urlsize);
+		if(url == NULL) {
+			if (error)
+				*error = MINISSDPC_MEMORY_ERROR;
+			return devlist;
+		}
+		READ_COPY_BUFFER(url, urlsize);
+		if(n<=0) {
+			if (error)
+				*error = MINISSDPC_INVALID_SERVER_REPLY;
+			goto free_url_and_return;
+		}
+		DECODELENGTH_READ(stsize, READ_BYTE_BUFFER);
+		if(n<=0) {
+			if (error)
+				*error = MINISSDPC_INVALID_SERVER_REPLY;
+			goto free_url_and_return;
+		}
+#ifdef DEBUG
+		printf("   stsize=%u", stsize);
+#endif /* DEBUG */
+		st = malloc(stsize);
+		if (st == NULL) {
+			if (error)
+				*error = MINISSDPC_MEMORY_ERROR;
+			goto free_url_and_return;
+		}
+		READ_COPY_BUFFER(st, stsize);
+		if(n<=0) {
+			if (error)
+				*error = MINISSDPC_INVALID_SERVER_REPLY;
+			goto free_url_and_st_and_return;
+		}
+		DECODELENGTH_READ(usnsize, READ_BYTE_BUFFER);
+		if(n<=0) {
+			if (error)
+				*error = MINISSDPC_INVALID_SERVER_REPLY;
+			goto free_url_and_st_and_return;
+		}
+#ifdef DEBUG
+		printf("   usnsize=%u\n", usnsize);
+#endif /* DEBUG */
+		tmp = (struct UPNPDev *)malloc(sizeof(struct UPNPDev)+urlsize+stsize+usnsize);
+		if(tmp == NULL) {
+			if (error)
+				*error = MINISSDPC_MEMORY_ERROR;
+			goto free_url_and_st_and_return;
+		}
+		tmp->pNext = devlist;
+		tmp->descURL = tmp->buffer;
+		tmp->st = tmp->buffer + 1 + urlsize;
+		memcpy(tmp->buffer, url, urlsize);
+		tmp->buffer[urlsize] = '\0';
+		memcpy(tmp->st, st, stsize);
+		tmp->buffer[urlsize+1+stsize] = '\0';
+		free(url);
+		free(st);
+		url = NULL;
+		st = NULL;
+		tmp->usn = tmp->buffer + 1 + urlsize + 1 + stsize;
+		READ_COPY_BUFFER(tmp->usn, usnsize);
+		if(n<=0) {
+			if (error)
+				*error = MINISSDPC_INVALID_SERVER_REPLY;
+			goto free_tmp_and_return;
+		}
+		tmp->buffer[urlsize+1+stsize+1+usnsize] = '\0';
+		tmp->scope_id = 0;	/* default value. scope_id is not available with MiniSSDPd */
+		devlist = tmp;
+	}
+	if (error)
+		*error = MINISSDPC_SUCCESS;
+	return devlist;
+
+free_url_and_st_and_return:
+	free(st);
+free_url_and_return:
+	free(url);
+	return devlist;
+
+free_tmp_and_return:
+	free(tmp);
+	return devlist;
+}
+
+#endif /* !(defined(_WIN32) || defined(__amigaos__) || defined(__amigaos4__)) */
+
+/* parseMSEARCHReply()
+ * the last 4 arguments are filled during the parsing :
+ *    - location/locationsize : "location:" field of the SSDP reply packet
+ *    - st/stsize : "st:" field of the SSDP reply packet.
+ *    - usn/usnsize : "usn:" filed of the SSDP reply packet
+ * The strings are NOT null terminated */
+static void
+parseMSEARCHReply(const char * reply, int size,
+                  const char * * location, int * locationsize,
+			      const char * * st, int * stsize,
+			      const char * * usn, int * usnsize)
+{
+	int a, b, i;
+	i = 0;
+	a = i;	/* start of the line */
+	b = 0;	/* end of the "header" (position of the colon) */
+	while(i<size)
+	{
+		switch(reply[i])
+		{
+		case ':':
+				if(b==0)
+				{
+					b = i; /* end of the "header" */
+					/*for(j=a; j<b; j++)
+					{
+						putchar(reply[j]);
+					}
+					*/
+				}
+				break;
+		case '\x0a':
+		case '\x0d':
+				if(b!=0)
+				{
+					/*for(j=b+1; j<i; j++)
+					{
+						putchar(reply[j]);
+					}
+					putchar('\n');*/
+					/* skip the colon and white spaces */
+					do { b++; } while(reply[b]==' ');
+					if(0==strncasecmp(reply+a, "location:", 9))
+					{
+						*location = reply+b;
+						*locationsize = i-b;
+					}
+					else if(0==strncasecmp(reply+a, "st:", 3))
+					{
+						*st = reply+b;
+						*stsize = i-b;
+					}
+					else if(0==strncasecmp(reply+a, "usn:", 4))
+					{
+						*usn = reply+b;
+						*usnsize = i-b;
+					}
+					b = 0;
+				}
+				a = i+1;
+				break;
+		default:
+				break;
+		}
+		i++;
+	}
+}
+
+#if defined(CLOCK_MONOTONIC_FAST)
+#define UPNP_CLOCKID CLOCK_MONOTONIC_FAST
+#elif defined(CLOCK_MONOTONIC)
+#define UPNP_CLOCKID CLOCK_MONOTONIC
+#endif
+
+static int upnp_gettimeofday(struct timeval * tv)
+{
+#if defined(_WIN32)
+#if _WIN32_WINNT >= 0x0600 // _WIN32_WINNT_VISTA
+	ULONGLONG ts = GetTickCount64();
+#else
+	DWORD ts = GetTickCount();
+#endif
+	tv->tv_sec = (long)(ts / 1000);
+	tv->tv_usec = (ts % 1000) * 1000;
+	return 0; /* success */
+#elif defined(CLOCK_MONOTONIC_FAST) || defined(CLOCK_MONOTONIC)
+#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__)
+	}
+	else
+	{
+		/* fall-back for earlier Apple platforms */
+		return gettimeofday(tv, NULL);
+	}
+#endif /* defined(__APPLE__) */
+#else
+	return gettimeofday(tv, NULL);
+#endif
+}
+/* port upnp discover : SSDP protocol */
+#define SSDP_PORT 1900
+#define XSTR(s) STR(s)
+#define STR(s) #s
+#define UPNP_MCAST_ADDR "239.255.255.250"
+/* for IPv6 */
+#define UPNP_MCAST_LL_ADDR "FF02::C" /* link-local */
+#define UPNP_MCAST_SL_ADDR "FF05::C" /* site-local */
+
+/* direct discovery if minissdpd responses are not sufficient */
+/* ssdpDiscoverDevices() :
+ * return a chained list of all devices found or NULL if
+ * no devices was found.
+ * It is up to the caller to free the chained list
+ * delay is in millisecond (poll).
+ * UDA v1.1 says :
+ *   The TTL for the IP packet SHOULD default to 2 and
+ *   SHOULD be configurable. */
+struct UPNPDev *
+ssdpDiscoverDevices(const char * const deviceTypes[],
+                    int delay, const char * multicastif,
+                    int localport,
+                    int ipv6, unsigned char ttl,
+                    int * error,
+                    int searchalltypes)
+{
+	struct UPNPDev * tmp;
+	struct UPNPDev * devlist = NULL;
+	unsigned int scope_id = 0;
+	int opt = 1;
+	static const char MSearchMsgFmt[] =
+	"M-SEARCH * HTTP/1.1\r\n"
+	"HOST: %s:" XSTR(SSDP_PORT) "\r\n"
+	"ST: %s\r\n"
+	"MAN: \"ssdp:discover\"\r\n"
+	"MX: %u\r\n"
+	"\r\n";
+	int deviceIndex;
+	char bufr[1536];	/* reception and emission buffer */
+	SOCKET sudp;
+	int n;
+	struct sockaddr_storage sockudp_r;
+	unsigned int mx;
+#ifdef NO_GETADDRINFO
+	struct sockaddr_storage sockudp_w;
+#else
+	int rv;
+	struct addrinfo hints, *servinfo;
+#endif
+#ifdef _WIN32
+	unsigned long _ttl = (unsigned long)ttl;
+#endif
+	int linklocal = 1;
+	int sentok;
+
+	if(error)
+		*error = MINISSDPC_UNKNOWN_ERROR;
+
+	if(localport==UPNP_LOCAL_PORT_SAME)
+		localport = SSDP_PORT;
+
+#ifdef _WIN32
+	sudp = socket(ipv6 ? PF_INET6 : PF_INET, SOCK_DGRAM, IPPROTO_UDP);
+#else
+	sudp = socket(ipv6 ? PF_INET6 : PF_INET, SOCK_DGRAM, 0);
+#endif
+	if(ISINVALID(sudp))
+	{
+		if(error)
+			*error = MINISSDPC_SOCKET_ERROR;
+		PRINT_SOCKET_ERROR("socket");
+		return NULL;
+	}
+	/* reception */
+	memset(&sockudp_r, 0, sizeof(struct sockaddr_storage));
+	if(ipv6) {
+		struct sockaddr_in6 * p = (struct sockaddr_in6 *)&sockudp_r;
+		p->sin6_family = AF_INET6;
+		if(localport > 0 && localport < 65536)
+			p->sin6_port = htons((unsigned short)localport);
+		p->sin6_addr = in6addr_any; /* in6addr_any is not available with MinGW32 3.4.2 */
+	} else {
+		struct sockaddr_in * p = (struct sockaddr_in *)&sockudp_r;
+		p->sin_family = AF_INET;
+		if(localport > 0 && localport < 65536)
+			p->sin_port = htons((unsigned short)localport);
+		p->sin_addr.s_addr = INADDR_ANY;
+	}
+#ifdef _WIN32
+/* This code could help us to use the right Network interface for
+ * SSDP multicast traffic */
+/* Get IP associated with the index given in the ip_forward struct
+ * in order to give this ip to setsockopt(sudp, IPPROTO_IP, IP_MULTICAST_IF) */
+	if(!ipv6) {
+		DWORD ifbestidx;
+#if _WIN32_WINNT >= 0x0600 // _WIN32_WINNT_VISTA
+		// While we don't need IPv6 support, the IPv4 only funciton is not available in UWP apps.
+		SOCKADDR_IN destAddr;
+		memset(&destAddr, 0, sizeof(destAddr));
+		destAddr.sin_family = AF_INET;
+		destAddr.sin_addr.s_addr = inet_addr("223.255.255.255");
+		destAddr.sin_port = 0;
+		if (GetBestInterfaceEx((struct sockaddr *)&destAddr, &ifbestidx) == NO_ERROR) {
+#else
+		if (GetBestInterface(inet_addr("223.255.255.255"), &ifbestidx) == NO_ERROR) {
+#endif
+			DWORD dwRetVal = NO_ERROR;
+			PIP_ADAPTER_ADDRESSES pAddresses = NULL;
+			ULONG outBufLen = 15360;
+			int Iterations;
+			PIP_ADAPTER_ADDRESSES pCurrAddresses = NULL;
+			PIP_ADAPTER_UNICAST_ADDRESS pUnicast = NULL;
+
+			for (Iterations = 0; Iterations < 3; Iterations++) {
+				pAddresses = (IP_ADAPTER_ADDRESSES *) HeapAlloc(GetProcessHeap(), 0, outBufLen);
+				if (pAddresses == NULL) {
+					break;
+				}
+
+				dwRetVal = GetAdaptersAddresses(AF_INET, GAA_FLAG_INCLUDE_PREFIX, NULL, pAddresses, &outBufLen);
+
+				if (dwRetVal != ERROR_BUFFER_OVERFLOW) {
+					break;
+				}
+				HeapFree(GetProcessHeap(), 0, pAddresses);
+				pAddresses = NULL;
+			}
+
+			if (dwRetVal == NO_ERROR) {
+				pCurrAddresses = pAddresses;
+				while (pCurrAddresses) {
+#ifdef DEBUG
+					int i;
+					PIP_ADAPTER_MULTICAST_ADDRESS pMulticast = NULL;
+					PIP_ADAPTER_ANYCAST_ADDRESS pAnycast = NULL;
+
+					printf("\tIfIndex (IPv4 interface): %u\n", pCurrAddresses->IfIndex);
+					printf("\tAdapter name: %s\n", pCurrAddresses->AdapterName);
+					pUnicast = pCurrAddresses->FirstUnicastAddress;
+					if (pUnicast != NULL) {
+						for (i = 0; pUnicast != NULL; i++) {
+							printf("\tIP Address[%d]:     \t%s\n", i, inet_ntoa(((PSOCKADDR_IN)pUnicast->Address.lpSockaddr)->sin_addr) );
+							pUnicast = pUnicast->Next;
+						}
+						printf("\tNumber of Unicast Addresses: %d\n", i);
+					}
+					pAnycast = pCurrAddresses->FirstAnycastAddress;
+					if (pAnycast) {
+						for (i = 0; pAnycast != NULL; i++) {
+							printf("\tAnycast Address[%d]:     \t%s\n", i, inet_ntoa(((PSOCKADDR_IN)pAnycast->Address.lpSockaddr)->sin_addr) );
+							pAnycast = pAnycast->Next;
+						}
+						printf("\tNumber of Anycast Addresses: %d\n", i);
+					}
+					pMulticast = pCurrAddresses->FirstMulticastAddress;
+					if (pMulticast) {
+						for (i = 0; pMulticast != NULL; i++) {
+							printf("\tMulticast Address[%d]:     \t%s\n", i, inet_ntoa(((PSOCKADDR_IN)pMulticast->Address.lpSockaddr)->sin_addr) );
+              pMulticast = pMulticast->Next;
+						}
+					}
+					printf("\n");
+#endif
+					pUnicast = pCurrAddresses->FirstUnicastAddress;
+					if (pCurrAddresses->IfIndex == ifbestidx && pUnicast != NULL) {
+						SOCKADDR_IN *ipv4 = (SOCKADDR_IN *)(pUnicast->Address.lpSockaddr);
+						/* Set the address of this interface to be used */
+						struct in_addr mc_if;
+						memset(&mc_if, 0, sizeof(mc_if));
+						mc_if.s_addr = ipv4->sin_addr.s_addr;
+						if(setsockopt(sudp, IPPROTO_IP, IP_MULTICAST_IF, (const char *)&mc_if, sizeof(mc_if)) < 0) {
+							PRINT_SOCKET_ERROR("setsockopt");
+						}
+						((struct sockaddr_in *)&sockudp_r)->sin_addr.s_addr = ipv4->sin_addr.s_addr;
+#ifndef DEBUG
+						break;
+#endif
+					}
+					pCurrAddresses = pCurrAddresses->Next;
+				}
+			}
+			if (pAddresses != NULL) {
+				HeapFree(GetProcessHeap(), 0, pAddresses);
+				pAddresses = NULL;
+			}
+		}
+	}
+#endif	/* _WIN32 */
+
+#ifdef _WIN32
+	if (setsockopt(sudp, SOL_SOCKET, SO_REUSEADDR, (const char *)&opt, sizeof (opt)) < 0)
+#else
+	if (setsockopt(sudp, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof (opt)) < 0)
+#endif
+	{
+		if(error)
+			*error = MINISSDPC_SOCKET_ERROR;
+		PRINT_SOCKET_ERROR("setsockopt(SO_REUSEADDR,...)");
+		goto error;
+	}
+
+	if(ipv6) {
+#ifdef _WIN32
+		DWORD mcastHops = ttl;
+		if(setsockopt(sudp, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, (const char *)&mcastHops, sizeof(mcastHops)) < 0)
+#else  /* _WIN32 */
+		int mcastHops = ttl;
+		if(setsockopt(sudp, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, &mcastHops, sizeof(mcastHops)) < 0)
+#endif /* _WIN32 */
+		{
+			PRINT_SOCKET_ERROR("setsockopt(IPV6_MULTICAST_HOPS,...)");
+		}
+	} else {
+#ifdef _WIN32
+		if(setsockopt(sudp, IPPROTO_IP, IP_MULTICAST_TTL, (const char *)&_ttl, sizeof(_ttl)) < 0)
+#else  /* _WIN32 */
+		if(setsockopt(sudp, IPPROTO_IP, IP_MULTICAST_TTL, &ttl, sizeof(ttl)) < 0)
+#endif /* _WIN32 */
+		{
+			/* not a fatal error */
+			PRINT_SOCKET_ERROR("setsockopt(IP_MULTICAST_TTL,...)");
+		}
+	}
+
+	if(multicastif && multicastif[0] != '\0')
+	{
+		if(ipv6) {
+#if !defined(_WIN32)
+			/* according to MSDN, if_nametoindex() is supported since
+			 * MS Windows Vista and MS Windows Server 2008.
+			 * http://msdn.microsoft.com/en-us/library/bb408409%28v=vs.85%29.aspx */
+			unsigned int ifindex = if_nametoindex(multicastif); /* eth0, etc. */
+			if(ifindex == 0)
+			{
+				if(error)
+					*error = MINISSDPC_INVALID_INPUT;
+				fprintf(stderr, "Invalid multicast interface name %s\n", multicastif);
+				goto error;
+			}
+			if(setsockopt(sudp, IPPROTO_IPV6, IPV6_MULTICAST_IF, &ifindex, sizeof(ifindex)) < 0)
+			{
+				PRINT_SOCKET_ERROR("setsockopt IPV6_MULTICAST_IF");
+			}
+#else
+#ifdef DEBUG
+			printf("Setting of multicast interface not supported in IPv6 under Windows.\n");
+#endif
+#endif
+		} else {
+			struct in_addr mc_if;
+#if defined(_WIN32)
+#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() */
+#endif
+#else
+			/* was : mc_if.s_addr = inet_addr(multicastif); */ /* ex: 192.168.x.x */
+			if (inet_pton(AF_INET, multicastif, &mc_if.s_addr) <= 0) {
+				mc_if.s_addr = INADDR_NONE;
+			}
+#endif
+			if(mc_if.s_addr != INADDR_NONE)
+			{
+				((struct sockaddr_in *)&sockudp_r)->sin_addr.s_addr = mc_if.s_addr;
+				if(setsockopt(sudp, IPPROTO_IP, IP_MULTICAST_IF, (const char *)&mc_if, sizeof(mc_if)) < 0)
+				{
+					PRINT_SOCKET_ERROR("setsockopt IP_MULTICAST_IF");
+				}
+			} else {
+				/* was not an ip address, try with an interface name */
+#ifndef _WIN32
+#ifdef HAS_IP_MREQN
+				struct ip_mreqn reqn;	/* only defined with -D_BSD_SOURCE or -D_GNU_SOURCE */
+#endif
+				struct ifreq ifr;
+				int ifrlen = sizeof(ifr);
+				strncpy(ifr.ifr_name, multicastif, IFNAMSIZ);
+				ifr.ifr_name[IFNAMSIZ-1] = '\0';
+				if(ioctl(sudp, SIOCGIFADDR, &ifr, &ifrlen) < 0)
+				{
+					PRINT_SOCKET_ERROR("ioctl(...SIOCGIFADDR...)");
+					goto error;
+				}
+				mc_if.s_addr = ((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr.s_addr;
+#ifdef HAS_IP_MREQN
+				memset(&reqn, 0, sizeof(struct ip_mreqn));
+				reqn.imr_address.s_addr = mc_if.s_addr;
+				reqn.imr_ifindex = if_nametoindex(multicastif);
+				if(reqn.imr_ifindex == 0)
+				{
+					if(error)
+						*error = MINISSDPC_INVALID_INPUT;
+					fprintf(stderr, "Invalid multicast ip address / interface name %s\n", multicastif);
+					goto error;
+				}
+				if(setsockopt(sudp, IPPROTO_IP, IP_MULTICAST_IF, (const char *)&reqn, sizeof(reqn)) < 0)
+				{
+					PRINT_SOCKET_ERROR("setsockopt IP_MULTICAST_IF");
+				}
+#else
+				if(setsockopt(sudp, IPPROTO_IP, IP_MULTICAST_IF, (const char *)&mc_if, sizeof(mc_if)) < 0)
+				{
+					PRINT_SOCKET_ERROR("setsockopt IP_MULTICAST_IF");
+				}
+#endif
+#else /* _WIN32 */
+#ifdef DEBUG
+				printf("Setting of multicast interface not supported with interface name.\n");
+#endif
+#endif /* #ifdef HAS_IP_MREQN / !defined(_WIN32) */
+			}
+		}
+	}
+
+	/* Before sending the packed, we first "bind" in order to be able
+	 * to receive the response */
+	if (bind(sudp, (const struct sockaddr *)&sockudp_r,
+	         ipv6 ? sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in)) != 0)
+	{
+		if(error)
+			*error = MINISSDPC_SOCKET_ERROR;
+		PRINT_SOCKET_ERROR("bind");
+		closesocket(sudp);
+		return NULL;
+	}
+
+	if(error)
+		*error = MINISSDPC_SUCCESS;
+	/* Calculating maximum response time in seconds */
+	mx = ((unsigned int)delay) / 1000u;
+	if(mx == 0) {
+		mx = 1;
+		delay = 1000;
+	}
+	/* receiving SSDP response packet */
+	for(deviceIndex = 0; deviceTypes[deviceIndex]; deviceIndex++) {
+		sentok = 0;
+		/* sending the SSDP M-SEARCH packet */
+		n = snprintf(bufr, sizeof(bufr),
+		             MSearchMsgFmt,
+		             ipv6 ?
+		             (linklocal ? "[" UPNP_MCAST_LL_ADDR "]" :  "[" UPNP_MCAST_SL_ADDR "]")
+		             : UPNP_MCAST_ADDR,
+		             deviceTypes[deviceIndex], mx);
+		if ((unsigned int)n >= sizeof(bufr)) {
+			if(error)
+				*error = MINISSDPC_MEMORY_ERROR;
+			goto error;
+		}
+#ifdef DEBUG
+		/*printf("Sending %s", bufr);*/
+		printf("Sending M-SEARCH request to %s with ST: %s\n",
+		       ipv6 ?
+		       (linklocal ? "[" UPNP_MCAST_LL_ADDR "]" :  "[" UPNP_MCAST_SL_ADDR "]")
+		       : UPNP_MCAST_ADDR,
+		       deviceTypes[deviceIndex]);
+#endif
+#ifdef NO_GETADDRINFO
+		/* the following code is not using getaddrinfo */
+		/* emission */
+		memset(&sockudp_w, 0, sizeof(struct sockaddr_storage));
+		if(ipv6) {
+			struct sockaddr_in6 * p = (struct sockaddr_in6 *)&sockudp_w;
+			p->sin6_family = AF_INET6;
+			p->sin6_port = htons(SSDP_PORT);
+			inet_pton(AF_INET6,
+			          linklocal ? UPNP_MCAST_LL_ADDR : UPNP_MCAST_SL_ADDR,
+			          &(p->sin6_addr));
+		} else {
+			struct sockaddr_in * p = (struct sockaddr_in *)&sockudp_w;
+			p->sin_family = AF_INET;
+			p->sin_port = htons(SSDP_PORT);
+			p->sin_addr.s_addr = inet_addr(UPNP_MCAST_ADDR);
+		}
+		n = sendto(sudp, bufr, n, 0, &sockudp_w,
+		           ipv6 ? sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in));
+		if (n < 0) {
+			if(error)
+				*error = MINISSDPC_SOCKET_ERROR;
+			PRINT_SOCKET_ERROR("sendto");
+		} else {
+			sentok = 1;
+		}
+#else /* #ifdef NO_GETADDRINFO */
+		memset(&hints, 0, sizeof(hints));
+		hints.ai_family = AF_UNSPEC; /* AF_INET6 or AF_INET */
+		hints.ai_socktype = SOCK_DGRAM;
+		/*hints.ai_flags = */
+		if ((rv = getaddrinfo(ipv6
+		                      ? (linklocal ? UPNP_MCAST_LL_ADDR : UPNP_MCAST_SL_ADDR)
+		                      : UPNP_MCAST_ADDR,
+		                      XSTR(SSDP_PORT), &hints, &servinfo)) != 0) {
+			if(error)
+				*error = MINISSDPC_SOCKET_ERROR;
+#ifdef _WIN32
+			fprintf(stderr, "getaddrinfo() failed: %d\n", rv);
+#else
+			fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(rv));
+#endif
+			break;
+		} else {
+			struct addrinfo *p;
+			for(p = servinfo; p; p = p->ai_next) {
+				n = sendto(sudp, bufr, n, 0, p->ai_addr, MSC_CAST_INT p->ai_addrlen);
+				if (n < 0) {
+#ifdef DEBUG
+					char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV];
+					if (getnameinfo(p->ai_addr, (socklen_t)p->ai_addrlen, hbuf, sizeof(hbuf), sbuf,
+					                sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV) == 0) {
+						fprintf(stderr, "host:%s port:%s\n", hbuf, sbuf);
+					}
+#endif
+					PRINT_SOCKET_ERROR("sendto");
+					continue;
+				} else {
+					sentok = 1;
+				}
+			}
+			freeaddrinfo(servinfo);
+		}
+		if(!sentok) {
+			if(error)
+				*error = MINISSDPC_SOCKET_ERROR;
+		}
+#endif /* #ifdef NO_GETADDRINFO */
+		/* Waiting for SSDP REPLY packet to M-SEARCH
+		 * if searchalltypes is set, enter the loop only
+		 * when the last deviceType is reached */
+		if((sentok && !searchalltypes) || !deviceTypes[deviceIndex + 1]) {
+			struct timeval start = {0, 0}, current = {0, 0};
+			upnp_gettimeofday(&start);
+			do {
+				n = receivedata(sudp, bufr, sizeof(bufr), delay, &scope_id);
+				if (n < 0) {
+					/* error */
+					if(error)
+						*error = MINISSDPC_SOCKET_ERROR;
+					goto error;
+				} else if (n == 0) {
+					/* no data or Time Out */
+#ifdef DEBUG
+					printf("NODATA or TIMEOUT\n");
+#endif /* DEBUG */
+					if (devlist && !searchalltypes) {
+						/* found some devices, stop now*/
+						if(error)
+							*error = MINISSDPC_SUCCESS;
+						goto error;
+					}
+				} else {
+					const char * descURL=NULL;
+					int urlsize=0;
+					const char * st=NULL;
+					int stsize=0;
+					const char * usn=NULL;
+					int usnsize=0;
+					parseMSEARCHReply(bufr, n, &descURL, &urlsize, &st, &stsize, &usn, &usnsize);
+					if(st&&descURL) {
+#ifdef DEBUG
+						printf("M-SEARCH Reply:\n  ST: %.*s\n  USN: %.*s\n  Location: %.*s\n",
+						       stsize, st, usnsize, (usn?usn:""), urlsize, descURL);
+#endif /* DEBUG */
+						for(tmp=devlist; tmp; tmp = tmp->pNext) {
+							if(strncmp(tmp->descURL, descURL, urlsize) == 0 &&
+							   tmp->descURL[urlsize] == '\0' &&
+							   strncmp(tmp->st, st, stsize) == 0 &&
+							   tmp->st[stsize] == '\0' &&
+							   (usnsize == 0 || strncmp(tmp->usn, usn, usnsize) == 0) &&
+							   tmp->usn[usnsize] == '\0')
+								break;
+						}
+						/* at the exit of the loop above, tmp is null if
+						 * no duplicate device was found */
+						if(tmp)
+							continue;
+						tmp = (struct UPNPDev *)malloc(sizeof(struct UPNPDev)+urlsize+stsize+usnsize+3);
+						if(!tmp) {
+							/* memory allocation error */
+							if(error)
+								*error = MINISSDPC_MEMORY_ERROR;
+							goto error;
+						}
+						tmp->pNext = devlist;
+						tmp->descURL = tmp->buffer;
+						tmp->st = tmp->buffer + 1 + urlsize;
+						tmp->usn = tmp->st + 1 + stsize;
+						memcpy(tmp->buffer, descURL, urlsize);
+						tmp->buffer[urlsize] = '\0';
+						memcpy(tmp->st, st, stsize);
+						tmp->buffer[urlsize+1+stsize] = '\0';
+						if(usn != NULL)
+							memcpy(tmp->usn, usn, usnsize);
+						tmp->buffer[urlsize+1+stsize+1+usnsize] = '\0';
+						tmp->scope_id = scope_id;
+						devlist = tmp;
+					}
+					if (upnp_gettimeofday(&current) >= 0) {
+						/* exit the loop if delay is reached */
+						long interval = (current.tv_sec - start.tv_sec) * 1000;
+						interval += (current.tv_usec - start.tv_usec) / 1000;
+						if (interval > (long)delay)
+							break;
+					}
+				}
+			} while(n > 0);
+		}
+		if(ipv6) {
+			/* switch linklocal flag */
+			if(linklocal) {
+				linklocal = 0;
+				--deviceIndex;
+			} else {
+				linklocal = 1;
+			}
+		}
+	}
+error:
+	closesocket(sudp);
+	return devlist;
+}
diff --git a/libs/miniupnpc/src/minissdpc.h b/libs/miniupnpc/src/minissdpc.h
new file mode 100644
index 0000000000..04cdbf82c7
--- /dev/null
+++ b/libs/miniupnpc/src/minissdpc.h
@@ -0,0 +1,58 @@
+/* $Id: minissdpc.h,v 1.8 2019/02/10 12:29:23 nanard Exp $ */
+/* Project: miniupnp
+ * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
+ * 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 MINISSDPC_H_INCLUDED
+#define MINISSDPC_H_INCLUDED
+
+#include "miniupnpc_declspec.h"
+#include "upnpdev.h"
+
+/* error codes : */
+#define MINISSDPC_SUCCESS (0)
+#define MINISSDPC_UNKNOWN_ERROR (-1)
+#define MINISSDPC_SOCKET_ERROR (-101)
+#define MINISSDPC_MEMORY_ERROR (-102)
+#define MINISSDPC_INVALID_INPUT (-103)
+#define MINISSDPC_INVALID_SERVER_REPLY (-104)
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if !(defined(_WIN32) || defined(__amigaos__) || defined(__amigaos4__))
+
+MINIUPNP_LIBSPEC struct UPNPDev *
+getDevicesFromMiniSSDPD(const char * devtype, const char * socketpath, int * error);
+
+MINIUPNP_LIBSPEC int
+connectToMiniSSDPD(const char * socketpath);
+
+MINIUPNP_LIBSPEC int
+disconnectFromMiniSSDPD(int s);
+
+MINIUPNP_LIBSPEC int
+requestDevicesFromMiniSSDPD(int s, const char * devtype);
+
+MINIUPNP_LIBSPEC struct UPNPDev *
+receiveDevicesFromMiniSSDPD(int s, int * error);
+
+#endif /* !(defined(_WIN32) || defined(__amigaos__) || defined(__amigaos4__)) */
+
+MINIUPNP_LIBSPEC struct UPNPDev *
+ssdpDiscoverDevices(const char * const deviceTypes[],
+                    int delay, const char * multicastif,
+                    int localport,
+                    int ipv6, unsigned char ttl,
+                    int * error,
+                    int searchalltypes);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
diff --git a/libs/miniupnpc/src/miniupnpc.c b/libs/miniupnpc/src/miniupnpc.c
new file mode 100644
index 0000000000..696af93237
--- /dev/null
+++ b/libs/miniupnpc/src/miniupnpc.c
@@ -0,0 +1,698 @@
+/* $Id: miniupnpc.c,v 1.159 2021/03/02 23:36:32 nanard Exp $ */
+/* vim: tabstop=4 shiftwidth=4 noexpandtab
+ * Project : miniupnp
+ * Web : http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
+ * Author : Thomas BERNARD
+ * copyright (c) 2005-2021 Thomas Bernard
+ * This software is subjet to the conditions detailed in the
+ * provided LICENSE file. */
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#ifdef _WIN32
+/* Win32 Specific includes and defines */
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#include <io.h>
+#include <iphlpapi.h>
+#include "win32_snprintf.h"
+#define strdup _strdup
+#ifndef strncasecmp
+#if defined(_MSC_VER) && (_MSC_VER >= 1400)
+#define strncasecmp _memicmp
+#else /* defined(_MSC_VER) && (_MSC_VER >= 1400) */
+#define strncasecmp memicmp
+#endif /* defined(_MSC_VER) && (_MSC_VER >= 1400) */
+#endif /* #ifndef strncasecmp */
+#define MAXHOSTNAMELEN 64
+#else /* #ifdef _WIN32 */
+/* Standard POSIX includes */
+#include <unistd.h>
+#if defined(__amigaos__) && !defined(__amigaos4__)
+/* Amiga OS 3 specific stuff */
+#define socklen_t int
+#else
+#include <sys/select.h>
+#endif
+#include <sys/socket.h>
+#include <sys/types.h>
+#include <sys/param.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <netdb.h>
+#include <net/if.h>
+#if !defined(__amigaos__) && !defined(__amigaos4__)
+#include <poll.h>
+#endif
+#include <strings.h>
+#include <errno.h>
+#define closesocket close
+#endif /* #else _WIN32 */
+#ifdef __GNU__
+#define MAXHOSTNAMELEN 64
+#endif
+
+
+#include "miniupnpc.h"
+#include "minissdpc.h"
+#include "miniwget.h"
+#include "miniwget_private.h"
+#include "minisoap.h"
+#include "minixml.h"
+#include "upnpcommands.h"
+#include "connecthostport.h"
+#include "addr_is_reserved.h"
+
+/* compare the beginning of a string with a constant string */
+#define COMPARE(str, cstr) (0==strncmp(str, cstr, sizeof(cstr) - 1))
+
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 64
+#endif
+
+#define SOAPPREFIX "s"
+#define SERVICEPREFIX "u"
+#define SERVICEPREFIX2 'u'
+
+/* root description parsing */
+MINIUPNP_LIBSPEC void parserootdesc(const char * buffer, int bufsize, struct IGDdatas * data)
+{
+	struct xmlparser parser;
+	/* xmlparser object */
+	parser.xmlstart = buffer;
+	parser.xmlsize = bufsize;
+	parser.data = data;
+	parser.starteltfunc = IGDstartelt;
+	parser.endeltfunc = IGDendelt;
+	parser.datafunc = IGDdata;
+	parser.attfunc = 0;
+	parsexml(&parser);
+#ifdef DEBUG
+	printIGD(data);
+#endif
+}
+
+/* simpleUPnPcommand2 :
+ * not so simple !
+ * return values :
+ *   pointer - OK
+ *   NULL - error */
+static char *
+simpleUPnPcommand2(SOCKET s, const char * url, const char * service,
+                   const char * action, struct UPNParg * args,
+                   int * bufsize, const char * httpversion)
+{
+	char hostname[MAXHOSTNAMELEN+1];
+	unsigned short port = 0;
+	char * path;
+	char soapact[128];
+	char soapbody[2048];
+	int soapbodylen;
+	char * buf;
+	int n;
+	int status_code;
+
+	*bufsize = 0;
+	snprintf(soapact, sizeof(soapact), "%s#%s", service, action);
+	if(args==NULL)
+	{
+		soapbodylen = snprintf(soapbody, sizeof(soapbody),
+						  "<?xml version=\"1.0\"?>\r\n"
+						  "<" SOAPPREFIX ":Envelope "
+						  "xmlns:" SOAPPREFIX "=\"http://schemas.xmlsoap.org/soap/envelope/\" "
+						  SOAPPREFIX ":encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">"
+						  "<" SOAPPREFIX ":Body>"
+						  "<" SERVICEPREFIX ":%s xmlns:" SERVICEPREFIX "=\"%s\">"
+						  "</" SERVICEPREFIX ":%s>"
+						  "</" SOAPPREFIX ":Body></" SOAPPREFIX ":Envelope>"
+						  "\r\n", action, service, action);
+		if ((unsigned int)soapbodylen >= sizeof(soapbody))
+			return NULL;
+	}
+	else
+	{
+		char * p;
+		const char * pe, * pv;
+		const char * const pend = soapbody + sizeof(soapbody);
+		soapbodylen = snprintf(soapbody, sizeof(soapbody),
+						"<?xml version=\"1.0\"?>\r\n"
+						"<" SOAPPREFIX ":Envelope "
+						"xmlns:" SOAPPREFIX "=\"http://schemas.xmlsoap.org/soap/envelope/\" "
+						SOAPPREFIX ":encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">"
+						"<" SOAPPREFIX ":Body>"
+						"<" SERVICEPREFIX ":%s xmlns:" SERVICEPREFIX "=\"%s\">",
+						action, service);
+		if ((unsigned int)soapbodylen >= sizeof(soapbody))
+			return NULL;
+		p = soapbody + soapbodylen;
+		while(args->elt)
+		{
+			if(p >= pend) /* check for space to write next byte */
+				return NULL;
+			*(p++) = '<';
+
+			pe = args->elt;
+			while(p < pend && *pe)
+				*(p++) = *(pe++);
+
+			if(p >= pend) /* check for space to write next byte */
+				return NULL;
+			*(p++) = '>';
+
+			if((pv = args->val))
+			{
+				while(p < pend && *pv)
+					*(p++) = *(pv++);
+			}
+
+			if((p+2) > pend) /* check for space to write next 2 bytes */
+				return NULL;
+			*(p++) = '<';
+			*(p++) = '/';
+
+			pe = args->elt;
+			while(p < pend && *pe)
+				*(p++) = *(pe++);
+
+			if(p >= pend) /* check for space to write next byte */
+				return NULL;
+			*(p++) = '>';
+
+			args++;
+		}
+		if((p+4) > pend) /* check for space to write next 4 bytes */
+			return NULL;
+		*(p++) = '<';
+		*(p++) = '/';
+		*(p++) = SERVICEPREFIX2;
+		*(p++) = ':';
+
+		pe = action;
+		while(p < pend && *pe)
+			*(p++) = *(pe++);
+
+		strncpy(p, "></" SOAPPREFIX ":Body></" SOAPPREFIX ":Envelope>\r\n",
+		        pend - p);
+		if(soapbody[sizeof(soapbody)-1]) /* strncpy pads buffer with 0s, so if it doesn't end in 0, could not fit full string */
+			return NULL;
+	}
+	if(!parseURL(url, hostname, &port, &path, NULL)) return NULL;
+	if(ISINVALID(s)) {
+		s = connecthostport(hostname, port, 0);
+		if(ISINVALID(s)) {
+			/* failed to connect */
+			return NULL;
+		}
+	}
+
+	n = soapPostSubmit(s, path, hostname, port, soapact, soapbody, httpversion);
+	if(n<=0) {
+#ifdef DEBUG
+		printf("Error sending SOAP request\n");
+#endif
+		closesocket(s);
+		return NULL;
+	}
+
+	buf = getHTTPResponse(s, bufsize, &status_code);
+#ifdef DEBUG
+	if(*bufsize > 0 && buf)
+	{
+		printf("HTTP %d SOAP Response :\n%.*s\n", status_code, *bufsize, buf);
+	}
+	else
+	{
+		printf("HTTP %d, empty SOAP response. size=%d\n", status_code, *bufsize);
+	}
+#endif
+	closesocket(s);
+	return buf;
+}
+
+/* simpleUPnPcommand :
+ * not so simple !
+ * return values :
+ *   pointer - OK
+ *   NULL    - error */
+char *
+simpleUPnPcommand(int s, const char * url, const char * service,
+                  const char * action, struct UPNParg * args,
+                  int * bufsize)
+{
+	char * buf;
+
+#if 1
+	buf = simpleUPnPcommand2((SOCKET)s, url, service, action, args, bufsize, "1.1");
+#else
+	buf = simpleUPnPcommand2((SOCKET)s, url, service, action, args, bufsize, "1.0");
+	if (!buf || *bufsize == 0)
+	{
+#if DEBUG
+	    printf("Error or no result from SOAP request; retrying with HTTP/1.1\n");
+#endif
+		buf = simpleUPnPcommand2((SOCKET)s, url, service, action, args, bufsize, "1.1");
+	}
+#endif
+	return buf;
+}
+
+/* upnpDiscoverDevices() :
+ * return a chained list of all devices found or NULL if
+ * no devices was found.
+ * It is up to the caller to free the chained list
+ * delay is in millisecond (poll).
+ * UDA v1.1 says :
+ *   The TTL for the IP packet SHOULD default to 2 and
+ *   SHOULD be configurable. */
+MINIUPNP_LIBSPEC struct UPNPDev *
+upnpDiscoverDevices(const char * const deviceTypes[],
+                    int delay, const char * multicastif,
+                    const char * minissdpdsock, int localport,
+                    int ipv6, unsigned char ttl,
+                    int * error,
+                    int searchalltypes)
+{
+	struct UPNPDev * tmp;
+	struct UPNPDev * devlist = 0;
+#if !defined(_WIN32) && !defined(__amigaos__) && !defined(__amigaos4__)
+	int deviceIndex;
+#endif /* !defined(_WIN32) && !defined(__amigaos__) && !defined(__amigaos4__) */
+
+	if(error)
+		*error = UPNPDISCOVER_UNKNOWN_ERROR;
+#if !defined(_WIN32) && !defined(__amigaos__) && !defined(__amigaos4__)
+	/* first try to get infos from minissdpd ! */
+	if(!minissdpdsock)
+		minissdpdsock = "/var/run/minissdpd.sock";
+	if(minissdpdsock[0] != '\0') {
+		for(deviceIndex = 0; deviceTypes[deviceIndex]; deviceIndex++) {
+			struct UPNPDev * minissdpd_devlist;
+			int only_rootdevice = 1;
+			minissdpd_devlist = getDevicesFromMiniSSDPD(deviceTypes[deviceIndex],
+			                                            minissdpdsock, 0);
+			if(minissdpd_devlist) {
+#ifdef DEBUG
+				printf("returned by MiniSSDPD: %s\t%s\n",
+				       minissdpd_devlist->st, minissdpd_devlist->descURL);
+#endif /* DEBUG */
+				if(!strstr(minissdpd_devlist->st, "rootdevice"))
+					only_rootdevice = 0;
+				for(tmp = minissdpd_devlist; tmp->pNext != NULL; tmp = tmp->pNext) {
+#ifdef DEBUG
+					printf("returned by MiniSSDPD: %s\t%s\n",
+					       tmp->pNext->st, tmp->pNext->descURL);
+#endif /* DEBUG */
+					if(!strstr(tmp->st, "rootdevice"))
+						only_rootdevice = 0;
+				}
+				tmp->pNext = devlist;
+				devlist = minissdpd_devlist;
+				if(!searchalltypes && !only_rootdevice)
+					break;
+			}
+		}
+	}
+	for(tmp = devlist; tmp != NULL; tmp = tmp->pNext) {
+		/* We return what we have found if it was not only a rootdevice */
+		if(!strstr(tmp->st, "rootdevice")) {
+			if(error)
+				*error = UPNPDISCOVER_SUCCESS;
+			return devlist;
+		}
+	}
+#else	/* !defined(_WIN32) && !defined(__amigaos__) && !defined(__amigaos4__) */
+	(void)minissdpdsock; /* unused */
+#endif	/* !defined(_WIN32) && !defined(__amigaos__) && !defined(__amigaos4__) */
+
+	/* direct discovery if minissdpd responses are not sufficient */
+	{
+		struct UPNPDev * discovered_devlist;
+		discovered_devlist = ssdpDiscoverDevices(deviceTypes, delay, multicastif, localport,
+		                                         ipv6, ttl, error, searchalltypes);
+		if(devlist == NULL)
+			devlist = discovered_devlist;
+		else {
+			for(tmp = devlist; tmp->pNext != NULL; tmp = tmp->pNext);
+			tmp->pNext = discovered_devlist;
+		}
+	}
+	return devlist;
+}
+
+/* upnpDiscover() Discover IGD device */
+MINIUPNP_LIBSPEC struct UPNPDev *
+upnpDiscover(int delay, const char * multicastif,
+             const char * minissdpdsock, int localport,
+             int ipv6, unsigned char ttl,
+             int * error)
+{
+	static const char * const deviceList[] = {
+#if 0
+		"urn:schemas-upnp-org:device:InternetGatewayDevice:2",
+		"urn:schemas-upnp-org:service:WANIPConnection:2",
+#endif
+		"urn:schemas-upnp-org:device:InternetGatewayDevice:1",
+		"urn:schemas-upnp-org:service:WANIPConnection:1",
+		"urn:schemas-upnp-org:service:WANPPPConnection:1",
+		"upnp:rootdevice",
+		/*"ssdp:all",*/
+		0
+	};
+	return upnpDiscoverDevices(deviceList,
+	                           delay, multicastif, minissdpdsock, localport,
+	                           ipv6, ttl, error, 0);
+}
+
+/* upnpDiscoverAll() Discover all UPnP devices */
+MINIUPNP_LIBSPEC struct UPNPDev *
+upnpDiscoverAll(int delay, const char * multicastif,
+                const char * minissdpdsock, int localport,
+                int ipv6, unsigned char ttl,
+                int * error)
+{
+	static const char * const deviceList[] = {
+		/*"upnp:rootdevice",*/
+		"ssdp:all",
+		0
+	};
+	return upnpDiscoverDevices(deviceList,
+	                           delay, multicastif, minissdpdsock, localport,
+	                           ipv6, ttl, error, 0);
+}
+
+/* upnpDiscoverDevice() Discover a specific device */
+MINIUPNP_LIBSPEC struct UPNPDev *
+upnpDiscoverDevice(const char * device, int delay, const char * multicastif,
+                const char * minissdpdsock, int localport,
+                int ipv6, unsigned char ttl,
+                int * error)
+{
+	const char * const deviceList[] = {
+		device,
+		0
+	};
+	return upnpDiscoverDevices(deviceList,
+	                           delay, multicastif, minissdpdsock, localport,
+	                           ipv6, ttl, error, 0);
+}
+
+static char *
+build_absolute_url(const char * baseurl, const char * descURL,
+                   const char * url, unsigned int scope_id)
+{
+	size_t l, n;
+	char * s;
+	const char * base;
+	char * p;
+#if defined(IF_NAMESIZE) && !defined(_WIN32)
+	char ifname[IF_NAMESIZE];
+#else /* defined(IF_NAMESIZE) && !defined(_WIN32) */
+	char scope_str[8];
+#endif	/* defined(IF_NAMESIZE) && !defined(_WIN32) */
+
+	if(  (url[0] == 'h')
+	   &&(url[1] == 't')
+	   &&(url[2] == 't')
+	   &&(url[3] == 'p')
+	   &&(url[4] == ':')
+	   &&(url[5] == '/')
+	   &&(url[6] == '/'))
+		return strdup(url);
+	base = (baseurl[0] == '\0') ? descURL : baseurl;
+	n = strlen(base);
+	if(n > 7) {
+		p = strchr(base + 7, '/');
+		if(p)
+			n = p - base;
+	}
+	l = n + strlen(url) + 1;
+	if(url[0] != '/')
+		l++;
+	if(scope_id != 0) {
+#if defined(IF_NAMESIZE) && !defined(_WIN32)
+		if(if_indextoname(scope_id, ifname)) {
+			l += 3 + strlen(ifname);	/* 3 == strlen(%25) */
+		}
+#else /* defined(IF_NAMESIZE) && !defined(_WIN32) */
+		/* under windows, scope is numerical */
+		l += 3 + snprintf(scope_str, sizeof(scope_str), "%u", scope_id);
+#endif /* defined(IF_NAMESIZE) && !defined(_WIN32) */
+	}
+	s = malloc(l);
+	if(s == NULL) return NULL;
+	memcpy(s, base, n);
+	if(scope_id != 0) {
+		s[n] = '\0';
+		if(n > 13 && 0 == memcmp(s, "http://[fe80:", 13)) {
+			/* this is a linklocal IPv6 address */
+			p = strchr(s, ']');
+			if(p) {
+				/* insert %25<scope> into URL */
+#if defined(IF_NAMESIZE) && !defined(_WIN32)
+				memmove(p + 3 + strlen(ifname), p, strlen(p) + 1);
+				memcpy(p, "%25", 3);
+				memcpy(p + 3, ifname, strlen(ifname));
+				n += 3 + strlen(ifname);
+#else /* defined(IF_NAMESIZE) && !defined(_WIN32) */
+				memmove(p + 3 + strlen(scope_str), p, strlen(p) + 1);
+				memcpy(p, "%25", 3);
+				memcpy(p + 3, scope_str, strlen(scope_str));
+				n += 3 + strlen(scope_str);
+#endif /* defined(IF_NAMESIZE) && !defined(_WIN32) */
+			}
+		}
+	}
+	if(url[0] != '/')
+		s[n++] = '/';
+	memcpy(s + n, url, l - n);
+	return s;
+}
+
+/* Prepare the Urls for usage...
+ */
+MINIUPNP_LIBSPEC void
+GetUPNPUrls(struct UPNPUrls * urls, struct IGDdatas * data,
+            const char * descURL, unsigned int scope_id)
+{
+	/* strdup descURL */
+	urls->rootdescURL = strdup(descURL);
+
+	/* get description of WANIPConnection */
+	urls->ipcondescURL = build_absolute_url(data->urlbase, descURL,
+	                                        data->first.scpdurl, scope_id);
+	urls->controlURL = build_absolute_url(data->urlbase, descURL,
+	                                      data->first.controlurl, scope_id);
+	urls->controlURL_CIF = build_absolute_url(data->urlbase, descURL,
+	                                          data->CIF.controlurl, scope_id);
+	urls->controlURL_6FC = build_absolute_url(data->urlbase, descURL,
+	                                          data->IPv6FC.controlurl, scope_id);
+
+#ifdef DEBUG
+	printf("urls->ipcondescURL='%s'\n", urls->ipcondescURL);
+	printf("urls->controlURL='%s'\n", urls->controlURL);
+	printf("urls->controlURL_CIF='%s'\n", urls->controlURL_CIF);
+	printf("urls->controlURL_6FC='%s'\n", urls->controlURL_6FC);
+#endif
+}
+
+MINIUPNP_LIBSPEC void
+FreeUPNPUrls(struct UPNPUrls * urls)
+{
+	if(!urls)
+		return;
+	free(urls->controlURL);
+	urls->controlURL = 0;
+	free(urls->ipcondescURL);
+	urls->ipcondescURL = 0;
+	free(urls->controlURL_CIF);
+	urls->controlURL_CIF = 0;
+	free(urls->controlURL_6FC);
+	urls->controlURL_6FC = 0;
+	free(urls->rootdescURL);
+	urls->rootdescURL = 0;
+}
+
+int
+UPNPIGD_IsConnected(struct UPNPUrls * urls, struct IGDdatas * data)
+{
+	char status[64];
+	unsigned int uptime;
+	status[0] = '\0';
+	UPNP_GetStatusInfo(urls->controlURL, data->first.servicetype,
+	                   status, &uptime, NULL);
+	if(0 == strcmp("Connected", status))
+		return 1;
+	else if(0 == strcmp("Up", status))	/* Also accept "Up" */
+		return 1;
+	else
+		return 0;
+}
+
+
+/* UPNP_GetValidIGD() :
+ * return values :
+ *    -1 = Internal error
+ *     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 positive non zero return case, the urls and data structures
+ * passed as parameters are set. Don't 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)
+{
+	struct xml_desc {
+		char lanaddr[40];
+		char * xml;
+		int size;
+		int is_igd;
+	} * desc = NULL;
+	struct UPNPDev * dev;
+	int ndev = 0;
+	int i;
+	int state = -1; /* state 1 : IGD connected. State 2 : IGD. State 3 : anything */
+	char extIpAddr[16];
+	int status_code = -1;
+
+	if(!devlist)
+	{
+#ifdef DEBUG
+		printf("Empty devlist\n");
+#endif
+		return 0;
+	}
+	/* counting total number of devices in the list */
+	for(dev = devlist; dev; dev = dev->pNext)
+		ndev++;
+	/* ndev is always > 0 */
+	desc = calloc(ndev, sizeof(struct xml_desc));
+	if(!desc)
+		return -1; /* memory allocation error */
+	/* Step 1 : downloading descriptions and testing type */
+	for(dev = devlist, i = 0; dev; dev = dev->pNext, i++)
+	{
+		/* we should choose an internet gateway device.
+		 * with st == urn:schemas-upnp-org:device:InternetGatewayDevice:1 */
+		desc[i].xml = miniwget_getaddr(dev->descURL, &(desc[i].size),
+		                               desc[i].lanaddr, sizeof(desc[i].lanaddr),
+		                               dev->scope_id, &status_code);
+#ifdef DEBUG
+		if(!desc[i].xml)
+		{
+			printf("error getting XML description %s\n", dev->descURL);
+		}
+#endif
+		if(desc[i].xml)
+		{
+			memset(data, 0, sizeof(struct IGDdatas));
+			memset(urls, 0, sizeof(struct UPNPUrls));
+			parserootdesc(desc[i].xml, desc[i].size, data);
+			if(COMPARE(data->CIF.servicetype,
+			           "urn:schemas-upnp-org:service:WANCommonInterfaceConfig:"))
+			{
+				desc[i].is_igd = 1;
+			}
+		}
+	}
+	/* iterate the list to find a device depending on state */
+	for(state = 1; state <= 3; state++)
+	{
+		for(dev = devlist, i = 0; dev; dev = dev->pNext, i++)
+		{
+			if(desc[i].xml)
+			{
+				memset(data, 0, sizeof(struct IGDdatas));
+				memset(urls, 0, sizeof(struct UPNPUrls));
+				parserootdesc(desc[i].xml, desc[i].size, data);
+				if(desc[i].is_igd || state >= 3 )
+				{
+				  int is_connected;
+
+				  GetUPNPUrls(urls, data, dev->descURL, dev->scope_id);
+
+				  /* in state 2 and 3 we don't test if device is connected ! */
+				  if(state >= 2)
+				    goto free_and_return;
+				  is_connected = UPNPIGD_IsConnected(urls, data);
+#ifdef DEBUG
+				  printf("UPNPIGD_IsConnected(%s) = %d\n",
+				     urls->controlURL, is_connected);
+#endif
+				  /* checks that status is connected AND there is a external IP address assigned */
+				  if(is_connected &&
+				     (UPNP_GetExternalIPAddress(urls->controlURL,  data->first.servicetype, extIpAddr) == 0)) {
+					if(!addr_is_reserved(extIpAddr))
+					  goto free_and_return;
+				  }
+				  FreeUPNPUrls(urls);
+				  if(data->second.servicetype[0] != '\0') {
+#ifdef DEBUG
+				    printf("We tried %s, now we try %s !\n",
+				           data->first.servicetype, data->second.servicetype);
+#endif
+				    /* swaping WANPPPConnection and WANIPConnection ! */
+				    memcpy(&data->tmp, &data->first, sizeof(struct IGDdatas_service));
+				    memcpy(&data->first, &data->second, sizeof(struct IGDdatas_service));
+				    memcpy(&data->second, &data->tmp, sizeof(struct IGDdatas_service));
+				    GetUPNPUrls(urls, data, dev->descURL, dev->scope_id);
+				    is_connected = UPNPIGD_IsConnected(urls, data);
+#ifdef DEBUG
+				    printf("UPNPIGD_IsConnected(%s) = %d\n",
+				       urls->controlURL, is_connected);
+#endif
+				    if(is_connected &&
+				       (UPNP_GetExternalIPAddress(urls->controlURL,  data->first.servicetype, extIpAddr) == 0)) {
+					  if(!addr_is_reserved(extIpAddr))
+					    goto free_and_return;
+				    }
+				    FreeUPNPUrls(urls);
+				  }
+				}
+				memset(data, 0, sizeof(struct IGDdatas));
+			}
+		}
+	}
+	state = 0;
+free_and_return:
+	if (lanaddr != NULL && state >= 1 && state <= 3 && i < ndev)
+		strncpy(lanaddr, desc[i].lanaddr, lanaddrlen);
+	for(i = 0; i < ndev; i++)
+		free(desc[i].xml);
+	free(desc);
+	return state;
+}
+
+/* UPNP_GetIGDFromUrl()
+ * Used when skipping the discovery process.
+ * return value :
+ *   0 - Not ok
+ *   1 - OK */
+int
+UPNP_GetIGDFromUrl(const char * rootdescurl,
+                   struct UPNPUrls * urls,
+                   struct IGDdatas * data,
+                   char * lanaddr, int lanaddrlen)
+{
+	char * descXML;
+	int descXMLsize = 0;
+
+	descXML = miniwget_getaddr(rootdescurl, &descXMLsize,
+	                           lanaddr, lanaddrlen, 0, NULL);
+	if(descXML) {
+		memset(data, 0, sizeof(struct IGDdatas));
+		memset(urls, 0, sizeof(struct UPNPUrls));
+		parserootdesc(descXML, descXMLsize, data);
+		free(descXML);
+		GetUPNPUrls(urls, data, rootdescurl, 0);
+		return 1;
+	} else {
+		return 0;
+	}
+}
diff --git a/libs/miniupnpc/src/miniupnpc_socketdef.h b/libs/miniupnpc/src/miniupnpc_socketdef.h
new file mode 100644
index 0000000000..2d5cac5c22
--- /dev/null
+++ b/libs/miniupnpc/src/miniupnpc_socketdef.h
@@ -0,0 +1,44 @@
+/* $Id: miniupnpc_socketdef.h,v 1.4 2021/03/02 23:35:29 nanard Exp $ */
+/* Miniupnp project : http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
+ * Author : Thomas Bernard
+ * Copyright (c) 2018 Thomas Bernard
+ * This software is subject to the conditions detailed in the
+ * LICENCE file provided within this distribution */
+#ifndef MINIUPNPC_SOCKETDEF_H_INCLUDED
+#define MINIUPNPC_SOCKETDEF_H_INCLUDED
+
+#ifdef _WIN32
+
+#define ISINVALID(s) (INVALID_SOCKET==(s))
+
+#else
+
+#ifndef SOCKET
+#define SOCKET int
+#endif
+#ifndef SSIZE_T
+#define SSIZE_T ssize_t
+#endif
+#ifndef INVALID_SOCKET
+#define INVALID_SOCKET (-1)
+#endif
+#ifndef ISINVALID
+#define ISINVALID(s) ((s)<0)
+#endif
+
+#endif
+
+#ifdef _MSC_VER
+#define MSC_CAST_INT (int)
+#else
+#define MSC_CAST_INT
+#endif
+
+/* definition of PRINT_SOCKET_ERROR */
+#ifdef _WIN32
+#define PRINT_SOCKET_ERROR(x)    fprintf(stderr, "Socket error: %s, %d\n", x, WSAGetLastError());
+#else
+#define PRINT_SOCKET_ERROR(x) perror(x)
+#endif
+
+#endif /* MINIUPNPC_SOCKETDEF_H_INCLUDED */
diff --git a/libs/miniupnpc/miniupnpcmodule.c b/libs/miniupnpc/src/miniupnpcmodule.c
similarity index 61%
rename from libs/miniupnpc/miniupnpcmodule.c
rename to libs/miniupnpc/src/miniupnpcmodule.c
index 08a61d22f5..66a267073c 100644
--- a/libs/miniupnpc/miniupnpcmodule.c
+++ b/libs/miniupnpc/src/miniupnpcmodule.c
@@ -1,17 +1,22 @@
-/* $Id: miniupnpcmodule.c,v 1.18 2011/04/10 11:21:23 nanard Exp $*/
-/* Project : miniupnp
+/* $Id: miniupnpcmodule.c,v 1.38 2021/11/09 18:46:49 nanard Exp $*/
+/* vim: tabstop=4 shiftwidth=4 noexpandtab
+ * Project : miniupnp
  * Author : Thomas BERNARD
- * website : http://miniupnp.tuxfamily.org/
- * copyright (c) 2007-2009 Thomas Bernard
+ * website : https://miniupnp.tuxfamily.org/
+ * copyright (c) 2007-2021 Thomas Bernard
  * This software is subjet to the conditions detailed in the
  * provided LICENCE file. */
 #include <Python.h>
-#define STATICLIB
-#include "structmember.h"
+#define MINIUPNP_STATICLIB
+#include <structmember.h>
 #include "miniupnpc.h"
 #include "upnpcommands.h"
 #include "upnperrors.h"
 
+#ifdef _WIN32
+#include <winsock2.h>
+#endif
+
 /* for compatibility with Python < 2.4 */
 #ifndef Py_RETURN_NONE
 #define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
@@ -25,6 +30,16 @@
 #define Py_RETURN_FALSE return Py_INCREF(Py_False), Py_False
 #endif
 
+/* for compatibility with Python < 3.0 */
+#ifndef PyVarObject_HEAD_INIT
+#define PyVarObject_HEAD_INIT(type, size) \
+    PyObject_HEAD_INIT(type) size,
+#endif
+
+#ifndef Py_TYPE
+#define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
+#endif
+
 typedef struct {
     PyObject_HEAD
     /* Type-specific fields go here. */
@@ -32,6 +47,7 @@ typedef struct {
 	struct UPNPUrls urls;
 	struct IGDdatas data;
 	unsigned int discoverdelay;	/* value passed to upnpDiscover() */
+	unsigned int localport;		/* value passed to upnpDiscover() */
 	char lanaddr[40];	/* our ip address on the LAN */
 	char * multicastif;
 	char * minissdpdsocket;
@@ -44,57 +60,115 @@ static PyMemberDef UPnP_members[] = {
 	{"discoverdelay", T_UINT, offsetof(UPnPObject, discoverdelay),
 	 0/*READWRITE*/, "value in ms used to wait for SSDP responses"
 	},
-	/* T_STRING is allways readonly :( */
+	{"localport", T_UINT, offsetof(UPnPObject, localport),
+	 0/*READWRITE*/,
+	    "If localport is set to UPNP_LOCAL_PORT_SAME(1) "
+	    "SSDP packets will be sent from the source port "
+	    "1900 (same as destination port), if set to "
+	    "UPNP_LOCAL_PORT_ANY(0) system assign a source "
+	    "port, any other value will be attempted as the "
+	    "source port"
+	},
+	/* T_STRING is always readonly :( */
 	{"multicastif", T_STRING, offsetof(UPnPObject, multicastif),
 	 0, "IP of the network interface to be used for multicast operations"
 	},
-	{"minissdpdsocket", T_STRING, offsetof(UPnPObject, multicastif),
+	{"minissdpdsocket", T_STRING, offsetof(UPnPObject, minissdpdsocket),
 	 0, "path of the MiniSSDPd unix socket"
 	},
 	{NULL}
 };
 
+
+static int UPnP_init(UPnPObject *self, PyObject *args, PyObject *kwds)
+{
+	char* multicastif = NULL;
+	char* minissdpdsocket = NULL;
+	static char *kwlist[] = {
+		"multicastif", "minissdpdsocket", "discoverdelay",
+		"localport", NULL
+	};
+
+	if(!PyArg_ParseTupleAndKeywords(args, kwds, "|zzII", kwlist,
+					&multicastif,
+					&minissdpdsocket,
+					&self->discoverdelay,
+					&self->localport))
+		return -1;
+
+	if(self->localport>1 &&
+	   (self->localport>65534||self->localport<1024)) {
+	    PyErr_SetString(PyExc_Exception, "Invalid localport value");
+	    return -1;
+	}
+	if(multicastif)
+		self->multicastif = strdup(multicastif);
+	if(minissdpdsocket)
+		self->minissdpdsocket = strdup(minissdpdsocket);
+
+	return 0;
+}
+
 static void
 UPnPObject_dealloc(UPnPObject *self)
 {
 	freeUPNPDevlist(self->devlist);
 	FreeUPNPUrls(&self->urls);
-	self->ob_type->tp_free((PyObject*)self);
+	free(self->multicastif);
+	free(self->minissdpdsocket);
+	Py_TYPE(self)->tp_free((PyObject*)self);
 }
 
 static PyObject *
 UPnP_discover(UPnPObject *self)
 {
-	struct UPNPDev * dev;
-	int i;
+	int error = 0;
 	PyObject *res = NULL;
+
 	if(self->devlist)
 	{
 		freeUPNPDevlist(self->devlist);
 		self->devlist = 0;
-	} 
+	}
 	Py_BEGIN_ALLOW_THREADS
 	self->devlist = upnpDiscover((int)self->discoverdelay/*timeout in ms*/,
-	                             0/* multicast if*/,
-	                             0/*minissdpd socket*/,
-								 0/*sameport flag*/,
+	                             self->multicastif,
+	                             self->minissdpdsocket,
+	                             (int)self->localport,
 	                             0/*ip v6*/,
-	                             0/*error */);
+	                             2/* TTL */,
+	                             &error);
 	Py_END_ALLOW_THREADS
 	/* Py_RETURN_NONE ??? */
-	for(dev = self->devlist, i = 0; dev; dev = dev->pNext)
-		i++;
-	res = Py_BuildValue("i", i);
-	return res;
+	if (self->devlist != NULL) {
+		struct UPNPDev * dev;
+		int i = 0;
+
+		for(dev = self->devlist; dev; dev = dev->pNext)
+			i++;
+		res = Py_BuildValue("i", i);
+		return res;
+	} else {
+		PyErr_SetString(PyExc_Exception, strupnperror(error));
+		return NULL;
+	}
 }
 
 static PyObject *
-UPnP_selectigd(UPnPObject *self)
+UPnP_selectigd(UPnPObject *self, PyObject *args)
 {
+	const char * rootDescUrl = NULL;
 	int r;
+	if(!PyArg_ParseTuple(args, "|z", &rootDescUrl))
+		return NULL;
 Py_BEGIN_ALLOW_THREADS
-	r = UPNP_GetValidIGD(self->devlist, &self->urls, &self->data,
-	                     self->lanaddr, sizeof(self->lanaddr));
+	if (rootDescUrl == NULL) {
+		r = UPNP_GetValidIGD(self->devlist, &self->urls, &self->data,
+		                     self->lanaddr, sizeof(self->lanaddr));
+	} else {
+		r = UPNP_GetIGDFromUrl(rootDescUrl, &self->urls, &self->data,
+		                       self->lanaddr, sizeof(self->lanaddr));
+	}
 Py_END_ALLOW_THREADS
 	if(r)
 	{
@@ -116,7 +190,11 @@ Py_BEGIN_ALLOW_THREADS
 	i = UPNP_GetTotalBytesSent(self->urls.controlURL_CIF,
 	                           self->data.CIF.servicetype);
 Py_END_ALLOW_THREADS
+#if (PY_MAJOR_VERSION >= 3) || (PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 3)
 	return Py_BuildValue("I", i);
+#else
+	return Py_BuildValue("i", (int)i);
+#endif
 }
 
 static PyObject *
@@ -127,7 +205,11 @@ Py_BEGIN_ALLOW_THREADS
 	i = UPNP_GetTotalBytesReceived(self->urls.controlURL_CIF,
 		                           self->data.CIF.servicetype);
 Py_END_ALLOW_THREADS
+#if (PY_MAJOR_VERSION >= 3) || (PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 3)
 	return Py_BuildValue("I", i);
+#else
+	return Py_BuildValue("i", (int)i);
+#endif
 }
 
 static PyObject *
@@ -138,7 +220,11 @@ Py_BEGIN_ALLOW_THREADS
 	i = UPNP_GetTotalPacketsSent(self->urls.controlURL_CIF,
 		                         self->data.CIF.servicetype);
 Py_END_ALLOW_THREADS
+#if (PY_MAJOR_VERSION >= 3) || (PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 3)
 	return Py_BuildValue("I", i);
+#else
+	return Py_BuildValue("i", (int)i);
+#endif
 }
 
 static PyObject *
@@ -149,7 +235,11 @@ Py_BEGIN_ALLOW_THREADS
 	i = UPNP_GetTotalPacketsReceived(self->urls.controlURL_CIF,
 		                          self->data.CIF.servicetype);
 Py_END_ALLOW_THREADS
+#if (PY_MAJOR_VERSION >= 3) || (PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 3)
 	return Py_BuildValue("I", i);
+#else
+	return Py_BuildValue("i", (int)i);
+#endif
 }
 
 static PyObject *
@@ -166,7 +256,11 @@ Py_BEGIN_ALLOW_THREADS
 	                   status, &uptime, lastconnerror);
 Py_END_ALLOW_THREADS
 	if(r==UPNPCOMMAND_SUCCESS) {
+#if (PY_MAJOR_VERSION >= 3) || (PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 3)
 		return Py_BuildValue("(s,I,s)", status, uptime, lastconnerror);
+#else
+		return Py_BuildValue("(s,i,s)", status, (int)uptime, lastconnerror);
+#endif
 	} else {
 		/* TODO: have our own exception type ! */
 		PyErr_SetString(PyExc_Exception, strupnperror(r));
@@ -215,7 +309,7 @@ Py_END_ALLOW_THREADS
 }
 
 /* AddPortMapping(externalPort, protocol, internalHost, internalPort, desc,
- *                remoteHost) 
+ *                remoteHost, leaseDuration)
  * protocol is 'UDP' or 'TCP' */
 static PyObject *
 UPnP_addportmapping(UPnPObject *self, PyObject *args)
@@ -228,17 +322,24 @@ UPnP_addportmapping(UPnPObject *self, PyObject *args)
 	const char * host;
 	const char * desc;
 	const char * remoteHost;
-	const char * leaseDuration = "0";
+	unsigned int intLeaseDuration = 0;
+	char strLeaseDuration[12];
 	int r;
-	if (!PyArg_ParseTuple(args, "HssHss", &ePort, &proto,
-	                                     &host, &iPort, &desc, &remoteHost))
+#if (PY_MAJOR_VERSION >= 3) || (PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 3)
+	if (!PyArg_ParseTuple(args, "HssHzz|I", &ePort, &proto,
+	                                     &host, &iPort, &desc, &remoteHost, &intLeaseDuration))
+#else
+	if (!PyArg_ParseTuple(args, "HssHzz|i", &ePort, &proto,
+	                                     &host, &iPort, &desc, &remoteHost, (int *)&intLeaseDuration))
+#endif
         return NULL;
 Py_BEGIN_ALLOW_THREADS
 	sprintf(extPort, "%hu", ePort);
 	sprintf(inPort, "%hu", iPort);
+	sprintf(strLeaseDuration, "%u", intLeaseDuration);
 	r = UPNP_AddPortMapping(self->urls.controlURL, self->data.first.servicetype,
 	                        extPort, inPort, host, desc, proto,
-	                        remoteHost, leaseDuration);
+	                        remoteHost, strLeaseDuration);
 Py_END_ALLOW_THREADS
 	if(r==UPNPCOMMAND_SUCCESS)
 	{
@@ -255,6 +356,42 @@ Py_END_ALLOW_THREADS
 	}
 }
 
+/* AddAnyPortMapping(externalPort, protocol, internalHost, internalPort, desc,
+ *                   remoteHost)
+ * protocol is 'UDP' or 'TCP' */
+static PyObject *
+UPnP_addanyportmapping(UPnPObject *self, PyObject *args)
+{
+	char extPort[6];
+	unsigned short ePort;
+	char inPort[6];
+	unsigned short iPort;
+	char reservedPort[6];
+	const char * proto;
+	const char * host;
+	const char * desc;
+	const char * remoteHost;
+	const char * leaseDuration = "0";
+	int r;
+	if (!PyArg_ParseTuple(args, "HssHzz", &ePort, &proto, &host, &iPort, &desc, &remoteHost))
+        return NULL;
+Py_BEGIN_ALLOW_THREADS
+	sprintf(extPort, "%hu", ePort);
+	sprintf(inPort, "%hu", iPort);
+	r = UPNP_AddAnyPortMapping(self->urls.controlURL, self->data.first.servicetype,
+	                           extPort, inPort, host, desc, proto,
+	                           remoteHost, leaseDuration, reservedPort);
+Py_END_ALLOW_THREADS
+	if(r==UPNPCOMMAND_SUCCESS) {
+		return Py_BuildValue("i", atoi(reservedPort));
+	} else {
+		/* TODO: have our own exception type ! */
+		PyErr_SetString(PyExc_Exception, strupnperror(r));
+		return NULL;
+	}
+}
+
+
 /* DeletePortMapping(extPort, proto, removeHost='')
  * proto = 'UDP', 'TCP' */
 static PyObject *
@@ -281,6 +418,37 @@ Py_END_ALLOW_THREADS
 	}
 }
 
+/* DeletePortMappingRange(extPort, proto, removeHost='')
+ * proto = 'UDP', 'TCP' */
+static PyObject *
+UPnP_deleteportmappingrange(UPnPObject *self, PyObject *args)
+{
+	char extPortStart[6];
+	unsigned short ePortStart;
+	char extPortEnd[6];
+	unsigned short ePortEnd;
+	const char * proto;
+	unsigned char manage;
+	char manageStr[6];
+	int r;
+	if(!PyArg_ParseTuple(args, "HHsb", &ePortStart, &ePortEnd, &proto, &manage))
+		return NULL;
+Py_BEGIN_ALLOW_THREADS
+	sprintf(extPortStart, "%hu", ePortStart);
+	sprintf(extPortEnd, "%hu", ePortEnd);
+	sprintf(manageStr, "%hu", (unsigned short)manage);
+	r = UPNP_DeletePortMappingRange(self->urls.controlURL, self->data.first.servicetype,
+					extPortStart, extPortEnd, proto, manageStr);
+Py_END_ALLOW_THREADS
+	if(r==UPNPCOMMAND_SUCCESS) {
+		Py_RETURN_TRUE;
+	} else {
+		/* TODO: have our own exception type ! */
+		PyErr_SetString(PyExc_Exception, strupnperror(r));
+		return NULL;
+	}
+}
+
 static PyObject *
 UPnP_getportmappingnumberofentries(UPnPObject *self)
 {
@@ -292,7 +460,11 @@ Py_BEGIN_ALLOW_THREADS
 									   &n);
 Py_END_ALLOW_THREADS
 	if(r==UPNPCOMMAND_SUCCESS) {
+#if (PY_MAJOR_VERSION >= 3) || (PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 3)
 		return Py_BuildValue("I", n);
+#else
+		return Py_BuildValue("i", (int)n);
+#endif
 	} else {
 		/* TODO: have our own exception type ! */
 		PyErr_SetString(PyExc_Exception, strupnperror(r));
@@ -300,7 +472,7 @@ Py_END_ALLOW_THREADS
 	}
 }
 
-/* GetSpecificPortMapping(ePort, proto) 
+/* GetSpecificPortMapping(ePort, proto, remoteHost='')
  * proto = 'UDP' or 'TCP' */
 static PyObject *
 UPnP_getspecificportmapping(UPnPObject *self, PyObject *args)
@@ -308,13 +480,14 @@ UPnP_getspecificportmapping(UPnPObject *self, PyObject *args)
 	char extPort[6];
 	unsigned short ePort;
 	const char * proto;
+	const char * remoteHost = "";
 	char intClient[40];
 	char intPort[6];
 	unsigned short iPort;
 	char desc[80];
 	char enabled[4];
 	char leaseDuration[16];
-	if(!PyArg_ParseTuple(args, "Hs", &ePort, &proto))
+	if(!PyArg_ParseTuple(args, "Hs|z", &ePort, &proto, &remoteHost))
 		return NULL;
 	extPort[0] = '\0'; intClient[0] = '\0'; intPort[0] = '\0';
 	desc[0] = '\0'; enabled[0] = '\0'; leaseDuration[0] = '\0';
@@ -322,7 +495,7 @@ Py_BEGIN_ALLOW_THREADS
 	sprintf(extPort, "%hu", ePort);
 	UPNP_GetSpecificPortMappingEntry(self->urls.controlURL,
 	                                 self->data.first.servicetype,
-									 extPort, proto,
+									 extPort, proto, remoteHost,
 									 intClient, intPort,
 	                                 desc, enabled, leaseDuration);
 Py_END_ALLOW_THREADS
@@ -376,9 +549,15 @@ Py_END_ALLOW_THREADS
 		ePort = (unsigned short)atoi(extPort);
 		iPort = (unsigned short)atoi(intPort);
 		dur = (unsigned int)strtoul(duration, 0, 0);
+#if (PY_MAJOR_VERSION >= 3) || (PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 3)
 		return Py_BuildValue("(H,s,(s,H),s,s,s,I)",
 		                     ePort, protocol, intClient, iPort,
 		                     desc, enabled, rHost, dur);
+#else
+		return Py_BuildValue("(i,s,(s,i),s,s,s,i)",
+		                     (int)ePort, protocol, intClient, (int)iPort,
+		                     desc, enabled, rHost, (int)dur);
+#endif
 	}
 	else
 	{
@@ -391,7 +570,7 @@ static PyMethodDef UPnP_methods[] = {
     {"discover", (PyCFunction)UPnP_discover, METH_NOARGS,
      "discover UPnP IGD devices on the network"
     },
-	{"selectigd", (PyCFunction)UPnP_selectigd, METH_NOARGS,
+	{"selectigd", (PyCFunction)UPnP_selectigd, METH_VARARGS,
 	 "select a valid UPnP IGD among discovered devices"
 	},
 	{"totalbytesent", (PyCFunction)UPnP_totalbytesent, METH_NOARGS,
@@ -418,9 +597,15 @@ static PyMethodDef UPnP_methods[] = {
 	{"addportmapping", (PyCFunction)UPnP_addportmapping, METH_VARARGS,
 	 "add a port mapping"
 	},
+	{"addanyportmapping", (PyCFunction)UPnP_addanyportmapping, METH_VARARGS,
+	 "add a port mapping, IGD to select alternative if necessary"
+	},
 	{"deleteportmapping", (PyCFunction)UPnP_deleteportmapping, METH_VARARGS,
 	 "delete a port mapping"
 	},
+	{"deleteportmappingrange", (PyCFunction)UPnP_deleteportmappingrange, METH_VARARGS,
+	 "delete a range of port mappings"
+	},
 	{"getportmappingnumberofentries", (PyCFunction)UPnP_getportmappingnumberofentries, METH_NOARGS,
 	 "-- non standard --"
 	},
@@ -434,8 +619,8 @@ static PyMethodDef UPnP_methods[] = {
 };
 
 static PyTypeObject UPnPType = {
-    PyObject_HEAD_INIT(NULL)
-    0,                         /*ob_size*/
+    PyVarObject_HEAD_INIT(NULL,
+    0)                         /*ob_size*/
     "miniupnpc.UPnP",          /*tp_name*/
     sizeof(UPnPObject),        /*tp_basicsize*/
     0,                         /*tp_itemsize*/
@@ -470,13 +655,14 @@ static PyTypeObject UPnPType = {
     0,                         /* tp_descr_get */
     0,                         /* tp_descr_set */
     0,                         /* tp_dictoffset */
-    0,/*(initproc)UPnP_init,*/      /* tp_init */
+    (initproc)UPnP_init,       /* tp_init */
     0,                         /* tp_alloc */
-#ifndef WIN32
+#ifndef _WIN32
     PyType_GenericNew,/*UPnP_new,*/      /* tp_new */
 #else
-    0,
+    0,                         /* tp_new */
 #endif
+    0,                         /* tp_free */
 };
 
 /* module methods */
@@ -484,24 +670,69 @@ static PyMethodDef miniupnpc_methods[] = {
     {NULL}  /* Sentinel */
 };
 
+#if PY_MAJOR_VERSION >= 3
+static struct PyModuleDef moduledef = {
+    PyModuleDef_HEAD_INIT,
+    "miniupnpc",     /* m_name */
+    "miniupnpc module.",  /* m_doc */
+    -1,                  /* m_size */
+    miniupnpc_methods,    /* m_methods */
+    NULL,                /* m_reload */
+    NULL,                /* m_traverse */
+    NULL,                /* m_clear */
+    NULL,                /* m_free */
+};
+#endif
+
 #ifndef PyMODINIT_FUNC	/* declarations for DLL import/export */
 #define PyMODINIT_FUNC void
 #endif
+
 PyMODINIT_FUNC
-initminiupnpc(void) 
+#if PY_MAJOR_VERSION >= 3
+PyInit_miniupnpc(void)
+#else
+initminiupnpc(void)
+#endif
 {
     PyObject* m;
 
-#ifdef WIN32
+#ifdef _WIN32
+    /* initialize Winsock. */
+    WSADATA wsaData;
+    int nResult = WSAStartup(MAKEWORD(2,2), &wsaData);
+	if (nResult != 0)
+	{
+		/* error code could be WSASYSNOTREADY WSASYSNOTREADY
+		 * WSASYSNOTREADY WSASYSNOTREADY WSASYSNOTREADY */
+#if PY_MAJOR_VERSION >= 3
+        return 0;
+#else
+        return;
+#endif
+	}
+
     UPnPType.tp_new = PyType_GenericNew;
 #endif
     if (PyType_Ready(&UPnPType) < 0)
+#if PY_MAJOR_VERSION >= 3
+        return 0;
+#else
         return;
+#endif
 
+#if PY_MAJOR_VERSION >= 3
+    m = PyModule_Create(&moduledef);
+#else
     m = Py_InitModule3("miniupnpc", miniupnpc_methods,
                        "miniupnpc module.");
+#endif
 
     Py_INCREF(&UPnPType);
     PyModule_AddObject(m, "UPnP", (PyObject *)&UPnPType);
+
+#if PY_MAJOR_VERSION >= 3
+    return m;
+#endif
 }
 
diff --git a/libs/miniupnpc/miniwget.c b/libs/miniupnpc/src/miniwget.c
similarity index 50%
rename from libs/miniupnpc/miniwget.c
rename to libs/miniupnpc/src/miniwget.c
index 7c9cb3ad58..19c683e64c 100644
--- a/libs/miniupnpc/miniwget.c
+++ b/libs/miniupnpc/src/miniwget.c
@@ -1,21 +1,21 @@
-/* $Id: miniwget.c,v 1.52 2011/06/17 22:59:42 nanard Exp $ */
+/* $Id: miniwget.c,v 1.84 2020/11/09 19:41:18 nanard Exp $ */
 /* Project : miniupnp
+ * Website : http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
  * Author : Thomas Bernard
- * Copyright (c) 2005-2011 Thomas Bernard
+ * Copyright (c) 2005-2020 Thomas Bernard
  * This software is subject to the conditions detailed in the
  * LICENCE file provided in this distribution. */
- 
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
-#ifdef WIN32
+#ifdef _WIN32
 #include <winsock2.h>
 #include <ws2tcpip.h>
 #include <io.h>
 #define MAXHOSTNAMELEN 64
-#define MIN(x,y) (((x)<(y))?(x):(y))
-#define snprintf _snprintf
+#include "win32_snprintf.h"
 #define socklen_t int
 #ifndef strncasecmp
 #if defined(_MSC_VER) && (_MSC_VER >= 1400)
@@ -24,7 +24,7 @@
 #define strncasecmp memicmp
 #endif /* defined(_MSC_VER) && (_MSC_VER >= 1400) */
 #endif /* #ifndef strncasecmp */
-#else /* #ifdef WIN32 */
+#else /* #ifdef _WIN32 */
 #include <unistd.h>
 #include <sys/param.h>
 #if defined(__amigaos__) && !defined(__amigaos4__)
@@ -33,22 +33,31 @@
 #include <sys/select.h>
 #endif /* #else defined(__amigaos__) && !defined(__amigaos4__) */
 #include <sys/socket.h>
+#include <netinet/in.h>
 #include <arpa/inet.h>
+#include <net/if.h>
 #include <netdb.h>
 #define closesocket close
-/* defining MINIUPNPC_IGNORE_EINTR enable the ignore of interruptions
- * during the connect() call */
-#define MINIUPNPC_IGNORE_EINTR
-#endif /* #else WIN32 */
-#if defined(__sun) || defined(sun)
+#include <strings.h>
+#endif /* #else _WIN32 */
+#ifdef __GNU__
+#define MAXHOSTNAMELEN 64
+#endif /* __GNU__ */
+
+#ifndef MIN
 #define MIN(x,y) (((x)<(y))?(x):(y))
-#endif
+#endif /* MIN */
+
 
 #include "miniupnpcstrings.h"
 #include "miniwget.h"
 #include "connecthostport.h"
 #include "receivedata.h"
 
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 64
+#endif
+
 /*
  * Read a HTTP response from a socket.
  * Process Content-Length and Transfer-encoding headers.
@@ -56,7 +65,7 @@
  * to the length parameter.
  */
 void *
-getHTTPResponse(int s, int * size)
+getHTTPResponse(SOCKET s, int * size, int * status_code)
 {
 	char buf[2048];
 	int n;
@@ -67,20 +76,42 @@ getHTTPResponse(int s, int * size)
 	unsigned int bytestocopy = 0;
 	/* buffers : */
 	char * header_buf;
-	int header_buf_len = 2048;
-	int header_buf_used = 0;
+	unsigned int header_buf_len = 2048;
+	unsigned int header_buf_used = 0;
 	char * content_buf;
-	int content_buf_len = 2048;
-	int content_buf_used = 0;
+	unsigned int content_buf_len = 2048;
+	unsigned int content_buf_used = 0;
 	char chunksize_buf[32];
-	int chunksize_buf_index;
+	unsigned int chunksize_buf_index;
+#ifdef DEBUG
+	char * reason_phrase = NULL;
+	int reason_phrase_len = 0;
+#endif
 
+	if(status_code) *status_code = -1;
 	header_buf = malloc(header_buf_len);
+	if(header_buf == NULL)
+	{
+#ifdef DEBUG
+		fprintf(stderr, "%s: Memory allocation error\n", "getHTTPResponse");
+#endif /* DEBUG */
+		*size = -1;
+		return NULL;
+	}
 	content_buf = malloc(content_buf_len);
+	if(content_buf == NULL)
+	{
+		free(header_buf);
+#ifdef DEBUG
+		fprintf(stderr, "%s: Memory allocation error\n", "getHTTPResponse");
+#endif /* DEBUG */
+		*size = -1;
+		return NULL;
+	}
 	chunksize_buf[0] = '\0';
 	chunksize_buf_index = 0;
 
-	while((n = receivedata(s, buf, 2048, 5000)) > 0)
+	while((n = receivedata(s, buf, sizeof(buf), 5000, NULL)) > 0)
 	{
 		if(endofheaders == 0)
 		{
@@ -89,7 +120,15 @@ getHTTPResponse(int s, int * size)
 			int colon=0;
 			int valuestart=0;
 			if(header_buf_used + n > header_buf_len) {
-				header_buf = realloc(header_buf, header_buf_used + n);
+				char * tmp = realloc(header_buf, header_buf_used + n);
+				if(tmp == NULL) {
+					/* memory allocation error */
+					free(header_buf);
+					free(content_buf);
+					*size = -1;
+					return NULL;
+				}
+				header_buf = tmp;
 				header_buf_len = header_buf_used + n;
 			}
 			memcpy(header_buf + header_buf_used, buf, n);
@@ -97,14 +136,14 @@ getHTTPResponse(int s, int * size)
 			/* search for CR LF CR LF (end of headers)
 			 * recognize also LF LF */
 			i = 0;
-			while(i < (header_buf_used-1) && (endofheaders == 0)) {
+			while(i < ((int)header_buf_used-1) && (endofheaders == 0)) {
 				if(header_buf[i] == '\r') {
 					i++;
 					if(header_buf[i] == '\n') {
 						i++;
-						if(i < header_buf_used && header_buf[i] == '\r') {
+						if(i < (int)header_buf_used && header_buf[i] == '\r') {
 							i++;
-							if(i < header_buf_used && header_buf[i] == '\n') {
+							if(i < (int)header_buf_used && header_buf[i] == '\n') {
 								endofheaders = i+1;
 							}
 						}
@@ -121,7 +160,7 @@ getHTTPResponse(int s, int * size)
 				continue;
 			/* parse header lines */
 			for(i = 0; i < endofheaders - 1; i++) {
-				if(colon <= linestart && header_buf[i]==':')
+				if(linestart > 0 && colon <= linestart && header_buf[i]==':')
 				{
 					colon = i;
 					while(i < (endofheaders-1)
@@ -132,7 +171,34 @@ getHTTPResponse(int s, int * size)
 				/* detecting end of line */
 				else if(header_buf[i]=='\r' || header_buf[i]=='\n')
 				{
-					if(colon > linestart && valuestart > colon)
+					if(linestart == 0 && status_code)
+					{
+						/* Status line
+						 * HTTP-Version SP Status-Code SP Reason-Phrase CRLF */
+						int sp;
+						for(sp = 0; sp < i - 1; sp++)
+							if(header_buf[sp] == ' ')
+							{
+								if(*status_code < 0)
+								{
+									if (header_buf[sp+1] >= '1' && header_buf[sp+1] <= '9')
+										*status_code = atoi(header_buf + sp + 1);
+								}
+								else
+								{
+#ifdef DEBUG
+									reason_phrase = header_buf + sp + 1;
+									reason_phrase_len = i - sp - 1;
+#endif
+									break;
+								}
+							}
+#ifdef DEBUG
+						printf("HTTP status code = %d, Reason phrase = %.*s\n",
+						       *status_code, reason_phrase_len, reason_phrase);
+#endif
+					}
+					else if(colon > linestart && valuestart > colon)
 					{
 #ifdef DEBUG
 						printf("header='%.*s', value='%.*s'\n",
@@ -155,113 +221,130 @@ getHTTPResponse(int s, int * size)
 							chunked = 1;
 						}
 					}
-					while(header_buf[i]=='\r' || header_buf[i] == '\n')
+					while((i < (int)header_buf_used) && (header_buf[i]=='\r' || header_buf[i] == '\n'))
 						i++;
 					linestart = i;
 					colon = linestart;
 					valuestart = 0;
-				} 
+				}
 			}
 			/* copy the remaining of the received data back to buf */
 			n = header_buf_used - endofheaders;
 			memcpy(buf, header_buf + endofheaders, n);
 			/* if(headers) */
 		}
-		if(endofheaders)
+		/* if we get there, endofheaders != 0.
+		 * In the other case, there was a continue above */
+		/* content */
+		if(chunked)
 		{
-			/* content */
-			if(chunked)
+			int i = 0;
+			while(i < n)
 			{
-				int i = 0;
-				while(i < n)
+				if(chunksize == 0)
 				{
-					if(chunksize == 0)
+					/* reading chunk size */
+					if(chunksize_buf_index == 0) {
+						/* skipping any leading CR LF */
+						if(buf[i] == '\r') i++;
+						if(i<n && buf[i] == '\n') i++;
+					}
+					while(i<n && isxdigit(buf[i])
+					     && chunksize_buf_index < (sizeof(chunksize_buf)-1))
 					{
-						/* reading chunk size */
-						if(chunksize_buf_index == 0) {
-							/* skipping any leading CR LF */
-							if(i<n && buf[i] == '\r') i++;
-							if(i<n && buf[i] == '\n') i++;
-						}
-						while(i<n && isxdigit(buf[i])
-						     && chunksize_buf_index < (sizeof(chunksize_buf)-1))
-						{
-							chunksize_buf[chunksize_buf_index++] = buf[i];
-							chunksize_buf[chunksize_buf_index] = '\0';
-							i++;
-						}
-						while(i<n && buf[i] != '\r' && buf[i] != '\n')
-							i++; /* discarding chunk-extension */
-						if(i<n && buf[i] == '\r') i++;
-						if(i<n && buf[i] == '\n') {
-							int j;
-							for(j = 0; j < chunksize_buf_index; j++) {
-							if(chunksize_buf[j] >= '0'
-							   && chunksize_buf[j] <= '9')
-								chunksize = (chunksize << 4) + (chunksize_buf[j] - '0');
-							else
-								chunksize = (chunksize << 4) + ((chunksize_buf[j] | 32) - 'a' + 10);
-							}
-							chunksize_buf[0] = '\0';
-							chunksize_buf_index = 0;
-							i++;
-						} else {
-							/* not finished to get chunksize */
-							continue;
+						chunksize_buf[chunksize_buf_index++] = buf[i];
+						chunksize_buf[chunksize_buf_index] = '\0';
+						i++;
+					}
+					while(i<n && buf[i] != '\r' && buf[i] != '\n')
+						i++; /* discarding chunk-extension */
+					if(i<n && buf[i] == '\r') i++;
+					if(i<n && buf[i] == '\n') {
+						unsigned int j;
+						for(j = 0; j < chunksize_buf_index; j++) {
+						if(chunksize_buf[j] >= '0'
+						   && chunksize_buf[j] <= '9')
+							chunksize = (chunksize << 4) + (chunksize_buf[j] - '0');
+						else
+							chunksize = (chunksize << 4) + ((chunksize_buf[j] | 32) - 'a' + 10);
 						}
+						chunksize_buf[0] = '\0';
+						chunksize_buf_index = 0;
+						i++;
+					} else {
+						/* not finished to get chunksize */
+						continue;
+					}
 #ifdef DEBUG
-						printf("chunksize = %u (%x)\n", chunksize, chunksize);
+					printf("chunksize = %u (%x)\n", chunksize, chunksize);
 #endif
-						if(chunksize == 0)
-						{
+					if(chunksize == 0)
+					{
 #ifdef DEBUG
-							printf("end of HTTP content - %d %d\n", i, n);
-							/*printf("'%.*s'\n", n-i, buf+i);*/
+						printf("end of HTTP content - %d %d\n", i, n);
+						/*printf("'%.*s'\n", n-i, buf+i);*/
 #endif
-							goto end_of_stream;
-						}
+						goto end_of_stream;
 					}
-					bytestocopy = ((int)chunksize < n - i)?chunksize:(n - i);
-					if((int)(content_buf_used + bytestocopy) > content_buf_len)
-					{
-						if(content_length >= content_buf_used + (int)bytestocopy) {
-							content_buf_len = content_length;
-						} else {
-							content_buf_len = content_buf_used + (int)bytestocopy;
-						}
-						content_buf = (char *)realloc((void *)content_buf, 
-						                              content_buf_len);
-					}
-					memcpy(content_buf + content_buf_used, buf + i, bytestocopy);
-					content_buf_used += bytestocopy;
-					i += bytestocopy;
-					chunksize -= bytestocopy;
-				}
-			}
-			else
-			{
-				/* not chunked */
-				if(content_length > 0
-				   && (content_buf_used + n) > content_length) {
-					/* skipping additional bytes */
-					n = content_length - content_buf_used;
 				}
-				if(content_buf_used + n > content_buf_len)
+				/* it is guaranteed that (n >= i) */
+				bytestocopy = (chunksize < (unsigned int)(n - i))?chunksize:(unsigned int)(n - i);
+				if((content_buf_used + bytestocopy) > content_buf_len)
 				{
-					if(content_length >= content_buf_used + n) {
+					char * tmp;
+					if((content_length >= 0) && ((unsigned int)content_length >= (content_buf_used + bytestocopy))) {
 						content_buf_len = content_length;
 					} else {
-						content_buf_len = content_buf_used + n;
+						content_buf_len = content_buf_used + bytestocopy;
+					}
+					tmp = realloc(content_buf, content_buf_len);
+					if(tmp == NULL) {
+						/* memory allocation error */
+						free(content_buf);
+						free(header_buf);
+						*size = -1;
+						return NULL;
 					}
-					content_buf = (char *)realloc((void *)content_buf, 
-					                              content_buf_len);
+					content_buf = tmp;
 				}
-				memcpy(content_buf + content_buf_used, buf, n);
-				content_buf_used += n;
+				memcpy(content_buf + content_buf_used, buf + i, bytestocopy);
+				content_buf_used += bytestocopy;
+				i += bytestocopy;
+				chunksize -= bytestocopy;
 			}
 		}
+		else
+		{
+			/* not chunked */
+			if(content_length > 0
+			   && (content_buf_used + n) > (unsigned int)content_length) {
+				/* skipping additional bytes */
+				n = content_length - content_buf_used;
+			}
+			if(content_buf_used + n > content_buf_len)
+			{
+				char * tmp;
+				if(content_length >= 0
+				   && (unsigned int)content_length >= (content_buf_used + n)) {
+					content_buf_len = content_length;
+				} else {
+					content_buf_len = content_buf_used + n;
+				}
+				tmp = realloc(content_buf, content_buf_len);
+				if(tmp == NULL) {
+					/* memory allocation error */
+					free(content_buf);
+					free(header_buf);
+					*size = -1;
+					return NULL;
+				}
+				content_buf = tmp;
+			}
+			memcpy(content_buf + content_buf_used, buf, n);
+			content_buf_used += n;
+		}
 		/* use the Content-Length header value if available */
-		if(content_length > 0 && content_buf_used >= content_length)
+		if(content_length > 0 && content_buf_used >= (unsigned int)content_length)
 		{
 #ifdef DEBUG
 			printf("End of HTTP content\n");
@@ -270,7 +353,7 @@ getHTTPResponse(int s, int * size)
 		}
 	}
 end_of_stream:
-	free(header_buf); header_buf = NULL;
+	free(header_buf);
 	*size = content_buf_used;
 	if(content_buf_used == 0)
 	{
@@ -284,21 +367,22 @@ end_of_stream:
  * do all the work.
  * Return NULL if something failed. */
 static void *
-miniwget3(const char * url, const char * host,
+miniwget3(const char * host,
           unsigned short port, const char * path,
           int * size, char * addr_str, int addr_str_len,
-          const char * httpversion)
+          const char * httpversion, unsigned int scope_id,
+          int * status_code)
 {
 	char buf[2048];
-    int s;
-	int n = -1;
+	SOCKET s;
+	int n;
 	int len;
 	int sent;
 	void * content;
 
 	*size = 0;
-	s = connecthostport(host, port);
-	if(s < 0)
+	s = connecthostport(host, port, scope_id);
+	if(ISINVALID(s))
 		return NULL;
 
 	/* get address for caller ! */
@@ -336,16 +420,14 @@ miniwget3(const char * url, const char * host,
 				          addr_str, addr_str_len);
 			}
 #endif
-#ifndef NO_GETADDRINFO
 			/* getnameinfo return ip v6 address with the scope identifier
 			 * such as : 2a01:e35:8b2b:7330::%4281128194 */
 			n = getnameinfo((const struct sockaddr *)&saddr, saddrlen,
 			                addr_str, addr_str_len,
 			                NULL, 0,
 			                NI_NUMERICHOST | NI_NUMERICSERV);
-#endif
 			if(n != 0) {
-#ifdef WIN32
+#ifdef _WIN32
 				fprintf(stderr, "getnameinfo() failed : %d\n", n);
 #else
 				fprintf(stderr, "getnameinfo() failed : %s\n", gai_strerror(n));
@@ -362,10 +444,15 @@ miniwget3(const char * url, const char * host,
                  "GET %s HTTP/%s\r\n"
 			     "Host: %s:%d\r\n"
 				 "Connection: Close\r\n"
-				 "User-Agent: " OS_STRING ", UPnP/1.0, MiniUPnPc/" MINIUPNPC_VERSION_STRING "\r\n"
+				 "User-Agent: " OS_STRING ", " UPNP_VERSION_STRING ", MiniUPnPc/" MINIUPNPC_VERSION_STRING "\r\n"
 
 				 "\r\n",
 			   path, httpversion, host, port);
+	if ((unsigned int)len >= sizeof(buf))
+	{
+		closesocket(s);
+		return NULL;
+	}
 	sent = 0;
 	/* sending the HTTP request */
 	while(sent < len)
@@ -382,7 +469,7 @@ miniwget3(const char * url, const char * host,
 			sent += n;
 		}
 	}
-	content = getHTTPResponse(s, size);
+	content = getHTTPResponse(s, size, status_code);
 	closesocket(s);
 	return content;
 }
@@ -390,24 +477,32 @@ miniwget3(const char * url, const char * host,
 /* miniwget2() :
  * Call miniwget3(); retry with HTTP/1.1 if 1.0 fails. */
 static void *
-miniwget2(const char * url, const char * host,
-		  unsigned short port, const char * path,
-		  int * size, char * addr_str, int addr_str_len)
+miniwget2(const char * host,
+          unsigned short port, const char * path,
+          int * size, char * addr_str, int addr_str_len,
+          unsigned int scope_id, int * status_code)
 {
 	char * respbuffer;
 
-	respbuffer = miniwget3(url, host, port, path, size, addr_str, addr_str_len, "1.1");
-/*
-	respbuffer = miniwget3(url, host, port, path, size, addr_str, addr_str_len, "1.0");
+#if 1
+	respbuffer = miniwget3(host, port, path, size,
+	                       addr_str, addr_str_len, "1.1",
+	                       scope_id, status_code);
+#else
+	respbuffer = miniwget3(host, port, path, size,
+	                       addr_str, addr_str_len, "1.0",
+	                       scope_id, status_code);
 	if (*size == 0)
 	{
 #ifdef DEBUG
 		printf("Retrying with HTTP/1.1\n");
 #endif
 		free(respbuffer);
-		respbuffer = miniwget3(url, host, port, path, size, addr_str, addr_str_len, "1.1");
+		respbuffer = miniwget3(host, port, path, size,
+		                       addr_str, addr_str_len, "1.1",
+		                       scope_id, status_code);
 	}
-*/
+#endif
 	return respbuffer;
 }
 
@@ -419,12 +514,15 @@ miniwget2(const char * url, const char * host,
  *   url :		source string not modified
  *   hostname :	hostname destination string (size of MAXHOSTNAMELEN+1)
  *   port :		port (destination)
- *   path :		pointer to the path part of the URL 
+ *   path :		pointer to the path part of the URL
  *
  * Return values :
  *    0 - Failure
  *    1 - Success         */
-int parseURL(const char * url, char * hostname, unsigned short * port, char * * path)
+int
+parseURL(const char * url,
+         char * hostname, unsigned short * port,
+         char * * path, unsigned int * scope_id)
 {
 	char * p1, *p2, *p3;
 	if(!url)
@@ -440,7 +538,43 @@ int parseURL(const char * url, char * hostname, unsigned short * port, char * *
 	if(*p1 == '[')
 	{
 		/* IP v6 : http://[2a00:1450:8002::6a]/path/abc */
+		char * scope;
+		scope = strchr(p1, '%');
 		p2 = strchr(p1, ']');
+		if(p2 && scope && scope < p2 && scope_id) {
+			/* parse scope */
+#ifdef IF_NAMESIZE
+			char tmp[IF_NAMESIZE];
+			int l;
+			scope++;
+			/* "%25" is just '%' in URL encoding */
+			if(scope[0] == '2' && scope[1] == '5')
+				scope += 2;	/* skip "25" */
+			l = p2 - scope;
+			if(l >= IF_NAMESIZE)
+				l = IF_NAMESIZE - 1;
+			memcpy(tmp, scope, l);
+			tmp[l] = '\0';
+			*scope_id = if_nametoindex(tmp);
+			if(*scope_id == 0) {
+				*scope_id = (unsigned int)strtoul(tmp, NULL, 10);
+			}
+#else
+			/* under windows, scope is numerical */
+			char tmp[8];
+			size_t l;
+			scope++;
+			/* "%25" is just '%' in URL encoding */
+			if(scope[0] == '2' && scope[1] == '5')
+				scope += 2;	/* skip "25" */
+			l = p2 - scope;
+			if(l >= sizeof(tmp))
+				l = sizeof(tmp) - 1;
+			memcpy(tmp, scope, l);
+			tmp[l] = '\0';
+			*scope_id = (unsigned int)strtoul(tmp, NULL, 10);
+#endif
+		}
 		p3 = strchr(p1, '/');
 		if(p2 && p3)
 		{
@@ -490,35 +624,41 @@ int parseURL(const char * url, char * hostname, unsigned short * port, char * *
 	return 1;
 }
 
-void * miniwget(const char * url, int * size)
+void *
+miniwget(const char * url, int * size,
+         unsigned int scope_id, int * status_code)
 {
 	unsigned short port;
 	char * path;
 	/* protocol://host:port/chemin */
 	char hostname[MAXHOSTNAMELEN+1];
 	*size = 0;
-	if(!parseURL(url, hostname, &port, &path))
+	if(!parseURL(url, hostname, &port, &path, &scope_id))
 		return NULL;
 #ifdef DEBUG
-	printf("parsed url : hostname='%s' port=%hu path='%s'\n", hostname, port, path);
+	printf("parsed url : hostname='%s' port=%hu path='%s' scope_id=%u\n",
+	       hostname, port, path, scope_id);
 #endif
-	return miniwget2(url, hostname, port, path, size, 0, 0);
+	return miniwget2(hostname, port, path, size, 0, 0, scope_id, status_code);
 }
 
-void * miniwget_getaddr(const char * url, int * size, char * addr, int addrlen)
+void *
+miniwget_getaddr(const char * url, int * size,
+                 char * addr, int addrlen, unsigned int scope_id,
+                 int * status_code)
 {
 	unsigned short port;
 	char * path;
-	/* protocol://host:port/chemin */
+	/* protocol://host:port/path */
 	char hostname[MAXHOSTNAMELEN+1];
 	*size = 0;
 	if(addr)
 		addr[0] = '\0';
-	if(!parseURL(url, hostname, &port, &path))
+	if(!parseURL(url, hostname, &port, &path, &scope_id))
 		return NULL;
 #ifdef DEBUG
-	printf("parsed url : hostname='%s' port=%hu path='%s'\n", hostname, port, path);
+	printf("parsed url : hostname='%s' port=%hu path='%s' scope_id=%u\n",
+	       hostname, port, path, scope_id);
 #endif
-	return miniwget2(url, hostname, port, path, size, addr, addrlen);
+	return miniwget2(hostname, port, path, size, addr, addrlen, scope_id, status_code);
 }
-
diff --git a/libs/miniupnpc/src/miniwget_private.h b/libs/miniupnpc/src/miniwget_private.h
new file mode 100644
index 0000000000..e4eaac8085
--- /dev/null
+++ b/libs/miniupnpc/src/miniwget_private.h
@@ -0,0 +1,15 @@
+/* $Id: miniwget_private.h,v 1.1 2018/04/06 10:17:58 nanard Exp $ */
+/* Project : miniupnp
+ * Author : Thomas Bernard
+ * Copyright (c) 2018 Thomas Bernard
+ * This software is subject to the conditions detailed in the
+ * LICENCE file provided in this distribution.
+ * */
+#ifndef MINIWGET_INTERNAL_H_INCLUDED
+#define MINIWGET_INTERNAL_H_INCLUDED
+
+#include "miniupnpc_socketdef.h"
+
+void * getHTTPResponse(SOCKET s, int * size, int * status_code);
+
+#endif
diff --git a/libs/miniupnpc/minixml.c b/libs/miniupnpc/src/minixml.c
similarity index 88%
rename from libs/miniupnpc/minixml.c
rename to libs/miniupnpc/src/minixml.c
index 8b5594c88d..935ec443e7 100644
--- a/libs/miniupnpc/minixml.c
+++ b/libs/miniupnpc/src/minixml.c
@@ -1,10 +1,11 @@
-/* $Id: minixml.c,v 1.9 2011/02/07 13:44:57 nanard Exp $ */
-/* minixml.c : the minimum size a xml parser can be ! */
+/* $Id: minixml.c,v 1.12 2017/12/12 11:17:40 nanard Exp $ */
+/* vim: tabstop=4 shiftwidth=4 noexpandtab
+ * minixml.c : the minimum size a xml parser can be ! */
 /* Project : miniupnp
  * webpage: http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
  * Author : Thomas Bernard
 
-Copyright (c) 2005-2011, Thomas BERNARD 
+Copyright (c) 2005-2017, Thomas BERNARD
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -113,7 +114,20 @@ static void parseelt(struct xmlparser * p)
 	const char * elementname;
 	while(p->xml < (p->xmlend - 1))
 	{
-		if((p->xml)[0]=='<' && (p->xml)[1]!='?')
+		if((p->xml + 4) <= p->xmlend && (0 == memcmp(p->xml, "<!--", 4)))
+		{
+			p->xml += 3;
+			/* ignore comments */
+			do
+			{
+				p->xml++;
+				if ((p->xml + 3) >= p->xmlend)
+					return;
+			}
+			while(memcmp(p->xml, "-->", 3) != 0);
+			p->xml += 3;
+		}
+		else if((p->xml)[0]=='<' && (p->xml)[1]!='?')
 		{
 			i = 0; elementname = ++p->xml;
 			while( !IS_WHITE_SPACE(*p->xml)
@@ -148,8 +162,9 @@ static void parseelt(struct xmlparser * p)
 						if (p->xml >= p->xmlend)
 							return;
 					}
-					if(memcmp(p->xml, "<![CDATA[", 9) == 0)
-					{ 
+					/* CDATA are at least 9 + 3 characters long : <![CDATA[ ]]> */
+					if((p->xmlend >= (p->xml + (9 + 3))) && (memcmp(p->xml, "<![CDATA[", 9) == 0))
+					{
 						/* CDATA handling */
 						p->xml += 9;
 						data = p->xml;
diff --git a/libs/miniupnpc/minixml.h b/libs/miniupnpc/src/minixml.h
similarity index 83%
rename from libs/miniupnpc/minixml.h
rename to libs/miniupnpc/src/minixml.h
index 857c70ee93..0a9fc08b72 100644
--- a/libs/miniupnpc/minixml.h
+++ b/libs/miniupnpc/src/minixml.h
@@ -1,4 +1,4 @@
-/* $Id: minixml.h,v 1.6 2006/11/30 11:47:21 nanard Exp $ */
+/* $Id: minixml.h,v 1.8 2019/02/10 12:29:25 nanard Exp $ */
 /* minimal xml parser
  *
  * Project : miniupnp
@@ -8,9 +8,9 @@
  * This software is subject to the conditions detailed in the
  * LICENCE file provided in this distribution.
  * */
-#ifndef __MINIXML_H__
-#define __MINIXML_H__
-#define IS_WHITE_SPACE(c) ((c==' ') || (c=='\t') || (c=='\r') || (c=='\n'))
+#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 */
diff --git a/libs/miniupnpc/minixmlvalid.c b/libs/miniupnpc/src/minixmlvalid.c
similarity index 94%
rename from libs/miniupnpc/minixmlvalid.c
rename to libs/miniupnpc/src/minixmlvalid.c
index 766211bcfb..dad1488122 100644
--- a/libs/miniupnpc/minixmlvalid.c
+++ b/libs/miniupnpc/src/minixmlvalid.c
@@ -1,4 +1,4 @@
-/* $Id: minixmlvalid.c,v 1.4 2011/02/07 13:44:57 nanard Exp $ */
+/* $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/
  * minixmlvalid.c :
@@ -32,7 +32,7 @@ int evtlistcmp(struct eventlist * a, struct eventlist * b)
 	if(a->n != b->n)
 	{
 		printf("event number not matching : %d != %d\n", a->n, b->n);
-		//return 1;
+		/*return 1;*/
 	}
 	for(i=0; i<a->n; i++)
 	{
@@ -82,7 +82,7 @@ static const struct event evtref[] =
 	{ELTEND, "elt2b", 5},
 	{ELTEND, "elt2a", 5},
 	{ELTEND, "xmlroot", 7}
-};	
+};
 
 void startelt(void * data, const char * p, int l)
 {
@@ -128,6 +128,11 @@ int testxmlparser(const char * xml, int size)
 	struct xmlparser parser;
 	evtlist.n = 0;
 	evtlist.events = malloc(sizeof(struct event)*100);
+	if(evtlist.events == NULL)
+	{
+		fprintf(stderr, "Memory allocation error.\n");
+		return -1;
+	}
 	memset(&parser, 0, sizeof(parser));
 	parser.xmlstart = xml;
 	parser.xmlsize = size;
@@ -148,6 +153,8 @@ int testxmlparser(const char * xml, int size)
 int main(int argc, char * * argv)
 {
 	int r;
+	(void)argc; (void)argv;
+
 	r = testxmlparser(xmldata, sizeof(xmldata)-1);
 	if(r)
 		printf("minixml validation test failed\n");
diff --git a/libs/miniupnpc/portlistingparse.c b/libs/miniupnpc/src/portlistingparse.c
similarity index 81%
rename from libs/miniupnpc/portlistingparse.c
rename to libs/miniupnpc/src/portlistingparse.c
index e09e80f39c..54e5696efa 100644
--- a/libs/miniupnpc/portlistingparse.c
+++ b/libs/miniupnpc/src/portlistingparse.c
@@ -1,14 +1,22 @@
-/* $Id: portlistingparse.c,v 1.4 2011/03/18 11:02:17 nanard Exp $ */
+/* $Id: portlistingparse.c,v 1.11 2020/03/22 22:43:44 nanard Exp $ */
 /* MiniUPnP project
  * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
- * (c) 2011 Thomas Bernard 
+ * (c) 2011-2020 Thomas Bernard
  * This software is subject to the conditions detailed
  * in the LICENCE file provided within the distribution */
 #include <string.h>
 #include <stdlib.h>
+#ifdef DEBUG
+#include <stdio.h>
+#endif /* DEBUG */
 #include "portlistingparse.h"
 #include "minixml.h"
 
+#if defined(__HAIKU__)
+/* rename our private function because Haiku already defines a atoui() function */
+#define atoui atoui2
+#endif 
+
 /* list of the elements */
 static const struct {
 	const portMappingElt code;
@@ -52,7 +60,7 @@ startelt(void * d, const char * name, int l)
 	pdata->curelt = PortMappingEltNone;
 	for(i = 0; elements[i].str; i++)
 	{
-		if(memcmp(name, elements[i].str, l) == 0)
+		if(strlen(elements[i].str) == (size_t)l && memcmp(name, elements[i].str, l) == 0)
 		{
 			pdata->curelt = elements[i].code;
 			break;
@@ -62,7 +70,17 @@ startelt(void * d, const char * name, int l)
 	{
 		struct PortMapping * pm;
 		pm = calloc(1, sizeof(struct PortMapping));
-		LIST_INSERT_HEAD( &(pdata->head), pm, entries);
+		if(pm == NULL)
+		{
+			/* malloc error */
+#ifdef DEBUG
+			fprintf(stderr, "%s: error allocating memory",
+			        "startelt");
+#endif /* DEBUG */
+			return;
+		}
+		pm->l_next = pdata->l_head;	/* insert in list */
+		pdata->l_head = pm;
 	}
 }
 
@@ -71,6 +89,8 @@ static void
 endelt(void * d, const char * name, int l)
 {
 	struct PortMappingParserData * pdata = (struct PortMappingParserData *)d;
+	(void)name;
+	(void)l;
 	pdata->curelt = PortMappingEltNone;
 }
 
@@ -80,7 +100,7 @@ data(void * d, const char * data, int l)
 {
 	struct PortMapping * pm;
 	struct PortMappingParserData * pdata = (struct PortMappingParserData *)d;
-	pm = pdata->head.lh_first;
+	pm = pdata->l_head;
 	if(!pm)
 		return;
 	if(l > 63)
@@ -132,7 +152,6 @@ ParsePortListing(const char * buffer, int bufsize,
 	struct xmlparser parser;
 
 	memset(pdata, 0, sizeof(struct PortMappingParserData));
-	LIST_INIT(&(pdata->head));
 	/* init xmlparser */
 	parser.xmlstart = buffer;
 	parser.xmlsize = bufsize;
@@ -148,9 +167,10 @@ void
 FreePortListing(struct PortMappingParserData * pdata)
 {
 	struct PortMapping * pm;
-	while((pm = pdata->head.lh_first) != NULL)
+	while((pm = pdata->l_head) != NULL)
 	{
-		LIST_REMOVE(pm, entries);
+		/* remove from list */
+		pdata->l_head = pm->l_next;
 		free(pm);
 	}
 }
diff --git a/libs/miniupnpc/src/receivedata.c b/libs/miniupnpc/src/receivedata.c
new file mode 100644
index 0000000000..7f187f6e56
--- /dev/null
+++ b/libs/miniupnpc/src/receivedata.c
@@ -0,0 +1,105 @@
+/* $Id: receivedata.c,v 1.10 2021/03/02 23:33:07 nanard Exp $ */
+/* Project : miniupnp
+ * Website : http://miniupnp.free.fr/
+ * Author : Thomas Bernard
+ * Copyright (c) 2011-2021 Thomas Bernard
+ * This software is subject to the conditions detailed in the
+ * LICENCE file provided in this distribution. */
+
+#include <stdio.h>
+#include <string.h>
+#ifdef _WIN32
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#else /* _WIN32 */
+#include <unistd.h>
+#if defined(__amigaos__) && !defined(__amigaos4__)
+#define socklen_t int
+#else /* #if defined(__amigaos__) && !defined(__amigaos4__) */
+#include <sys/select.h>
+#endif /* #else defined(__amigaos__) && !defined(__amigaos4__) */
+#include <sys/socket.h>
+#include <netinet/in.h>
+#if !defined(__amigaos__) && !defined(__amigaos4__)
+#include <poll.h>
+#endif	/* !defined(__amigaos__) && !defined(__amigaos4__) */
+#include <errno.h>
+#define MINIUPNPC_IGNORE_EINTR
+#endif /* _WIN32 */
+
+#include "receivedata.h"
+
+int
+receivedata(SOCKET socket,
+            char * data, int length,
+            int timeout, unsigned int * scope_id)
+{
+#ifdef MINIUPNPC_GET_SRC_ADDR
+	struct sockaddr_storage src_addr;
+	socklen_t src_addr_len = sizeof(src_addr);
+#endif	/* MINIUPNPC_GET_SRC_ADDR */
+    int n;
+#if !defined(_WIN32) && !defined(__amigaos__) && !defined(__amigaos4__)
+	/* using poll */
+    struct pollfd fds[1]; /* for the poll */
+#ifdef MINIUPNPC_IGNORE_EINTR
+    do {
+#endif	/* MINIUPNPC_IGNORE_EINTR */
+        fds[0].fd = socket;
+        fds[0].events = POLLIN;
+        n = poll(fds, 1, timeout);
+#ifdef MINIUPNPC_IGNORE_EINTR
+    } while(n < 0 && errno == EINTR);
+#endif	/* MINIUPNPC_IGNORE_EINTR */
+    if(n < 0) {
+        PRINT_SOCKET_ERROR("poll");
+        return -1;
+    } else if(n == 0) {
+		/* timeout */
+        return 0;
+    }
+#else	/* !defined(_WIN32) && !defined(__amigaos__) && !defined(__amigaos4__) */
+	/* using select under _WIN32 and amigaos */
+    fd_set socketSet;
+    TIMEVAL timeval;
+    FD_ZERO(&socketSet);
+    FD_SET(socket, &socketSet);
+    timeval.tv_sec = timeout / 1000;
+    timeval.tv_usec = (timeout % 1000) * 1000;
+    n = select(FD_SETSIZE, &socketSet, NULL, NULL, &timeval);
+    if(n < 0) {
+        PRINT_SOCKET_ERROR("select");
+        return -1;
+    } else if(n == 0) {
+        return 0;
+    }
+#endif	/* !defined(_WIN32) && !defined(__amigaos__) && !defined(__amigaos4__) */
+#ifdef MINIUPNPC_GET_SRC_ADDR
+	memset(&src_addr, 0, sizeof(src_addr));
+	n = recvfrom(socket, data, length, 0,
+	             (struct sockaddr *)&src_addr, &src_addr_len);
+#else	/* MINIUPNPC_GET_SRC_ADDR */
+	n = recv(socket, data, length, 0);
+#endif	/* MINIUPNPC_GET_SRC_ADDR */
+	if(n<0) {
+		PRINT_SOCKET_ERROR("recv");
+	}
+#ifdef MINIUPNPC_GET_SRC_ADDR
+	if (src_addr.ss_family == AF_INET6) {
+		const struct sockaddr_in6 * src_addr6 = (struct sockaddr_in6 *)&src_addr;
+#ifdef DEBUG
+		printf("scope_id=%u\n", src_addr6->sin6_scope_id);
+#endif	/* DEBUG */
+		if(scope_id)
+			*scope_id = src_addr6->sin6_scope_id;
+	} else {
+		if(scope_id)
+			*scope_id = 0;
+	}
+#else	/* MINIUPNPC_GET_SRC_ADDR */
+	if(scope_id)
+		*scope_id = 0;
+#endif	/* MINIUPNPC_GET_SRC_ADDR */
+	return n;
+}
+
diff --git a/libs/miniupnpc/src/receivedata.h b/libs/miniupnpc/src/receivedata.h
new file mode 100644
index 0000000000..4dce3f3b4e
--- /dev/null
+++ b/libs/miniupnpc/src/receivedata.h
@@ -0,0 +1,21 @@
+/* $Id: receivedata.h,v 1.5 2018/04/06 10:53:15 nanard Exp $ */
+/* Project: miniupnp
+ * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
+ * Author: Thomas Bernard
+ * Copyright (c) 2011-2018 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
+
+#include "miniupnpc_socketdef.h"
+
+/* 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(SOCKET socket,
+                char * data, int length,
+                int timeout, unsigned int * scope_id);
+
+#endif
+
diff --git a/libs/miniupnpc/src/testaddr_is_reserved.c b/libs/miniupnpc/src/testaddr_is_reserved.c
new file mode 100644
index 0000000000..313f0daa4a
--- /dev/null
+++ b/libs/miniupnpc/src/testaddr_is_reserved.c
@@ -0,0 +1,46 @@
+/* $Id: testaddr_is_reserved.c,v 1.1 2020/10/15 22:12:51 nanard Exp $ */
+/* vim: tabstop=4 shiftwidth=4 noexpandtab
+ * Project : miniupnp
+ * Web : http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
+ * Author : Thomas BERNARD
+ * copyright (c) 2005-2020 Thomas Bernard
+ * This software is subjet to the conditions detailed in the
+ * provided LICENSE file. */
+#include <stdio.h>
+#include "addr_is_reserved.h"
+
+static const struct {
+	const char * str;
+	int expected_result;
+} tests[] = {
+{ "0.0.0.0", 1 },
+{ "8.8.8.8", 0 },
+{ "192.168.1.1", 1 },
+{ "10.250.42.12", 1 },
+{ "11.250.42.12", 0 },
+{ "172.31.1.1", 1 },
+{ "172.32.1.1", 0 },
+{ "169.254.42.42", 1 },
+{ "192.0.0.11", 1 },
+{ "198.0.0.11", 0 },
+{ "198.18.0.11", 1 },
+{ "100.64.1.1", 1 },
+{ "100.127.1.1", 1 },
+{ "100.128.1.1", 0 },
+{ NULL, 0 }
+};
+
+int main(int argc, char * * argv) {
+	int i, result;
+	(void)argc; (void)argv;
+
+	for (i = 0; tests[i].str != NULL; i++) {
+		result = addr_is_reserved(tests[i].str);
+		printf("testing %s %d %d\n", tests[i].str, tests[i].expected_result, result);
+		if (result != tests[i].expected_result) {
+			fprintf(stderr, "*** FAILURE ***\n");
+			return 1;	/* Failure */
+		}
+	}
+	return 0;	/* success */
+}
diff --git a/libs/miniupnpc/src/testigddescparse.c b/libs/miniupnpc/src/testigddescparse.c
new file mode 100644
index 0000000000..cdc765de4f
--- /dev/null
+++ b/libs/miniupnpc/src/testigddescparse.c
@@ -0,0 +1,187 @@
+/* $Id: testigddescparse.c,v 1.11 2019/02/10 12:33:32 nanard Exp $ */
+/* Project : miniupnp
+ * http://miniupnp.free.fr/
+ * Author : Thomas Bernard
+ * Copyright (c) 2008-2015 Thomas Bernard
+ * This software is subject to the conditions detailed in the
+ * LICENCE file provided in this distribution.
+ * */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "igd_desc_parse.h"
+#include "minixml.h"
+#include "miniupnpc.h"
+
+/* count number of differences */
+int compare_service(struct IGDdatas_service * s, FILE * f)
+{
+	int n = 0;
+	char line[1024];
+
+	while(fgets(line, sizeof(line), f)) {
+		char * value;
+		char * equal;
+		char * name;
+		char * parsedvalue;
+		int l;
+		l = strlen(line);
+		while((l > 0) && ((line[l-1] == '\r') || (line[l-1] == '\n') || (line[l-1] == ' ')))
+			line[--l] = '\0';
+		if(l == 0)
+			break;	/* end on blank line */
+		if(line[0] == '#')
+			continue;	/* skip comments */
+		equal = strchr(line, '=');
+		if(equal == NULL) {
+			fprintf(stderr, "Warning, line does not contain '=' : %s\n", line);
+			continue;
+		}
+		*equal = '\0';
+		name = line;
+		while(*name == ' ' || *name == '\t')
+			name++;
+		l = strlen(name);
+		while((l > 0) && (name[l-1] == ' ' || name[l-1] == '\t'))
+			name[--l] = '\0';
+		value = equal + 1;
+		while(*value == ' ' || *value == '\t')
+			value++;
+		if(strcmp(name, "controlurl") == 0)
+			parsedvalue = s->controlurl;
+		else if(strcmp(name, "eventsuburl") == 0)
+			parsedvalue = s->eventsuburl;
+		else if(strcmp(name, "scpdurl") == 0)
+			parsedvalue = s->scpdurl;
+		else if(strcmp(name, "servicetype") == 0)
+			parsedvalue = s->servicetype;
+		else {
+			fprintf(stderr, "unknown field '%s'\n", name);
+			continue;
+		}
+		if(0 != strcmp(parsedvalue, value)) {
+			fprintf(stderr, "difference : '%s' != '%s'\n", parsedvalue, value);
+			n++;
+		}
+	}
+	return n;
+}
+
+int compare_igd(struct IGDdatas * p, FILE * f)
+{
+	int n = 0;
+	char line[1024];
+	struct IGDdatas_service * s;
+
+	while(fgets(line, sizeof(line), f)) {
+		char * colon;
+		int l = (int)strlen(line);
+		while((l > 0) && (line[l-1] == '\r' || (line[l-1] == '\n')))
+			line[--l] = '\0';
+		if(l == 0 || line[0] == '#')
+			continue;	/* skip blank lines and comments */
+		colon = strchr(line, ':');
+		if(colon == NULL) {
+			fprintf(stderr, "Warning, no ':' : %s\n", line);
+			continue;
+		}
+		s = NULL;
+		*colon = '\0';
+		if(strcmp(line, "CIF") == 0)
+			s = &p->CIF;
+		else if(strcmp(line, "first") == 0)
+			s = &p->first;
+		else if(strcmp(line, "second") == 0)
+			s = &p->second;
+		else if(strcmp(line, "IPv6FC") == 0)
+			s = &p->IPv6FC;
+		else {
+			s = NULL;
+			fprintf(stderr, "*** unknown service '%s' ***\n", line);
+			n++;
+			continue;
+		}
+		n += compare_service(s, f);
+	}
+	if(n > 0)
+		fprintf(stderr, "*** %d difference%s ***\n", n, (n > 1) ? "s" : "");
+	return n;
+}
+
+int test_igd_desc_parse(char * buffer, int len, FILE * f)
+{
+	int n;
+	struct IGDdatas igd;
+	struct xmlparser parser;
+	struct UPNPUrls urls;
+
+	memset(&igd, 0, sizeof(struct IGDdatas));
+	memset(&parser, 0, sizeof(struct xmlparser));
+	parser.xmlstart = buffer;
+	parser.xmlsize = len;
+	parser.data = &igd;
+	parser.starteltfunc = IGDstartelt;
+	parser.endeltfunc = IGDendelt;
+	parser.datafunc = IGDdata;
+	parsexml(&parser);
+#ifdef DEBUG
+	printIGD(&igd);
+#endif /* DEBUG */
+	GetUPNPUrls(&urls, &igd, "http://fake/desc/url/file.xml", 0);
+	printf("ipcondescURL='%s'\n", urls.ipcondescURL);
+	printf("controlURL='%s'\n", urls.controlURL);
+	printf("controlURL_CIF='%s'\n", urls.controlURL_CIF);
+	n = f ? compare_igd(&igd, f) : 0;
+	FreeUPNPUrls(&urls);
+	return n;
+}
+
+int main(int argc, char * * argv)
+{
+	FILE * f;
+	char * buffer;
+	int len;
+	int r;
+	if(argc<2) {
+		fprintf(stderr, "Usage: %s file.xml [file.values]\n", argv[0]);
+		return 1;
+	}
+	f = fopen(argv[1], "rb");
+	if(!f) {
+		fprintf(stderr, "Cannot open %s for reading.\n", argv[1]);
+		return 1;
+	}
+	fseek(f, 0, SEEK_END);
+	len = ftell(f);
+	fseek(f, 0, SEEK_SET);
+	buffer = malloc(len);
+	if(!buffer) {
+		fprintf(stderr, "Memory allocation error.\n");
+		fclose(f);
+		return 1;
+	}
+	r = (int)fread(buffer, 1, len, f);
+	if(r != len) {
+		fprintf(stderr, "Failed to read file %s. %d out of %d bytes.\n",
+		        argv[1], r, len);
+		fclose(f);
+		free(buffer);
+		return 1;
+	}
+	fclose(f);
+	f = NULL;
+	if(argc > 2) {
+		f = fopen(argv[2], "rb");
+		if(!f) {
+			fprintf(stderr, "Cannot open %s for reading.\n", argv[2]);
+			free(buffer);
+			return 1;
+		}
+	}
+	r = test_igd_desc_parse(buffer, len, f);
+	free(buffer);
+	if(f)
+		fclose(f);
+	return r;
+}
+
diff --git a/libs/miniupnpc/testminiwget.c b/libs/miniupnpc/src/testminiwget.c
similarity index 70%
rename from libs/miniupnpc/testminiwget.c
rename to libs/miniupnpc/src/testminiwget.c
index b68fbfeed6..cfbb224de7 100644
--- a/libs/miniupnpc/testminiwget.c
+++ b/libs/miniupnpc/src/testminiwget.c
@@ -1,7 +1,8 @@
-/* $Id: testminiwget.c,v 1.3 2011/05/06 16:33:53 nanard Exp $ */
-/* Project : miniupnp
+/* $Id: testminiwget.c,v 1.7 2018/01/16 01:01:05 nanard Exp $ */
+/* vim: tabstop=4 shiftwidth=4 noexpandtab
+ * Project : miniupnp
  * Author : Thomas Bernard
- * Copyright (c) 2005-2011 Thomas Bernard
+ * Copyright (c) 2005-2018 Thomas Bernard
  * This software is subject to the conditions detailed in the
  * LICENCE file provided in this distribution.
  * */
@@ -11,7 +12,7 @@
 
 /**
  * This program uses the miniwget / miniwget_getaddr function
- * from miniwget.c in order to retreive a web ressource using
+ * from miniwget.c in order to retrieve a web ressource using
  * a GET HTTP method, and store it in a file.
  */
 int main(int argc, char * * argv)
@@ -20,15 +21,17 @@ int main(int argc, char * * argv)
 	int size, writtensize;
 	FILE *f;
 	char addr[64];
+	int status_code = -1;
+
 	if(argc < 3) {
 		fprintf(stderr, "Usage:\t%s url file\n", argv[0]);
 		fprintf(stderr, "Example:\t%s http://www.google.com/ out.html\n", argv[0]);
 		return 1;
 	}
-	/*data = miniwget(argv[1], &size);*/
-	data = miniwget_getaddr(argv[1], &size, addr, sizeof(addr));
-	if(!data) {
-		fprintf(stderr, "Error fetching %s\n", argv[1]);
+	data = miniwget_getaddr(argv[1], &size, addr, sizeof(addr), 0, &status_code);
+	if(!data || (status_code != 200)) {
+		if(data) free(data);
+		fprintf(stderr, "Error %d fetching %s\n", status_code, argv[1]);
 		return 1;
 	}
 	printf("local address : %s\n", addr);
diff --git a/libs/miniupnpc/testminixml.c b/libs/miniupnpc/src/testminixml.c
similarity index 82%
rename from libs/miniupnpc/testminixml.c
rename to libs/miniupnpc/src/testminixml.c
index 3d82527b77..57c4a85eb2 100644
--- a/libs/miniupnpc/testminixml.c
+++ b/libs/miniupnpc/src/testminixml.c
@@ -1,7 +1,11 @@
-/* $Id: testminixml.c,v 1.6 2006/11/19 22:32:35 nanard Exp $
+/* $Id: testminixml.c,v 1.10 2014/11/17 17:19:13 nanard Exp $
+ * MiniUPnP project
+ * Website : http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
+ * Author : Thomas Bernard.
+ * Copyright (c) 2005-2014 Thomas Bernard
+ *
  * testminixml.c
  * test program for the "minixml" functions.
- * Author : Thomas Bernard.
  */
 #include <stdlib.h>
 #include <stdio.h>
@@ -9,18 +13,11 @@
 #include "minixml.h"
 #include "igd_desc_parse.h"
 
-#ifdef WIN32
-#define NO_BZERO
-#endif
-
-#ifdef NO_BZERO
-#define bzero(p, n) memset(p, 0, n)
-#endif
-
 /* ---------------------------------------------------------------------- */
 void printeltname1(void * d, const char * name, int l)
 {
 	int i;
+	(void)d;
 	printf("element ");
 	for(i=0;i<l;i++)
 		putchar(name[i]);
@@ -28,6 +25,7 @@ void printeltname1(void * d, const char * name, int l)
 void printeltname2(void * d, const char * name, int l)
 {
 	int i;
+	(void)d;
 	putchar('/');
 	for(i=0;i<l;i++)
 		putchar(name[i]);
@@ -36,6 +34,7 @@ void printeltname2(void * d, const char * name, int l)
 void printdata(void *d, const char * data, int l)
 {
 	int i;
+	(void)d;
 	printf("data : ");
 	for(i=0;i<l;i++)
 		putchar(data[i]);
@@ -47,7 +46,7 @@ void burptest(const char * buffer, int bufsize)
 	struct IGDdatas data;
 	struct xmlparser parser;
 	/*objet IGDdatas */
-	bzero(&data, sizeof(struct IGDdatas));
+	memset(&data, 0, sizeof(struct IGDdatas));
 	/* objet xmlparser */
 	parser.xmlstart = buffer;
 	parser.xmlsize = bufsize;
@@ -57,9 +56,11 @@ void burptest(const char * buffer, int bufsize)
 	parser.datafunc = printdata; */
 	parser.starteltfunc = IGDstartelt;
 	parser.endeltfunc = IGDendelt;
-	parser.datafunc = IGDdata; 
+	parser.datafunc = IGDdata;
 	parsexml(&parser);
+#ifdef DEBUG
 	printIGD(&data);
+#endif /* DEBUG */
 }
 
 /* ----- main ---- */
diff --git a/libs/miniupnpc/src/testportlistingparse.c b/libs/miniupnpc/src/testportlistingparse.c
new file mode 100644
index 0000000000..bd9247dca7
--- /dev/null
+++ b/libs/miniupnpc/src/testportlistingparse.c
@@ -0,0 +1,151 @@
+/* $Id: testportlistingparse.c,v 1.2 2014/11/01 10:37:32 nanard Exp $ */
+/* Project : miniupnp
+ * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
+ * Author : Thomas Bernard
+ * Copyright (c) 2014 Thomas Bernard
+ * This software is subject to the conditions detailed in the
+ * LICENCE file provided in this distribution.
+ * */
+
+#include <string.h>
+#include <stdio.h>
+#include "portlistingparse.h"
+
+struct port_mapping {
+	unsigned int leasetime;
+	unsigned short externalport;
+	unsigned short internalport;
+	const char * remotehost;
+	const char * client;
+	const char * proto;
+	const char * desc;
+	unsigned char enabled;
+};
+
+/* return the number of differences */
+int test(const char * portListingXml, int portListingXmlLen,
+         const struct port_mapping * ref, int count)
+{
+	int i;
+	int r = 0;
+	struct PortMappingParserData data;
+	struct PortMapping * pm;
+
+	memset(&data, 0, sizeof(data));
+	ParsePortListing(portListingXml, portListingXmlLen, &data);
+	for(i = 0, pm = data.l_head;
+	    (pm != NULL) && (i < count);
+	    i++, pm = pm->l_next) {
+		printf("%2d %s %5hu->%s:%-5hu '%s' '%s' %u\n",
+		       i, pm->protocol, pm->externalPort, pm->internalClient,
+		       pm->internalPort,
+		       pm->description, pm->remoteHost,
+		       (unsigned)pm->leaseTime);
+		if(0 != strcmp(pm->protocol, ref[i].proto)) {
+			printf("protocol : '%s' != '%s'\n", pm->protocol, ref[i].proto);
+			r++;
+		}
+		if(pm->externalPort != ref[i].externalport) {
+			printf("externalPort : %hu != %hu\n",
+			       pm->externalPort, ref[i].externalport);
+			r++;
+		}
+		if(0 != strcmp(pm->internalClient, ref[i].client)) {
+			printf("client : '%s' != '%s'\n",
+			       pm->internalClient, ref[i].client);
+			r++;
+		}
+		if(pm->internalPort != ref[i].internalport) {
+			printf("internalPort : %hu != %hu\n",
+			       pm->internalPort, ref[i].internalport);
+			r++;
+		}
+		if(0 != strcmp(pm->description, ref[i].desc)) {
+			printf("description : '%s' != '%s'\n",
+			       pm->description, ref[i].desc);
+			r++;
+		}
+		if(0 != strcmp(pm->remoteHost, ref[i].remotehost)) {
+			printf("remoteHost : '%s' != '%s'\n",
+			       pm->remoteHost, ref[i].remotehost);
+			r++;
+		}
+		if((unsigned)pm->leaseTime != ref[i].leasetime) {
+			printf("leaseTime : %u != %u\n",
+			       (unsigned)pm->leaseTime, ref[i].leasetime);
+			r++;
+		}
+		if(pm->enabled != ref[i].enabled) {
+			printf("enabled : %d != %d\n",
+			       (int)pm->enabled, (int)ref[i].enabled);
+			r++;
+		}
+	}
+	if((i != count) || (pm != NULL)) {
+		printf("count mismatch : i=%d count=%d pm=%p\n", i, count, pm);
+		r++;
+	}
+	FreePortListing(&data);
+	return r;
+}
+
+const char test_document[] =
+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<p:PortMappingList xmlns:p=\"urn:schemas-upnp-org:gw:WANIPConnection\"\n"
+"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n"
+"xsi:schemaLocation=\"urn:schemas-upnp-org:gw:WANIPConnection "
+"http://www.upnp.org/schemas/gw/WANIPConnection-v2.xsd\">\n"
+" <p:PortMappingEntry>\n"
+"  <p:NewRemoteHost></p:NewRemoteHost>\n"
+"  <p:NewExternalPort>5002</p:NewExternalPort>\n"
+"  <p:NewProtocol>UDP</p:NewProtocol>\n"
+"  <p:NewInternalPort>4001</p:NewInternalPort>\n"
+"  <p:NewInternalClient>192.168.1.123</p:NewInternalClient>\n"
+"  <p:NewEnabled>1</p:NewEnabled>\n"
+"  <p:NewDescription>xxx</p:NewDescription>\n"
+"  <p:NewLeaseTime>0</p:NewLeaseTime>\n"
+" </p:PortMappingEntry>\n"
+" <p:PortMappingEntry>\n"
+"  <p:NewRemoteHost>202.233.2.1</p:NewRemoteHost>\n"
+"  <p:NewExternalPort>2345</p:NewExternalPort>\n"
+"  <p:NewProtocol>TCP</p:NewProtocol>\n"
+"  <p:NewInternalPort>2349</p:NewInternalPort>\n"
+"  <p:NewInternalClient>192.168.1.137</p:NewInternalClient>\n"
+"  <p:NewEnabled>1</p:NewEnabled>\n"
+"  <p:NewDescription>dooom</p:NewDescription>\n"
+"  <p:NewLeaseTime>346</p:NewLeaseTime>\n"
+" </p:PortMappingEntry>\n"
+" <p:PortMappingEntry>\n"
+"  <p:NewRemoteHost>134.231.2.11</p:NewRemoteHost>\n"
+"  <p:NewExternalPort>12345</p:NewExternalPort>\n"
+"  <p:NewProtocol>TCP</p:NewProtocol>\n"
+"  <p:NewInternalPort>12345</p:NewInternalPort>\n"
+"  <p:NewInternalClient>192.168.1.137</p:NewInternalClient>\n"
+"  <p:NewEnabled>1</p:NewEnabled>\n"
+"  <p:NewDescription>dooom A</p:NewDescription>\n"
+"  <p:NewLeaseTime>347</p:NewLeaseTime>\n"
+" </p:PortMappingEntry>\n"
+"</p:PortMappingList>";
+
+#define PORT_MAPPINGS_COUNT 3
+const struct port_mapping port_mappings[PORT_MAPPINGS_COUNT] = {
+{347, 12345, 12345, "134.231.2.11", "192.168.1.137", "TCP", "dooom A", 1},
+{346, 2345, 2349, "202.233.2.1", "192.168.1.137", "TCP", "dooom", 1},
+{0, 5002, 4001, "", "192.168.1.123", "UDP", "xxx", 1}
+};
+
+/* --- main --- */
+int main(void)
+{
+	int r;
+	r = test(test_document, sizeof(test_document) - 1,
+	         port_mappings, PORT_MAPPINGS_COUNT);
+	if(r == 0) {
+		printf("test of portlistingparse OK\n");
+		return 0;
+	} else {
+		printf("test FAILED (%d differences counted)\n", r);
+		return 1;
+	}
+}
+
diff --git a/libs/miniupnpc/src/testupnpreplyparse.c b/libs/miniupnpc/src/testupnpreplyparse.c
new file mode 100644
index 0000000000..ed3c3fe0df
--- /dev/null
+++ b/libs/miniupnpc/src/testupnpreplyparse.c
@@ -0,0 +1,115 @@
+/* $Id: testupnpreplyparse.c,v 1.5 2017/12/12 11:18:46 nanard Exp $ */
+/* MiniUPnP project
+ * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
+ * (c) 2006-2017 Thomas Bernard
+ * This software is subject to the conditions detailed
+ * in the LICENCE file provided within the distribution */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include "upnpreplyparse.h"
+
+int
+test_parsing(const char * buf, int len, FILE * f)
+{
+	char line[1024];
+	struct NameValueParserData pdata;
+	int ok = 1;
+	ParseNameValue(buf, len, &pdata);
+	/* check result */
+	if(f != NULL)
+	{
+		while(fgets(line, sizeof(line), f))
+		{
+			char * value;
+			char * equal;
+			char * parsedvalue;
+			int l;
+			l = strlen(line);
+			while((l > 0) && ((line[l-1] == '\r') || (line[l-1] == '\n')))
+				line[--l] = '\0';
+			/* skip empty lines */
+			if(l == 0)
+				continue;
+			equal = strchr(line, '=');
+			if(equal == NULL)
+			{
+				fprintf(stderr, "Warning, line does not contain '=' : %s\n", line);
+				continue;
+			}
+			*equal = '\0';
+			value = equal + 1;
+			parsedvalue = GetValueFromNameValueList(&pdata, line);
+			if((parsedvalue == NULL) || (strcmp(parsedvalue, value) != 0))
+			{
+				fprintf(stderr, "Element <%s> : expecting value '%s', got '%s'\n",
+				        line, value, parsedvalue ? parsedvalue : "<null string>");
+				ok = 0;
+			}
+		}
+	}
+	ClearNameValueList(&pdata);
+	return ok;
+}
+
+int main(int argc, char * * argv)
+{
+	FILE * f;
+	char * buffer;
+	long l;
+	int ok;
+
+	if(argc<2)
+	{
+		fprintf(stderr, "Usage: %s file.xml [file.namevalues]\n", argv[0]);
+		return 1;
+	}
+	f = fopen(argv[1], "r");
+	if(!f)
+	{
+		fprintf(stderr, "Error : can not open file %s\n", argv[1]);
+		return 2;
+	}
+	if(fseek(f, 0, SEEK_END) < 0) {
+		perror("fseek");
+		return 1;
+	}
+	l = (int)ftell(f);
+	if(l < 0) {
+		perror("ftell");
+		return 1;
+	}
+	if(fseek(f, 0, SEEK_SET) < 0) {
+		perror("fseek");
+		return 1;
+	}
+	buffer = malloc(l + 1);
+	if(buffer == NULL) {
+		fprintf(stderr, "Error: failed to allocate %ld bytes\n", l+1);
+		return 1;
+	}
+	l = fread(buffer, 1, l, f);
+	fclose(f);
+	f = NULL;
+	buffer[l] = '\0';
+	if(argc > 2)
+	{
+		f = fopen(argv[2], "r");
+		if(!f)
+		{
+			fprintf(stderr, "Error : can not open file %s\n", argv[2]);
+			return 2;
+		}
+	}
+#ifdef DEBUG
+	DisplayNameValueList(buffer, l);
+#endif
+	ok = test_parsing(buffer, l, f);
+	if(f)
+	{
+		fclose(f);
+	}
+	free(buffer);
+	return ok ? 0 : 3;
+}
+
diff --git a/libs/miniupnpc/upnpc.c b/libs/miniupnpc/src/upnpc.c
similarity index 59%
rename from libs/miniupnpc/upnpc.c
rename to libs/miniupnpc/src/upnpc.c
index b136d9d1ff..23bb27830b 100644
--- a/libs/miniupnpc/upnpc.c
+++ b/libs/miniupnpc/src/upnpc.c
@@ -1,7 +1,7 @@
-/* $Id: upnpc.c,v 1.88 2011/06/17 23:31:01 nanard Exp $ */
+/* $Id: upnpc.c,v 1.134 2023/06/11 23:23:10 nanard Exp $ */
 /* Project : miniupnp
  * Author : Thomas Bernard
- * Copyright (c) 2005-2011 Thomas Bernard
+ * Copyright (c) 2005-2023 Thomas Bernard
  * This software is subject to the conditions detailed in the
  * LICENCE file provided in this distribution. */
 
@@ -9,16 +9,22 @@
 #include <stdlib.h>
 #include <string.h>
 #include <time.h>
-#ifdef WIN32
+#ifdef _WIN32
 #include <winsock2.h>
-#define snprintf _snprintf
+#include "win32_snprintf.h"
+#else
+/* for IPPROTO_TCP / IPPROTO_UDP */
+#include <netinet/in.h>
 #endif
+#include <ctype.h>
 #include "miniwget.h"
 #include "miniupnpc.h"
 #include "upnpcommands.h"
+#include "portlistingparse.h"
 #include "upnperrors.h"
+#include "miniupnpcstrings.h"
 
-/* protofix() checks if protocol is "UDP" or "TCP" 
+/* protofix() checks if protocol is "UDP" or "TCP"
  * returns NULL if not */
 const char * protofix(const char * proto)
 {
@@ -26,7 +32,7 @@ const char * protofix(const char * proto)
 	static const char proto_udp[4] = { 'U', 'D', 'P', 0};
 	int i, b;
 	for(i=0, b=1; i<4; i++)
-		b = b && (   (proto[i] == proto_tcp[i]) 
+		b = b && (   (proto[i] == proto_tcp[i])
 		          || (proto[i] == (proto_tcp[i] | 32)) );
 	if(b)
 		return proto_tcp;
@@ -38,6 +44,22 @@ const char * protofix(const char * proto)
 	return 0;
 }
 
+/* is_int() checks if parameter is an integer or not
+ * 1 for integer
+ * 0 for not an integer */
+int is_int(char const* s)
+{
+	if(s == NULL)
+		return 0;
+	while(*s) {
+		/* #define isdigit(c) ((c) >= '0' && (c) <= '9') */
+		if(!isdigit(*s))
+			return 0;
+		s++;
+	}
+	return 1;
+}
+
 static void DisplayInfos(struct UPNPUrls * urls,
                          struct IGDdatas * data)
 {
@@ -45,48 +67,55 @@ static void DisplayInfos(struct UPNPUrls * urls,
 	char connectionType[64];
 	char status[64];
 	char lastconnerr[64];
-	unsigned int uptime;
+	unsigned int uptime = 0;
 	unsigned int brUp, brDown;
 	time_t timenow, timestarted;
 	int r;
-	UPNP_GetConnectionTypeInfo(urls->controlURL,
-	                           data->first.servicetype,
-							   connectionType);
-	if(connectionType[0])
+	if(UPNP_GetConnectionTypeInfo(urls->controlURL,
+	                              data->first.servicetype,
+	                              connectionType) != UPNPCOMMAND_SUCCESS)
+		printf("GetConnectionTypeInfo failed.\n");
+	else
 		printf("Connection Type : %s\n", connectionType);
+	if(UPNP_GetStatusInfo(urls->controlURL, data->first.servicetype,
+	                      status, &uptime, lastconnerr) != UPNPCOMMAND_SUCCESS)
+		printf("GetStatusInfo failed.\n");
 	else
-		printf("GetConnectionTypeInfo failed.\n");
-	UPNP_GetStatusInfo(urls->controlURL, data->first.servicetype,
-	                   status, &uptime, lastconnerr);
-	printf("Status : %s, uptime=%us, LastConnectionError : %s\n",
-	       status, uptime, lastconnerr);
-	timenow = time(NULL);
-	timestarted = timenow - uptime;
-	printf("  Time started : %s", ctime(&timestarted));
-	UPNP_GetLinkLayerMaxBitRates(urls->controlURL_CIF, data->CIF.servicetype,
-			&brDown, &brUp);
-	printf("MaxBitRateDown : %u bps", brDown);
-	if(brDown >= 1000000) {
-		printf(" (%u.%u Mbps)", brDown / 1000000, (brDown / 100000) % 10);
-	} else if(brDown >= 1000) {
-		printf(" (%u Kbps)", brDown / 1000);
-	}
-	printf("   MaxBitRateUp %u bps", brUp);
-	if(brUp >= 1000000) {
-		printf(" (%u.%u Mbps)", brUp / 1000000, (brUp / 100000) % 10);
-	} else if(brUp >= 1000) {
-		printf(" (%u Kbps)", brUp / 1000);
-	}
-	printf("\n");
+		printf("Status : %s, uptime=%us, LastConnectionError : %s\n",
+		       status, uptime, lastconnerr);
+	if(uptime > 0) {
+		timenow = time(NULL);
+		timestarted = timenow - uptime;
+		printf("  Time started : %s", ctime(&timestarted));
+	}
+	if(UPNP_GetLinkLayerMaxBitRates(urls->controlURL_CIF, data->CIF.servicetype,
+	                                &brDown, &brUp) != UPNPCOMMAND_SUCCESS) {
+		printf("GetLinkLayerMaxBitRates failed.\n");
+	} else {
+		printf("MaxBitRateDown : %u bps", brDown);
+		if(brDown >= 1000000) {
+			printf(" (%u.%u Mbps)", brDown / 1000000, (brDown / 100000) % 10);
+		} else if(brDown >= 1000) {
+			printf(" (%u Kbps)", brDown / 1000);
+		}
+		printf("   MaxBitRateUp %u bps", brUp);
+		if(brUp >= 1000000) {
+			printf(" (%u.%u Mbps)", brUp / 1000000, (brUp / 100000) % 10);
+		} else if(brUp >= 1000) {
+			printf(" (%u Kbps)", brUp / 1000);
+		}
+		printf("\n");
+	}
 	r = UPNP_GetExternalIPAddress(urls->controlURL,
 	                          data->first.servicetype,
 							  externalIPAddress);
-	if(r != UPNPCOMMAND_SUCCESS)
-		printf("GetExternalIPAddress() returned %d\n", r);
-	if(externalIPAddress[0])
+	if(r != UPNPCOMMAND_SUCCESS) {
+		printf("GetExternalIPAddress failed. (errorcode=%d)\n", r);
+	} else if(!externalIPAddress[0]) {
+		printf("GetExternalIPAddress failed. (empty string)\n");
+	} else {
 		printf("ExternalIPAddress = %s\n", externalIPAddress);
-	else
-		printf("GetExternalIPAddress failed.\n");
+	}
 }
 
 static void GetConnectionStatus(struct UPNPUrls * urls,
@@ -106,7 +135,7 @@ static void ListRedirections(struct UPNPUrls * urls,
                              struct IGDdatas * data)
 {
 	int r;
-	int i = 0;
+	unsigned short i = 0;
 	char index[6];
 	char intClient[40];
 	char intPort[6];
@@ -119,8 +148,9 @@ static void ListRedirections(struct UPNPUrls * urls,
 	/*unsigned int num=0;
 	UPNP_GetPortMappingNumberOfEntries(urls->controlURL, data->servicetype, &num);
 	printf("PortMappingNumberOfEntries : %u\n", num);*/
+	printf(" i protocol exPort->inAddr:inPort description remoteHost leaseTime\n");
 	do {
-		snprintf(index, 6, "%d", i);
+		snprintf(index, 6, "%hu", i);
 		rHost[0] = '\0'; enabled[0] = '\0';
 		duration[0] = '\0'; desc[0] = '\0';
 		extPort[0] = '\0'; intPort[0] = '\0'; intClient[0] = '\0';
@@ -132,20 +162,19 @@ static void ListRedirections(struct UPNPUrls * urls,
 									   rHost, duration);
 		if(r==0)
 		/*
-			printf("%02d - %s %s->%s:%s\tenabled=%s leaseDuration=%s\n"
+			printf("%02hu - %s %s->%s:%s\tenabled=%s leaseDuration=%s\n"
 			       "     desc='%s' rHost='%s'\n",
 			       i, protocol, extPort, intClient, intPort,
 				   enabled, duration,
 				   desc, rHost);
 				   */
-			printf("%2d %s %5s->%s:%-5s '%s' '%s' %s\n",
+			printf("%2hu %s %5s->%s:%-5s '%s' '%s' %s\n",
 			       i, protocol, extPort, intClient, intPort,
 			       desc, rHost, duration);
 		else
 			printf("GetGenericPortMappingEntry() returned %d (%s)\n",
 			       r, strupnperror(r));
-		i++;
-	} while(r==0);
+	} while(r == 0 && i++ < 65535);
 }
 
 static void NewListRedirections(struct UPNPUrls * urls,
@@ -159,14 +188,15 @@ static void NewListRedirections(struct UPNPUrls * urls,
 	memset(&pdata, 0, sizeof(struct PortMappingParserData));
 	r = UPNP_GetListOfPortMappings(urls->controlURL,
                                    data->first.servicetype,
-	                               "0",
+	                               "1",
 	                               "65535",
 	                               "TCP",
 	                               "1000",
 	                               &pdata);
 	if(r == UPNPCOMMAND_SUCCESS)
 	{
-		for(pm = pdata.head.lh_first; pm != NULL; pm = pm->entries.le_next)
+		printf(" i protocol exPort->inAddr:inPort description remoteHost leaseTime\n");
+		for(pm = pdata.l_head; pm != NULL; pm = pm->l_next)
 		{
 			printf("%2d %s %5hu->%s:%-5hu '%s' '%s' %u\n",
 			       i, pm->protocol, pm->externalPort, pm->internalClient,
@@ -184,14 +214,14 @@ static void NewListRedirections(struct UPNPUrls * urls,
 	}
 	r = UPNP_GetListOfPortMappings(urls->controlURL,
                                    data->first.servicetype,
-	                               "0",
+	                               "1",
 	                               "65535",
 	                               "UDP",
 	                               "1000",
 	                               &pdata);
 	if(r == UPNPCOMMAND_SUCCESS)
 	{
-		for(pm = pdata.head.lh_first; pm != NULL; pm = pm->entries.le_next)
+		for(pm = pdata.l_head; pm != NULL; pm = pm->l_next)
 		{
 			printf("%2d %s %5hu->%s:%-5hu '%s' '%s' %u\n",
 			       i, pm->protocol, pm->externalPort, pm->internalClient,
@@ -209,87 +239,145 @@ static void NewListRedirections(struct UPNPUrls * urls,
 	}
 }
 
-/* Test function 
+/* Test function
  * 1 - get connection type
  * 2 - get extenal ip address
  * 3 - Add port mapping
  * 4 - get this port mapping from the IGD */
-static void SetRedirectAndTest(struct UPNPUrls * urls,
-                               struct IGDdatas * data,
-							   const char * iaddr,
-							   const char * iport,
-							   const char * eport,
-                               const char * proto,
-                               const char * leaseDuration)
+static int SetRedirectAndTest(struct UPNPUrls * urls,
+			       struct IGDdatas * data,
+			       const char * iaddr,
+			       const char * iport,
+			       const char * eport,
+			       const char * proto,
+			       const char * leaseDuration,
+			       const char * remoteHost,
+			       const char * description,
+			       int addAny)
 {
 	char externalIPAddress[40];
 	char intClient[40];
 	char intPort[6];
+	char reservedPort[6];
 	char duration[16];
 	int r;
 
 	if(!iaddr || !iport || !eport || !proto)
 	{
 		fprintf(stderr, "Wrong arguments\n");
-		return;
+		return -1;
 	}
 	proto = protofix(proto);
 	if(!proto)
 	{
 		fprintf(stderr, "invalid protocol\n");
-		return;
+		return -1;
 	}
-	
-	UPNP_GetExternalIPAddress(urls->controlURL,
-	                          data->first.servicetype,
-							  externalIPAddress);
-	if(externalIPAddress[0])
-		printf("ExternalIPAddress = %s\n", externalIPAddress);
-	else
-		printf("GetExternalIPAddress failed.\n");
-	
-	r = UPNP_AddPortMapping(urls->controlURL, data->first.servicetype,
-	                        eport, iport, iaddr, 0, proto, 0, leaseDuration);
+
+	r = UPNP_GetExternalIPAddress(urls->controlURL,
+				      data->first.servicetype,
+				      externalIPAddress);
 	if(r!=UPNPCOMMAND_SUCCESS)
-		printf("AddPortMapping(%s, %s, %s) failed with code %d (%s)\n",
-		       eport, iport, iaddr, r, strupnperror(r));
+		printf("GetExternalIPAddress failed.\n");
+	else
+		printf("ExternalIPAddress = %s\n", externalIPAddress);
+
+	if (addAny) {
+		r = UPNP_AddAnyPortMapping(urls->controlURL, data->first.servicetype,
+					   eport, iport, iaddr, description,
+					   proto, remoteHost, leaseDuration, reservedPort);
+		if(r==UPNPCOMMAND_SUCCESS)
+			eport = reservedPort;
+		else
+			printf("AddAnyPortMapping(%s, %s, %s) failed with code %d (%s)\n",
+			       eport, iport, iaddr, r, strupnperror(r));
+	} else {
+		r = UPNP_AddPortMapping(urls->controlURL, data->first.servicetype,
+					eport, iport, iaddr, description,
+					proto, remoteHost, leaseDuration);
+		if(r!=UPNPCOMMAND_SUCCESS) {
+			printf("AddPortMapping(%s, %s, %s) failed with code %d (%s)\n",
+			       eport, iport, iaddr, r, strupnperror(r));
+			return -2;
+	}
+	}
 
 	r = UPNP_GetSpecificPortMappingEntry(urls->controlURL,
-	                                 data->first.servicetype,
-    	                             eport, proto,
-									 intClient, intPort, NULL/*desc*/,
-	                                 NULL/*enabled*/, duration);
-	if(r!=UPNPCOMMAND_SUCCESS)
+					     data->first.servicetype,
+					     eport, proto, remoteHost,
+					     intClient, intPort, NULL/*desc*/,
+					     NULL/*enabled*/, duration);
+	if(r!=UPNPCOMMAND_SUCCESS) {
 		printf("GetSpecificPortMappingEntry() failed with code %d (%s)\n",
 		       r, strupnperror(r));
-	
-	if(intClient[0]) {
+		return -2;
+	} else {
 		printf("InternalIP:Port = %s:%s\n", intClient, intPort);
 		printf("external %s:%s %s is redirected to internal %s:%s (duration=%s)\n",
 		       externalIPAddress, eport, proto, intClient, intPort, duration);
 	}
+	return 0;
 }
 
-static void
+static int
 RemoveRedirect(struct UPNPUrls * urls,
                struct IGDdatas * data,
-			   const char * eport,
-			   const char * proto)
+               const char * eport,
+               const char * proto,
+               const char * remoteHost)
 {
 	int r;
 	if(!proto || !eport)
 	{
 		fprintf(stderr, "invalid arguments\n");
-		return;
+		return -1;
 	}
 	proto = protofix(proto);
 	if(!proto)
 	{
 		fprintf(stderr, "protocol invalid\n");
-		return;
+		return -1;
 	}
-	r = UPNP_DeletePortMapping(urls->controlURL, data->first.servicetype, eport, proto, 0);
-	printf("UPNP_DeletePortMapping() returned : %d\n", r);
+	r = UPNP_DeletePortMapping(urls->controlURL, data->first.servicetype, eport, proto, remoteHost);
+	if(r!=UPNPCOMMAND_SUCCESS) {
+		printf("UPNP_DeletePortMapping() failed with code : %d\n", r);
+		return -2;
+	}else {
+		printf("UPNP_DeletePortMapping() returned : %d\n", r);
+	}
+	return 0;
+}
+
+static int
+RemoveRedirectRange(struct UPNPUrls * urls,
+		    struct IGDdatas * data,
+		    const char * ePortStart, char const * ePortEnd,
+		    const char * proto, const char * manage)
+{
+	int r;
+
+	if (!manage)
+		manage = "0";
+
+	if(!proto || !ePortStart || !ePortEnd)
+	{
+		fprintf(stderr, "invalid arguments\n");
+		return -1;
+	}
+	proto = protofix(proto);
+	if(!proto)
+	{
+		fprintf(stderr, "protocol invalid\n");
+		return -1;
+	}
+	r = UPNP_DeletePortMappingRange(urls->controlURL, data->first.servicetype, ePortStart, ePortEnd, proto, manage);
+	if(r!=UPNPCOMMAND_SUCCESS) {
+		printf("UPNP_DeletePortMappingRange() failed with code : %d\n", r);
+		return -2;
+	}else {
+		printf("UPNP_DeletePortMappingRange() returned : %d\n", r);
+	}
+	return 0;
 }
 
 /* IGD:2, functions for service WANIPv6FirewallControl:1 */
@@ -301,7 +389,7 @@ static void GetFirewallStatus(struct UPNPUrls * urls, struct IGDdatas * data)
 	UPNP_GetFirewallStatus(urls->controlURL_6FC, data->IPv6FC.servicetype, &firewallEnabled, &inboundPinholeAllowed);
 	printf("FirewallEnabled: %d & Inbound Pinhole Allowed: %d\n", firewallEnabled, inboundPinholeAllowed);
 	printf("GetFirewallStatus:\n   Firewall Enabled: %s\n   Inbound Pinhole Allowed: %s\n", (firewallEnabled)? "Yes":"No", (inboundPinholeAllowed)? "Yes":"No");
-	
+
 	bytessent = UPNP_GetTotalBytesSent(urls->controlURL_CIF, data->CIF.servicetype);
 	bytesreceived = UPNP_GetTotalBytesReceived(urls->controlURL_CIF, data->CIF.servicetype);
 	packetssent = UPNP_GetTotalPacketsSent(urls->controlURL_CIF, data->CIF.servicetype);
@@ -310,7 +398,7 @@ static void GetFirewallStatus(struct UPNPUrls * urls, struct IGDdatas * data)
 	printf("Packets: Sent: %8u\tRecv: %8u\n", packetssent, packetsreceived);
 }
 
-/* Test function 
+/* Test function
  * 1 - Add pinhole
  * 2 - Check if pinhole is working from the IGD side */
 static void SetPinholeAndTest(struct UPNPUrls * urls, struct IGDdatas * data,
@@ -319,27 +407,43 @@ static void SetPinholeAndTest(struct UPNPUrls * urls, struct IGDdatas * data,
 					const char * proto, const char * lease_time)
 {
 	char uniqueID[8];
-	//int isWorking = 0;
+	/*int isWorking = 0;*/
 	int r;
+	char proto_tmp[8];
 
 	if(!intaddr || !remoteaddr || !iport || !eport || !proto || !lease_time)
 	{
 		fprintf(stderr, "Wrong arguments\n");
 		return;
 	}
-	/*proto = protofix(proto);
-	if(!proto)
+	if(atoi(proto) == 0)
 	{
-		fprintf(stderr, "invalid protocol\n");
-		return;
-	}*/
+		const char * protocol;
+		protocol = protofix(proto);
+		if(protocol && (strcmp("TCP", protocol) == 0))
+		{
+			snprintf(proto_tmp, sizeof(proto_tmp), "%d", IPPROTO_TCP);
+			proto = proto_tmp;
+		}
+		else if(protocol && (strcmp("UDP", protocol) == 0))
+		{
+			snprintf(proto_tmp, sizeof(proto_tmp), "%d", IPPROTO_UDP);
+			proto = proto_tmp;
+		}
+		else
+		{
+			fprintf(stderr, "invalid protocol\n");
+			return;
+		}
+	}
 	r = UPNP_AddPinhole(urls->controlURL_6FC, data->IPv6FC.servicetype, remoteaddr, eport, intaddr, iport, proto, lease_time, uniqueID);
 	if(r!=UPNPCOMMAND_SUCCESS)
 		printf("AddPinhole([%s]:%s -> [%s]:%s) failed with code %d (%s)\n",
-		       intaddr, iport, remoteaddr, eport, r, strupnperror(r));
+		       remoteaddr, eport, intaddr, iport, r, strupnperror(r));
 	else
 	{
-		printf("AddPinhole: ([%s]:%s -> [%s]:%s) / Pinhole ID = %s\n", intaddr, iport, remoteaddr, eport, uniqueID);
+		printf("AddPinhole: ([%s]:%s -> [%s]:%s) / Pinhole ID = %s\n",
+		       remoteaddr, eport, intaddr, iport, uniqueID);
 		/*r = UPNP_CheckPinholeWorking(urls->controlURL_6FC, data->servicetype_6FC, uniqueID, &isWorking);
 		if(r!=UPNPCOMMAND_SUCCESS)
 			printf("CheckPinholeWorking() failed with code %d (%s)\n", r, strupnperror(r));
@@ -361,11 +465,20 @@ static void GetPinholeAndUpdate(struct UPNPUrls * urls, struct IGDdatas * data,
 		fprintf(stderr, "Wrong arguments\n");
 		return;
 	}
+	/* CheckPinholeWorking is an Optional Action, error 602 should be
+	 * returned if it is not implemented */
 	r = UPNP_CheckPinholeWorking(urls->controlURL_6FC, data->IPv6FC.servicetype, uniqueID, &isWorking);
-	printf("CheckPinholeWorking: Pinhole ID = %s / IsWorking = %s\n", uniqueID, (isWorking)? "Yes":"No");
-	if(r!=UPNPCOMMAND_SUCCESS)
-		printf("CheckPinholeWorking() failed with code %d (%s)\n", r, strupnperror(r));
-	if(isWorking || r==709)
+	if(r==UPNPCOMMAND_SUCCESS)
+		printf("CheckPinholeWorking: Pinhole ID = %s / IsWorking = %s\n", uniqueID, (isWorking)? "Yes":"No");
+	else
+		printf("CheckPinholeWorking(%s) failed with code %d (%s)\n", uniqueID, r, strupnperror(r));
+	/* 702 FirewallDisabled Firewall is disabled and this action is disabled
+	 * 703 InboundPinholeNotAllowed Creation of inbound pinholes by UPnP CPs
+	 *                              are not allowed and this action is disabled
+	 * 704 NoSuchEntry There is no pinhole with the specified UniqueID.
+	 * 709 NoTrafficReceived No traffic corresponding to this pinhole has
+	 *                       been received by the gateway. */
+	if(isWorking || (r!=702 && r!=703 && r!=704))
 	{
 		r = UPNP_UpdatePinhole(urls->controlURL_6FC, data->IPv6FC.servicetype, uniqueID, lease_time);
 		printf("UpdatePinhole: Pinhole ID = %s with Lease Time: %s\n", uniqueID, lease_time);
@@ -374,7 +487,7 @@ static void GetPinholeAndUpdate(struct UPNPUrls * urls, struct IGDdatas * data,
 	}
 }
 
-/* Test function 
+/* Test function
  * Get pinhole timeout
  */
 static void GetPinholeOutboundTimeout(struct UPNPUrls * urls, struct IGDdatas * data,
@@ -455,16 +568,20 @@ int main(int argc, char ** argv)
 	char ** commandargv = 0;
 	int commandargc = 0;
 	struct UPNPDev * devlist = 0;
-	char lanaddr[64];	/* my ip address on the LAN */
+	char lanaddr[64] = "unset";	/* my ip address on the LAN */
 	int i;
 	const char * rootdescurl = 0;
 	const char * multicastif = 0;
 	const char * minissdpdpath = 0;
+	int localport = UPNP_LOCAL_PORT_ANY;
 	int retcode = 0;
 	int error = 0;
 	int ipv6 = 0;
+	int ignore = 0;
+	unsigned char ttl = 2;	/* defaulting to 2 */
+	const char * description = 0;
 
-#ifdef WIN32
+#ifdef _WIN32
 	WSADATA wsaData;
 	int nResult = WSAStartup(MAKEWORD(2,2), &wsaData);
 	if(nResult != NO_ERROR)
@@ -473,22 +590,49 @@ int main(int argc, char ** argv)
 		return -1;
 	}
 #endif
-    printf("upnpc : miniupnpc library test client. (c) 2006-2011 Thomas Bernard\n");
-    printf("Go to http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/\n"
+    printf("upnpc : miniupnpc library test client, version %s.\n", MINIUPNPC_VERSION_STRING);
+	printf(" (c) 2005-2023 Thomas Bernard.\n");
+    printf("Go to http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/\n"
 	       "for more information.\n");
 	/* command line processing */
 	for(i=1; i<argc; i++)
 	{
+		if(0 == strcmp(argv[i], "--help") || 0 == strcmp(argv[i], "-h"))
+		{
+			command = 0;
+			break;
+		}
 		if(argv[i][0] == '-')
 		{
 			if(argv[i][1] == 'u')
 				rootdescurl = argv[++i];
 			else if(argv[i][1] == 'm')
+			{
 				multicastif = argv[++i];
+				minissdpdpath = "";	/* Disable usage of minissdpd */
+			}
+			else if(argv[i][1] == 'z')
+			{
+				char junk;
+				if(sscanf(argv[++i], "%d%c", &localport, &junk)!=1 ||
+					localport<0 || localport>65535 ||
+				   (localport >1 && localport < 1024))
+				{
+					fprintf(stderr, "Invalid localport '%s'\n", argv[i]);
+					localport = UPNP_LOCAL_PORT_ANY;
+					break;
+				}
+			}
 			else if(argv[i][1] == 'p')
 				minissdpdpath = argv[++i];
 			else if(argv[i][1] == '6')
 				ipv6 = 1;
+			else if(argv[i][1] == 'e')
+				description = argv[++i];
+			else if(argv[i][1] == 't')
+				ttl = (unsigned char)atoi(argv[++i]);
+			else if(argv[i][1] == 'i')
+				ignore = 1;
 			else
 			{
 				command = argv[i][1];
@@ -504,19 +648,22 @@ int main(int argc, char ** argv)
 		}
 	}
 
-	if(!command || (command == 'a' && commandargc<4)
+	if(!command
+	   || (command == 'a' && commandargc<4)
 	   || (command == 'd' && argc<2)
 	   || (command == 'r' && argc<2)
 	   || (command == 'A' && commandargc<6)
 	   || (command == 'U' && commandargc<2)
 	   || (command == 'D' && commandargc<1))
 	{
-		fprintf(stderr, "Usage :\t%s [options] -a ip port external_port protocol [duration]\n\t\tAdd port redirection\n", argv[0]);
-		fprintf(stderr, "       \t%s [options] -d external_port protocol [port2 protocol2] [...]\n\t\tDelete port redirection\n", argv[0]);
+		fprintf(stderr, "Usage :\t%s [options] -a ip port external_port protocol [duration] [remote host]\n\t\tAdd port redirection\n", argv[0]);
+		fprintf(stderr, "       \t%s [options] -d external_port protocol [remote host]\n\t\tDelete port redirection\n", argv[0]);
 		fprintf(stderr, "       \t%s [options] -s\n\t\tGet Connection status\n", argv[0]);
 		fprintf(stderr, "       \t%s [options] -l\n\t\tList redirections\n", argv[0]);
-		fprintf(stderr, "       \t%s [options] -L\n\t\tList redirections (using GetListOfPortMappings, IGD v2)\n", argv[0]);
-		fprintf(stderr, "       \t%s [options] -r port1 protocol1 [port2 protocol2] [...]\n\t\tAdd all redirections to the current host\n", argv[0]);
+		fprintf(stderr, "       \t%s [options] -L\n\t\tList redirections (using GetListOfPortMappings (for IGD:2 only)\n", argv[0]);
+		fprintf(stderr, "       \t%s [options] -n ip port external_port protocol [duration] [remote host]\n\t\tAdd (any) port redirection allowing IGD to use alternative external_port (for IGD:2 only)\n", argv[0]);
+		fprintf(stderr, "       \t%s [options] -N external_port_start external_port_end protocol [manage]\n\t\tDelete range of port redirections (for IGD:2 only)\n", argv[0]);
+		fprintf(stderr, "       \t%s [options] -r port1 [external_port1] protocol1 [port2 [external_port2] protocol2] [...]\n\t\tAdd all redirections to the current host\n", argv[0]);
 		fprintf(stderr, "       \t%s [options] -A remote_ip remote_port internal_ip internal_port protocol lease_time\n\t\tAdd Pinhole (for IGD:2 only)\n", argv[0]);
 		fprintf(stderr, "       \t%s [options] -U uniqueID new_lease_time\n\t\tUpdate Pinhole (for IGD:2 only)\n", argv[0]);
 		fprintf(stderr, "       \t%s [options] -C uniqueID\n\t\tCheck if Pinhole is Working (for IGD:2 only)\n", argv[0]);
@@ -526,17 +673,22 @@ int main(int argc, char ** argv)
 		fprintf(stderr, "       \t%s [options] -G remote_ip remote_port internal_ip internal_port protocol\n\t\tGet Outbound Pinhole Timeout (for IGD:2 only)\n", argv[0]);
 		fprintf(stderr, "       \t%s [options] -P\n\t\tGet Presentation url\n", argv[0]);
 		fprintf(stderr, "\nprotocol is UDP or TCP\n");
+		fprintf(stderr, "@ can be used in option -a, -n, -A and -G to represent local LAN address.\n");
 		fprintf(stderr, "Options:\n");
+		fprintf(stderr, "  -e description : set description for port mapping.\n");
 		fprintf(stderr, "  -6 : use ip v6 instead of ip v4.\n");
 		fprintf(stderr, "  -u url : bypass discovery process by providing the XML root description url.\n");
-		fprintf(stderr, "  -m address/interface : provide ip address (ip v4) or interface name (ip v6) to use for sending SSDP multicast packets.\n");
+		fprintf(stderr, "  -m address/interface : provide ip address (ip v4) or interface name (ip v4 or v6) to use for sending SSDP multicast packets.\n");
+		fprintf(stderr, "  -z localport : SSDP packets local (source) port (1024-65535).\n");
 		fprintf(stderr, "  -p path : use this path for MiniSSDPd socket.\n");
+		fprintf(stderr, "  -t ttl : set multicast TTL. Default value is 2.\n");
+		fprintf(stderr, "  -i : ignore errors and try to use also disconnected IGD or non-IGD device.\n");
 		return 1;
 	}
 
 	if( rootdescurl
 	  || (devlist = upnpDiscover(2000, multicastif, minissdpdpath,
-	                             0/*sameport*/, ipv6, &error)))
+	                             localport, ipv6, ttl, &error)))
 	{
 		struct UPNPDev * device;
 		struct UPNPUrls urls;
@@ -550,7 +702,7 @@ int main(int argc, char ** argv)
 					   device->descURL, device->st);
 			}
 		}
-		else
+		else if(!rootdescurl)
 		{
 			printf("upnpDiscover() error code=%d\n", error);
 		}
@@ -564,16 +716,18 @@ int main(int argc, char ** argv)
 				break;
 			case 2:
 				printf("Found a (not connected?) IGD : %s\n", urls.controlURL);
-				printf("Trying to continue anyway\n");
+				if (ignore) printf("Trying to continue anyway\n");
 				break;
 			case 3:
 				printf("UPnP device found. Is it an IGD ? : %s\n", urls.controlURL);
-				printf("Trying to continue anyway\n");
+				if (ignore) printf("Trying to continue anyway\n");
 				break;
 			default:
 				printf("Found device (igd ?) : %s\n", urls.controlURL);
-				printf("Trying to continue anyway\n");
+				if (ignore) printf("Trying to continue anyway\n");
 			}
+			if(i==1 || ignore) {
+
 			printf("Local LAN ip address : %s\n", lanaddr);
 			#if 0
 			printf("getting \"%s\"\n", urls.ipcondescURL);
@@ -585,6 +739,12 @@ int main(int argc, char ** argv)
 			}
 			#endif
 
+			/* replace '@' with the local LAN ip address */
+			if ((command == 'a' || command == 'n') && 0 == strcmp(commandargv[0], "@"))
+				commandargv[0] = lanaddr;
+			else if ((command == 'A' || command == 'G') && 0 == strcmp(commandargv[2], "@"))
+				commandargv[2] = lanaddr;
+
 			switch(command)
 			{
 			case 'l':
@@ -595,27 +755,65 @@ int main(int argc, char ** argv)
 				NewListRedirections(&urls, &data);
 				break;
 			case 'a':
-				SetRedirectAndTest(&urls, &data,
-				                   commandargv[0], commandargv[1],
-				                   commandargv[2], commandargv[3],
-				                   (commandargc > 4)?commandargv[4]:"0");
+				if (SetRedirectAndTest(&urls, &data,
+						   commandargv[0], commandargv[1],
+						   commandargv[2], commandargv[3],
+						   (commandargc > 4) && is_int(commandargv[4]) ? commandargv[4] : "0",
+						   (commandargc > 4) && !is_int(commandargv[4]) ? commandargv[4] : (commandargc > 5) ? commandargv[5] : NULL,
+						   description, 0) < 0)
+					retcode = 2;
 				break;
 			case 'd':
-				for(i=0; i<commandargc; i+=2)
-				{
-					RemoveRedirect(&urls, &data, commandargv[i], commandargv[i+1]);
-				}
+				if (RemoveRedirect(&urls, &data, commandargv[0], commandargv[1],
+				               commandargc > 2 ? commandargv[2] : NULL) < 0)
+					retcode = 2;
+				break;
+			case 'n':	/* aNy */
+				if (SetRedirectAndTest(&urls, &data,
+						   commandargv[0], commandargv[1],
+						   commandargv[2], commandargv[3],
+						   (commandargc > 4) && is_int(commandargv[4]) ? commandargv[4] : "0",
+						   (commandargc > 4) && !is_int(commandargv[4]) ? commandargv[4] : (commandargc > 5) ? commandargv[5] : NULL,
+						   description, 1) < 0)
+					retcode = 2;
+				break;
+			case 'N':
+				if (commandargc < 3)
+					fprintf(stderr, "too few arguments\n");
+
+				if (RemoveRedirectRange(&urls, &data, commandargv[0], commandargv[1], commandargv[2],
+						    commandargc > 3 ? commandargv[3] : NULL) < 0)
+					retcode = 2;
 				break;
 			case 's':
 				GetConnectionStatus(&urls, &data);
 				break;
 			case 'r':
-				for(i=0; i<commandargc; i+=2)
+				i = 0;
+				while(i<commandargc)
 				{
-					/*printf("port %s protocol %s\n", argv[i], argv[i+1]);*/
-					SetRedirectAndTest(&urls, &data,
-					                   lanaddr, commandargv[i],
-									   commandargv[i], commandargv[i+1], "0");
+					if(!is_int(commandargv[i])) {
+						/* 1st parameter not an integer : error */
+						fprintf(stderr, "command -r : %s is not an port number\n", commandargv[i]);
+						retcode = 1;
+						break;
+					} else if(is_int(commandargv[i+1])){
+						/* 2nd parameter is an integer : <port> <external_port> <protocol> */
+						if (SetRedirectAndTest(&urls, &data,
+								   lanaddr, commandargv[i],
+								   commandargv[i+1], commandargv[i+2], "0", NULL,
+								   description, 0) < 0)
+							retcode = 2;
+						i+=3;	/* 3 parameters parsed */
+					} else {
+						/* 2nd parameter not an integer : <port> <protocol> */
+						if (SetRedirectAndTest(&urls, &data,
+								   lanaddr, commandargv[i],
+								   commandargv[i], commandargv[i+1], "0", NULL,
+								   description, 0) < 0)
+							retcode = 2;
+						i+=2;	/* 2 parameters parsed */
+					}
 				}
 				break;
 			case 'A':
@@ -664,6 +862,10 @@ int main(int argc, char ** argv)
 				retcode = 1;
 			}
 
+			} else {
+				fprintf(stderr, "No valid UPNP Internet Gateway Device found.\n");
+				retcode = 1;
+			}
 			FreeUPNPUrls(&urls);
 		}
 		else
@@ -678,6 +880,12 @@ int main(int argc, char ** argv)
 		fprintf(stderr, "No IGD UPnP Device found on the network !\n");
 		retcode = 1;
 	}
+#ifdef _WIN32
+	nResult = WSACleanup();
+	if(nResult != NO_ERROR) {
+		fprintf(stderr, "WSACleanup() failed.\n");
+	}
+#endif /* _WIN32 */
 	return retcode;
 }
 
diff --git a/libs/miniupnpc/upnpcommands.c b/libs/miniupnpc/src/upnpcommands.c
similarity index 79%
rename from libs/miniupnpc/upnpcommands.c
rename to libs/miniupnpc/src/upnpcommands.c
index 1114759a0f..1e1ee6786f 100644
--- a/libs/miniupnpc/upnpcommands.c
+++ b/libs/miniupnpc/src/upnpcommands.c
@@ -1,7 +1,8 @@
-/* $Id: upnpcommands.c,v 1.37 2011/06/04 15:56:23 nanard Exp $ */
-/* Project : miniupnp
+/* $Id: upnpcommands.c,v 1.51 2019/04/23 11:45:15 nanard Exp $ */
+/* vim: tabstop=4 shiftwidth=4 noexpandtab
+ * Project : miniupnp
  * Author : Thomas Bernard
- * Copyright (c) 2005-2011 Thomas Bernard
+ * Copyright (c) 2005-2018 Thomas Bernard
  * This software is subject to the conditions detailed in the
  * LICENCE file provided in this distribution.
  * */
@@ -11,6 +12,7 @@
 #include "upnpcommands.h"
 #include "miniupnpc.h"
 #include "portlistingparse.h"
+#include "upnpreplyparse.h"
 
 static UNSIGNED_INTEGER
 my_atoui(const char * s)
@@ -20,7 +22,7 @@ my_atoui(const char * s)
 
 /*
  * */
-LIBSPEC UNSIGNED_INTEGER
+MINIUPNP_LIBSPEC UNSIGNED_INTEGER
 UPNP_GetTotalBytesSent(const char * controlURL,
 					const char * servicetype)
 {
@@ -31,11 +33,11 @@ UPNP_GetTotalBytesSent(const char * controlURL,
 	char * p;
 	if(!(buffer = simpleUPnPcommand(-1, controlURL, servicetype,
 	                                "GetTotalBytesSent", 0, &bufsize))) {
-		return UPNPCOMMAND_HTTP_ERROR;
+		return (UNSIGNED_INTEGER)UPNPCOMMAND_HTTP_ERROR;
 	}
 	ParseNameValue(buffer, bufsize, &pdata);
 	/*DisplayNameValueList(buffer, bufsize);*/
-	free(buffer); buffer = NULL;
+	free(buffer);
 	p = GetValueFromNameValueList(&pdata, "NewTotalBytesSent");
 	r = my_atoui(p);
 	ClearNameValueList(&pdata);
@@ -44,7 +46,7 @@ UPNP_GetTotalBytesSent(const char * controlURL,
 
 /*
  * */
-LIBSPEC UNSIGNED_INTEGER
+MINIUPNP_LIBSPEC UNSIGNED_INTEGER
 UPNP_GetTotalBytesReceived(const char * controlURL,
 						const char * servicetype)
 {
@@ -55,11 +57,11 @@ UPNP_GetTotalBytesReceived(const char * controlURL,
 	char * p;
 	if(!(buffer = simpleUPnPcommand(-1, controlURL, servicetype,
 	                                "GetTotalBytesReceived", 0, &bufsize))) {
-		return UPNPCOMMAND_HTTP_ERROR;
+		return (UNSIGNED_INTEGER)UPNPCOMMAND_HTTP_ERROR;
 	}
 	ParseNameValue(buffer, bufsize, &pdata);
 	/*DisplayNameValueList(buffer, bufsize);*/
-	free(buffer); buffer = NULL;
+	free(buffer);
 	p = GetValueFromNameValueList(&pdata, "NewTotalBytesReceived");
 	r = my_atoui(p);
 	ClearNameValueList(&pdata);
@@ -68,7 +70,7 @@ UPNP_GetTotalBytesReceived(const char * controlURL,
 
 /*
  * */
-LIBSPEC UNSIGNED_INTEGER
+MINIUPNP_LIBSPEC UNSIGNED_INTEGER
 UPNP_GetTotalPacketsSent(const char * controlURL,
 						const char * servicetype)
 {
@@ -79,11 +81,11 @@ UPNP_GetTotalPacketsSent(const char * controlURL,
 	char * p;
 	if(!(buffer = simpleUPnPcommand(-1, controlURL, servicetype,
 	                                "GetTotalPacketsSent", 0, &bufsize))) {
-		return UPNPCOMMAND_HTTP_ERROR;
+		return (UNSIGNED_INTEGER)UPNPCOMMAND_HTTP_ERROR;
 	}
 	ParseNameValue(buffer, bufsize, &pdata);
 	/*DisplayNameValueList(buffer, bufsize);*/
-	free(buffer); buffer = NULL;
+	free(buffer);
 	p = GetValueFromNameValueList(&pdata, "NewTotalPacketsSent");
 	r = my_atoui(p);
 	ClearNameValueList(&pdata);
@@ -92,7 +94,7 @@ UPNP_GetTotalPacketsSent(const char * controlURL,
 
 /*
  * */
-LIBSPEC UNSIGNED_INTEGER
+MINIUPNP_LIBSPEC UNSIGNED_INTEGER
 UPNP_GetTotalPacketsReceived(const char * controlURL,
 						const char * servicetype)
 {
@@ -103,11 +105,11 @@ UPNP_GetTotalPacketsReceived(const char * controlURL,
 	char * p;
 	if(!(buffer = simpleUPnPcommand(-1, controlURL, servicetype,
 	                                "GetTotalPacketsReceived", 0, &bufsize))) {
-		return UPNPCOMMAND_HTTP_ERROR;
+		return (UNSIGNED_INTEGER)UPNPCOMMAND_HTTP_ERROR;
 	}
 	ParseNameValue(buffer, bufsize, &pdata);
 	/*DisplayNameValueList(buffer, bufsize);*/
-	free(buffer); buffer = NULL;
+	free(buffer);
 	p = GetValueFromNameValueList(&pdata, "NewTotalPacketsReceived");
 	r = my_atoui(p);
 	ClearNameValueList(&pdata);
@@ -116,10 +118,10 @@ UPNP_GetTotalPacketsReceived(const char * controlURL,
 
 /* UPNP_GetStatusInfo() call the corresponding UPNP method
  * returns the current status and uptime */
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetStatusInfo(const char * controlURL,
 				const char * servicetype,
-				char * status, 
+				char * status,
 				unsigned int * uptime,
 				char * lastconnerror)
 {
@@ -140,7 +142,7 @@ UPNP_GetStatusInfo(const char * controlURL,
 	}
 	ParseNameValue(buffer, bufsize, &pdata);
 	/*DisplayNameValueList(buffer, bufsize);*/
-	free(buffer); buffer = NULL;
+	free(buffer);
 	up = GetValueFromNameValueList(&pdata, "NewUptime");
 	p = GetValueFromNameValueList(&pdata, "NewConnectionStatus");
 	err = GetValueFromNameValueList(&pdata, "NewLastConnectionError");
@@ -159,7 +161,7 @@ UPNP_GetStatusInfo(const char * controlURL,
 		if(up)
 			sscanf(up,"%u",uptime);
 		else
-			uptime = 0;
+			*uptime = 0;
 	}
 
 	if(lastconnerror) {
@@ -181,7 +183,7 @@ UPNP_GetStatusInfo(const char * controlURL,
 
 /* UPNP_GetConnectionTypeInfo() call the corresponding UPNP method
  * returns the connection type */
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetConnectionTypeInfo(const char * controlURL,
                            const char * servicetype,
                            char * connectionType)
@@ -200,7 +202,7 @@ UPNP_GetConnectionTypeInfo(const char * controlURL,
 		return UPNPCOMMAND_HTTP_ERROR;
 	}
 	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 	p = GetValueFromNameValueList(&pdata, "NewConnectionType");
 	/*p = GetValueFromNameValueList(&pdata, "NewPossibleConnectionTypes");*/
 	/* PossibleConnectionTypes will have several values.... */
@@ -221,10 +223,10 @@ UPNP_GetConnectionTypeInfo(const char * controlURL,
 
 /* UPNP_GetLinkLayerMaxBitRate() call the corresponding UPNP method.
  * Returns 2 values: Downloadlink bandwidth and Uplink bandwidth.
- * One of the values can be null 
- * Note : GetLinkLayerMaxBitRates belongs to WANPPPConnection:1 only 
+ * One of the values can be null
+ * Note : GetLinkLayerMaxBitRates belongs to WANPPPConnection:1 only
  * We can use the GetCommonLinkProperties from WANCommonInterfaceConfig:1 */
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetLinkLayerMaxBitRates(const char * controlURL,
                              const char * servicetype,
                              unsigned int * bitrateDown,
@@ -249,7 +251,7 @@ UPNP_GetLinkLayerMaxBitRates(const char * controlURL,
 	}
 	/*DisplayNameValueList(buffer, bufsize);*/
 	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 	/*down = GetValueFromNameValueList(&pdata, "NewDownstreamMaxBitRate");*/
 	/*up = GetValueFromNameValueList(&pdata, "NewUpstreamMaxBitRate");*/
 	down = GetValueFromNameValueList(&pdata, "NewLayer1DownstreamMaxBitRate");
@@ -285,7 +287,7 @@ UPNP_GetLinkLayerMaxBitRates(const char * controlURL,
 /* 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.
@@ -293,7 +295,7 @@ UPNP_GetLinkLayerMaxBitRates(const char * controlURL,
  * 402 Invalid Args - See UPnP Device Architecture section on Control.
  * 501 Action Failed - See UPnP Device Architecture section on Control.
  */
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetExternalIPAddress(const char * controlURL,
                           const char * servicetype,
                           char * extIpAdd)
@@ -313,7 +315,7 @@ UPNP_GetExternalIPAddress(const char * controlURL,
 	}
 	/*DisplayNameValueList(buffer, bufsize);*/
 	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 	/*printf("external ip = %s\n", GetValueFromNameValueList(&pdata, "NewExternalIPAddress") );*/
 	p = GetValueFromNameValueList(&pdata, "NewExternalIPAddress");
 	if(p) {
@@ -333,15 +335,15 @@ UPNP_GetExternalIPAddress(const char * controlURL,
 	return ret;
 }
 
-LIBSPEC int
+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)
+		    const char * extPort,
+		    const char * inPort,
+		    const char * inClient,
+		    const char * desc,
+		    const char * proto,
+		    const char * remoteHost,
+		    const char * leaseDuration)
 {
 	struct UPNParg * AddPortMappingArgs;
 	char * buffer;
@@ -354,6 +356,8 @@ UPNP_AddPortMapping(const char * controlURL, const char * servicetype,
 		return UPNPCOMMAND_INVALID_ARGS;
 
 	AddPortMappingArgs = calloc(9, sizeof(struct UPNParg));
+	if(AddPortMappingArgs == NULL)
+		return UPNPCOMMAND_MEM_ALLOC_ERROR;
 	AddPortMappingArgs[0].elt = "NewRemoteHost";
 	AddPortMappingArgs[0].val = remoteHost;
 	AddPortMappingArgs[1].elt = "NewExternalPort";
@@ -370,17 +374,18 @@ UPNP_AddPortMapping(const char * controlURL, const char * servicetype,
 	AddPortMappingArgs[6].val = desc?desc:"libminiupnpc";
 	AddPortMappingArgs[7].elt = "NewLeaseDuration";
 	AddPortMappingArgs[7].val = leaseDuration?leaseDuration:"0";
-	if(!(buffer = simpleUPnPcommand(-1, controlURL, servicetype,
-	                                "AddPortMapping", AddPortMappingArgs,
-	                                &bufsize))) {
-		free(AddPortMappingArgs);
+	buffer = simpleUPnPcommand(-1, controlURL, servicetype,
+	                           "AddPortMapping", AddPortMappingArgs,
+	                           &bufsize);
+	free(AddPortMappingArgs);
+	if(!buffer) {
 		return UPNPCOMMAND_HTTP_ERROR;
 	}
 	/*DisplayNameValueList(buffer, bufsize);*/
 	/*buffer[bufsize] = '\0';*/
 	/*puts(buffer);*/
 	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 	resVal = GetValueFromNameValueList(&pdata, "errorCode");
 	if(resVal) {
 		/*printf("AddPortMapping errorCode = '%s'\n", resVal); */
@@ -390,11 +395,79 @@ UPNP_AddPortMapping(const char * controlURL, const char * servicetype,
 		ret = UPNPCOMMAND_SUCCESS;
 	}
 	ClearNameValueList(&pdata);
+	return ret;
+}
+
+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)
+{
+	struct UPNParg * AddPortMappingArgs;
+	char * buffer;
+	int bufsize;
+	struct NameValueParserData pdata;
+	const char * resVal;
+	int ret;
+
+	if(!inPort || !inClient || !proto || !extPort)
+		return UPNPCOMMAND_INVALID_ARGS;
+
+	AddPortMappingArgs = calloc(9, sizeof(struct UPNParg));
+	if(AddPortMappingArgs == NULL)
+		return UPNPCOMMAND_MEM_ALLOC_ERROR;
+	AddPortMappingArgs[0].elt = "NewRemoteHost";
+	AddPortMappingArgs[0].val = remoteHost;
+	AddPortMappingArgs[1].elt = "NewExternalPort";
+	AddPortMappingArgs[1].val = extPort;
+	AddPortMappingArgs[2].elt = "NewProtocol";
+	AddPortMappingArgs[2].val = proto;
+	AddPortMappingArgs[3].elt = "NewInternalPort";
+	AddPortMappingArgs[3].val = inPort;
+	AddPortMappingArgs[4].elt = "NewInternalClient";
+	AddPortMappingArgs[4].val = inClient;
+	AddPortMappingArgs[5].elt = "NewEnabled";
+	AddPortMappingArgs[5].val = "1";
+	AddPortMappingArgs[6].elt = "NewPortMappingDescription";
+	AddPortMappingArgs[6].val = desc?desc:"libminiupnpc";
+	AddPortMappingArgs[7].elt = "NewLeaseDuration";
+	AddPortMappingArgs[7].val = leaseDuration?leaseDuration:"0";
+	buffer = simpleUPnPcommand(-1, controlURL, servicetype,
+	                           "AddAnyPortMapping", AddPortMappingArgs,
+	                           &bufsize);
 	free(AddPortMappingArgs);
+	if(!buffer) {
+		return UPNPCOMMAND_HTTP_ERROR;
+	}
+	ParseNameValue(buffer, bufsize, &pdata);
+	free(buffer);
+	resVal = GetValueFromNameValueList(&pdata, "errorCode");
+	if(resVal) {
+		ret = UPNPCOMMAND_UNKNOWN_ERROR;
+		sscanf(resVal, "%d", &ret);
+	} else {
+		char *p;
+
+		p = GetValueFromNameValueList(&pdata, "NewReservedPort");
+		if(p) {
+			strncpy(reservedPort, p, 6);
+			reservedPort[5] = '\0';
+			ret = UPNPCOMMAND_SUCCESS;
+		} else {
+			ret = UPNPCOMMAND_INVALID_RESPONSE;
+		}
+	}
+	ClearNameValueList(&pdata);
 	return ret;
 }
 
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_DeletePortMapping(const char * controlURL, const char * servicetype,
                        const char * extPort, const char * proto,
                        const char * remoteHost)
@@ -411,21 +484,24 @@ UPNP_DeletePortMapping(const char * controlURL, const char * servicetype,
 		return UPNPCOMMAND_INVALID_ARGS;
 
 	DeletePortMappingArgs = calloc(4, sizeof(struct UPNParg));
+	if(DeletePortMappingArgs == NULL)
+		return UPNPCOMMAND_MEM_ALLOC_ERROR;
 	DeletePortMappingArgs[0].elt = "NewRemoteHost";
 	DeletePortMappingArgs[0].val = remoteHost;
 	DeletePortMappingArgs[1].elt = "NewExternalPort";
 	DeletePortMappingArgs[1].val = extPort;
 	DeletePortMappingArgs[2].elt = "NewProtocol";
 	DeletePortMappingArgs[2].val = proto;
-	if(!(buffer = simpleUPnPcommand(-1, controlURL, servicetype,
-	                               "DeletePortMapping",
-	                               DeletePortMappingArgs, &bufsize))) {
-		free(DeletePortMappingArgs);
+	buffer = simpleUPnPcommand(-1, controlURL, servicetype,
+	                          "DeletePortMapping",
+	                          DeletePortMappingArgs, &bufsize);
+	free(DeletePortMappingArgs);
+	if(!buffer) {
 		return UPNPCOMMAND_HTTP_ERROR;
 	}
 	/*DisplayNameValueList(buffer, bufsize);*/
 	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 	resVal = GetValueFromNameValueList(&pdata, "errorCode");
 	if(resVal) {
 		ret = UPNPCOMMAND_UNKNOWN_ERROR;
@@ -434,11 +510,58 @@ UPNP_DeletePortMapping(const char * controlURL, const char * servicetype,
 		ret = UPNPCOMMAND_SUCCESS;
 	}
 	ClearNameValueList(&pdata);
+	return ret;
+}
+
+MINIUPNP_LIBSPEC int
+UPNP_DeletePortMappingRange(const char * controlURL, const char * servicetype,
+        		    const char * extPortStart, const char * extPortEnd,
+        		    const char * proto,
+			    const char * manage)
+{
+	struct UPNParg * DeletePortMappingArgs;
+	char * buffer;
+	int bufsize;
+	struct NameValueParserData pdata;
+	const char * resVal;
+	int ret;
+
+	if(!extPortStart || !extPortEnd || !proto || !manage)
+		return UPNPCOMMAND_INVALID_ARGS;
+
+	DeletePortMappingArgs = calloc(5, sizeof(struct UPNParg));
+	if(DeletePortMappingArgs == NULL)
+		return UPNPCOMMAND_MEM_ALLOC_ERROR;
+	DeletePortMappingArgs[0].elt = "NewStartPort";
+	DeletePortMappingArgs[0].val = extPortStart;
+	DeletePortMappingArgs[1].elt = "NewEndPort";
+	DeletePortMappingArgs[1].val = extPortEnd;
+	DeletePortMappingArgs[2].elt = "NewProtocol";
+	DeletePortMappingArgs[2].val = proto;
+	DeletePortMappingArgs[3].elt = "NewManage";
+	DeletePortMappingArgs[3].val = manage;
+
+	buffer = simpleUPnPcommand(-1, controlURL, servicetype,
+	                           "DeletePortMappingRange",
+	                           DeletePortMappingArgs, &bufsize);
 	free(DeletePortMappingArgs);
+	if(!buffer) {
+		return UPNPCOMMAND_HTTP_ERROR;
+	}
+	ParseNameValue(buffer, bufsize, &pdata);
+	free(buffer);
+	resVal = GetValueFromNameValueList(&pdata, "errorCode");
+	if(resVal) {
+		ret = UPNPCOMMAND_UNKNOWN_ERROR;
+		sscanf(resVal, "%d", &ret);
+	} else {
+		ret = UPNPCOMMAND_SUCCESS;
+	}
+	ClearNameValueList(&pdata);
 	return ret;
 }
 
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetGenericPortMappingEntry(const char * controlURL,
                                 const char * servicetype,
 							 const char * index,
@@ -462,16 +585,19 @@ UPNP_GetGenericPortMappingEntry(const char * controlURL,
 	intClient[0] = '\0';
 	intPort[0] = '\0';
 	GetPortMappingArgs = calloc(2, sizeof(struct UPNParg));
+	if(GetPortMappingArgs == NULL)
+		return UPNPCOMMAND_MEM_ALLOC_ERROR;
 	GetPortMappingArgs[0].elt = "NewPortMappingIndex";
 	GetPortMappingArgs[0].val = index;
-	if(!(buffer = simpleUPnPcommand(-1, controlURL, servicetype,
-	                               "GetGenericPortMappingEntry",
-	                               GetPortMappingArgs, &bufsize))) {
-		free(GetPortMappingArgs);
+	buffer = simpleUPnPcommand(-1, controlURL, servicetype,
+	                           "GetGenericPortMappingEntry",
+	                           GetPortMappingArgs, &bufsize);
+	free(GetPortMappingArgs);
+	if(!buffer) {
 		return UPNPCOMMAND_HTTP_ERROR;
 	}
 	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 
 	p = GetValueFromNameValueList(&pdata, "NewRemoteHost");
 	if(p && rHost)
@@ -493,14 +619,14 @@ UPNP_GetGenericPortMappingEntry(const char * controlURL,
 		protocol[3] = '\0';
 	}
 	p = GetValueFromNameValueList(&pdata, "NewInternalClient");
-	if(p && intClient)
+	if(p)
 	{
 		strncpy(intClient, p, 16);
 		intClient[15] = '\0';
 		r = 0;
 	}
 	p = GetValueFromNameValueList(&pdata, "NewInternalPort");
-	if(p && intPort)
+	if(p)
 	{
 		strncpy(intPort, p, 6);
 		intPort[5] = '\0';
@@ -529,11 +655,10 @@ UPNP_GetGenericPortMappingEntry(const char * controlURL,
 		sscanf(p, "%d", &r);
 	}
 	ClearNameValueList(&pdata);
-	free(GetPortMappingArgs);
 	return r;
 }
 
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetPortMappingNumberOfEntries(const char * controlURL,
                                    const char * servicetype,
                                    unsigned int * numEntries)
@@ -552,7 +677,7 @@ UPNP_GetPortMappingNumberOfEntries(const char * controlURL,
 	DisplayNameValueList(buffer, bufsize);
 #endif
  	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 
  	p = GetValueFromNameValueList(&pdata, "NewPortMappingNumberOfEntries");
  	if(numEntries && p) {
@@ -574,11 +699,12 @@ UPNP_GetPortMappingNumberOfEntries(const char * controlURL,
 /* UPNP_GetSpecificPortMappingEntry retrieves an existing port mapping
  * the result is returned in the intClient and intPort strings
  * please provide 16 and 6 bytes of data */
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetSpecificPortMappingEntry(const char * controlURL,
                                  const char * servicetype,
                                  const char * extPort,
-							     const char * proto,
+                                 const char * proto,
+                                 const char * remoteHost,
                                  char * intClient,
                                  char * intPort,
                                  char * desc,
@@ -596,21 +722,24 @@ UPNP_GetSpecificPortMappingEntry(const char * controlURL,
 		return UPNPCOMMAND_INVALID_ARGS;
 
 	GetPortMappingArgs = calloc(4, sizeof(struct UPNParg));
+	if(GetPortMappingArgs == NULL)
+		return UPNPCOMMAND_MEM_ALLOC_ERROR;
 	GetPortMappingArgs[0].elt = "NewRemoteHost";
-	/* TODO : add remote host ? */
+	GetPortMappingArgs[0].val = remoteHost;
 	GetPortMappingArgs[1].elt = "NewExternalPort";
 	GetPortMappingArgs[1].val = extPort;
 	GetPortMappingArgs[2].elt = "NewProtocol";
 	GetPortMappingArgs[2].val = proto;
-	if(!(buffer = simpleUPnPcommand(-1, controlURL, servicetype,
-	                                "GetSpecificPortMappingEntry",
-	                                GetPortMappingArgs, &bufsize))) {
-		free(GetPortMappingArgs);
+	buffer = simpleUPnPcommand(-1, controlURL, servicetype,
+	                           "GetSpecificPortMappingEntry",
+	                           GetPortMappingArgs, &bufsize);
+	free(GetPortMappingArgs);
+	if(!buffer) {
 		return UPNPCOMMAND_HTTP_ERROR;
 	}
 	/*DisplayNameValueList(buffer, bufsize);*/
 	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 
 	p = GetValueFromNameValueList(&pdata, "NewInternalClient");
 	if(p) {
@@ -653,7 +782,6 @@ UPNP_GetSpecificPortMappingEntry(const char * controlURL,
 	}
 
 	ClearNameValueList(&pdata);
-	free(GetPortMappingArgs);
 	return ret;
 }
 
@@ -665,7 +793,7 @@ UPNP_GetSpecificPortMappingEntry(const char * controlURL,
  * 733 InconsistantParameters - NewStartPort and NewEndPort values are not
  *                              consistent.
  */
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetListOfPortMappings(const char * controlURL,
                            const char * servicetype,
                            const char * startPort,
@@ -685,6 +813,8 @@ UPNP_GetListOfPortMappings(const char * controlURL,
 		return UPNPCOMMAND_INVALID_ARGS;
 
 	GetListOfPortMappingsArgs = calloc(6, sizeof(struct UPNParg));
+	if(GetListOfPortMappingsArgs == NULL)
+		return UPNPCOMMAND_MEM_ALLOC_ERROR;
 	GetListOfPortMappingsArgs[0].elt = "NewStartPort";
 	GetListOfPortMappingsArgs[0].val = startPort;
 	GetListOfPortMappingsArgs[1].elt = "NewEndPort";
@@ -696,17 +826,17 @@ UPNP_GetListOfPortMappings(const char * controlURL,
 	GetListOfPortMappingsArgs[4].elt = "NewNumberOfPorts";
 	GetListOfPortMappingsArgs[4].val = numberOfPorts?numberOfPorts:"1000";
 
-	if(!(buffer = simpleUPnPcommand(-1, controlURL, servicetype,
-	                                "GetListOfPortMappings",
-	                                GetListOfPortMappingsArgs, &bufsize))) {
-		free(GetListOfPortMappingsArgs);
+	buffer = simpleUPnPcommand(-1, controlURL, servicetype,
+	                           "GetListOfPortMappings",
+	                           GetListOfPortMappingsArgs, &bufsize);
+	free(GetListOfPortMappingsArgs);
+	if(!buffer) {
 		return UPNPCOMMAND_HTTP_ERROR;
 	}
-	free(GetListOfPortMappingsArgs);
 
 	/*DisplayNameValueList(buffer, bufsize);*/
 	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 
 	/*p = GetValueFromNameValueList(&pdata, "NewPortListing");*/
 	/*if(p) {
@@ -741,16 +871,16 @@ UPNP_GetListOfPortMappings(const char * controlURL,
 	}
 	ClearNameValueList(&pdata);
 
-	//printf("%.*s", bufsize, buffer);
+	/*printf("%.*s", bufsize, buffer);*/
 
 	return ret;
 }
 
-/* IGD:2, functions for service WANIPv6FirewallControl:1 */ 
-LIBSPEC int
+/* IGD:2, functions for service WANIPv6FirewallControl:1 */
+MINIUPNP_LIBSPEC int
 UPNP_GetFirewallStatus(const char * controlURL,
 				const char * servicetype,
-				int * firewallEnabled, 
+				int * firewallEnabled,
 				int * inboundPinholeAllowed)
 {
 	struct NameValueParserData pdata;
@@ -759,7 +889,7 @@ UPNP_GetFirewallStatus(const char * controlURL,
 	char * fe, *ipa, *p;
 	int ret = UPNPCOMMAND_UNKNOWN_ERROR;
 
-	if(!firewallEnabled && !inboundPinholeAllowed)
+	if(!firewallEnabled || !inboundPinholeAllowed)
 		return UPNPCOMMAND_INVALID_ARGS;
 
 	buffer = simpleUPnPcommand(-1, controlURL, servicetype,
@@ -768,7 +898,7 @@ UPNP_GetFirewallStatus(const char * controlURL,
 		return UPNPCOMMAND_HTTP_ERROR;
 	}
 	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 	fe = GetValueFromNameValueList(&pdata, "FirewallEnabled");
 	ipa = GetValueFromNameValueList(&pdata, "InboundPinholeAllowed");
 	if(ipa && fe)
@@ -791,7 +921,7 @@ UPNP_GetFirewallStatus(const char * controlURL,
 	return ret;
 }
 
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetOutboundPinholeTimeout(const char * controlURL, const char * servicetype,
                     const char * remoteHost,
                     const char * remotePort,
@@ -805,13 +935,14 @@ UPNP_GetOutboundPinholeTimeout(const char * controlURL, const char * servicetype
 	int bufsize;
 	struct NameValueParserData pdata;
 	const char * resVal;
-	char * p;
 	int ret;
 
 	if(!intPort || !intClient || !proto || !remotePort || !remoteHost)
 		return UPNPCOMMAND_INVALID_ARGS;
 
 	GetOutboundPinholeTimeoutArgs = calloc(6, sizeof(struct UPNParg));
+	if(GetOutboundPinholeTimeoutArgs == NULL)
+		return UPNPCOMMAND_MEM_ALLOC_ERROR;
 	GetOutboundPinholeTimeoutArgs[0].elt = "RemoteHost";
 	GetOutboundPinholeTimeoutArgs[0].val = remoteHost;
 	GetOutboundPinholeTimeoutArgs[1].elt = "RemotePort";
@@ -824,10 +955,11 @@ UPNP_GetOutboundPinholeTimeout(const char * controlURL, const char * servicetype
 	GetOutboundPinholeTimeoutArgs[4].val = intClient;
 	buffer = simpleUPnPcommand(-1, controlURL, servicetype,
 	                           "GetOutboundPinholeTimeout", GetOutboundPinholeTimeoutArgs, &bufsize);
+	free(GetOutboundPinholeTimeoutArgs);
 	if(!buffer)
 		return UPNPCOMMAND_HTTP_ERROR;
 	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 	resVal = GetValueFromNameValueList(&pdata, "errorCode");
 	if(resVal)
 	{
@@ -836,17 +968,16 @@ UPNP_GetOutboundPinholeTimeout(const char * controlURL, const char * servicetype
 	}
 	else
 	{
-		ret = UPNPCOMMAND_SUCCESS;
-		p = GetValueFromNameValueList(&pdata, "OutboundPinholeTimeout");
+		const char * p = GetValueFromNameValueList(&pdata, "OutboundPinholeTimeout");
 		if(p)
 			*opTimeout = my_atoui(p);
+		ret = UPNPCOMMAND_SUCCESS;
 	}
 	ClearNameValueList(&pdata);
-	free(GetOutboundPinholeTimeoutArgs);
 	return ret;
 }
 
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_AddPinhole(const char * controlURL, const char * servicetype,
                     const char * remoteHost,
                     const char * remotePort,
@@ -868,7 +999,9 @@ UPNP_AddPinhole(const char * controlURL, const char * servicetype,
 		return UPNPCOMMAND_INVALID_ARGS;
 
 	AddPinholeArgs = calloc(7, sizeof(struct UPNParg));
-	// RemoteHost can be wilcarded
+	if(AddPinholeArgs == NULL)
+		return UPNPCOMMAND_MEM_ALLOC_ERROR;
+	/* RemoteHost can be wilcarded */
 	if(strncmp(remoteHost, "empty", 5)==0)
 	{
 		AddPinholeArgs[0].elt = "RemoteHost";
@@ -899,10 +1032,11 @@ UPNP_AddPinhole(const char * controlURL, const char * servicetype,
 	AddPinholeArgs[5].val = leaseTime;
 	buffer = simpleUPnPcommand(-1, controlURL, servicetype,
 	                           "AddPinhole", AddPinholeArgs, &bufsize);
+	free(AddPinholeArgs);
 	if(!buffer)
 		return UPNPCOMMAND_HTTP_ERROR;
 	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 	p = GetValueFromNameValueList(&pdata, "UniqueID");
 	if(p)
 	{
@@ -912,7 +1046,7 @@ UPNP_AddPinhole(const char * controlURL, const char * servicetype,
 	resVal = GetValueFromNameValueList(&pdata, "errorCode");
 	if(resVal)
 	{
-		//printf("AddPortMapping errorCode = '%s'\n", resVal); 
+		/*printf("AddPortMapping errorCode = '%s'\n", resVal);*/
 		ret = UPNPCOMMAND_UNKNOWN_ERROR;
 		sscanf(resVal, "%d", &ret);
 	}
@@ -921,11 +1055,10 @@ UPNP_AddPinhole(const char * controlURL, const char * servicetype,
 		ret = UPNPCOMMAND_SUCCESS;
 	}
 	ClearNameValueList(&pdata);
-	free(AddPinholeArgs);
 	return ret;
 }
 
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_UpdatePinhole(const char * controlURL, const char * servicetype,
                     const char * uniqueID,
                     const char * leaseTime)
@@ -941,16 +1074,19 @@ UPNP_UpdatePinhole(const char * controlURL, const char * servicetype,
 		return UPNPCOMMAND_INVALID_ARGS;
 
 	UpdatePinholeArgs = calloc(3, sizeof(struct UPNParg));
+	if(UpdatePinholeArgs == NULL)
+		return UPNPCOMMAND_MEM_ALLOC_ERROR;
 	UpdatePinholeArgs[0].elt = "UniqueID";
 	UpdatePinholeArgs[0].val = uniqueID;
 	UpdatePinholeArgs[1].elt = "NewLeaseTime";
 	UpdatePinholeArgs[1].val = leaseTime;
 	buffer = simpleUPnPcommand(-1, controlURL, servicetype,
 	                           "UpdatePinhole", UpdatePinholeArgs, &bufsize);
+	free(UpdatePinholeArgs);
 	if(!buffer)
 		return UPNPCOMMAND_HTTP_ERROR;
 	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 	resVal = GetValueFromNameValueList(&pdata, "errorCode");
 	if(resVal)
 	{
@@ -963,11 +1099,10 @@ UPNP_UpdatePinhole(const char * controlURL, const char * servicetype,
 		ret = UPNPCOMMAND_SUCCESS;
 	}
 	ClearNameValueList(&pdata);
-	free(UpdatePinholeArgs);
 	return ret;
 }
 
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_DeletePinhole(const char * controlURL, const char * servicetype, const char * uniqueID)
 {
 	/*struct NameValueParserData pdata;*/
@@ -982,15 +1117,18 @@ UPNP_DeletePinhole(const char * controlURL, const char * servicetype, const char
 		return UPNPCOMMAND_INVALID_ARGS;
 
 	DeletePinholeArgs = calloc(2, sizeof(struct UPNParg));
+	if(DeletePinholeArgs == NULL)
+		return UPNPCOMMAND_MEM_ALLOC_ERROR;
 	DeletePinholeArgs[0].elt = "UniqueID";
 	DeletePinholeArgs[0].val = uniqueID;
 	buffer = simpleUPnPcommand(-1, controlURL, servicetype,
 	                           "DeletePinhole", DeletePinholeArgs, &bufsize);
+	free(DeletePinholeArgs);
 	if(!buffer)
 		return UPNPCOMMAND_HTTP_ERROR;
 	/*DisplayNameValueList(buffer, bufsize);*/
 	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 	resVal = GetValueFromNameValueList(&pdata, "errorCode");
 	if(resVal)
 	{
@@ -1002,11 +1140,10 @@ UPNP_DeletePinhole(const char * controlURL, const char * servicetype, const char
 		ret = UPNPCOMMAND_SUCCESS;
 	}
 	ClearNameValueList(&pdata);
-	free(DeletePinholeArgs);
 	return ret;
 }
 
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_CheckPinholeWorking(const char * controlURL, const char * servicetype,
                                  const char * uniqueID, int * isWorking)
 {
@@ -1021,14 +1158,19 @@ UPNP_CheckPinholeWorking(const char * controlURL, const char * servicetype,
 		return UPNPCOMMAND_INVALID_ARGS;
 
 	CheckPinholeWorkingArgs = calloc(4, sizeof(struct UPNParg));
+	if(CheckPinholeWorkingArgs == NULL)
+		return UPNPCOMMAND_MEM_ALLOC_ERROR;
 	CheckPinholeWorkingArgs[0].elt = "UniqueID";
 	CheckPinholeWorkingArgs[0].val = uniqueID;
 	buffer = simpleUPnPcommand(-1, controlURL, servicetype,
 	                           "CheckPinholeWorking", CheckPinholeWorkingArgs, &bufsize);
+	free(CheckPinholeWorkingArgs);
 	if(!buffer)
+	{
 		return UPNPCOMMAND_HTTP_ERROR;
+	}
 	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 
 	p = GetValueFromNameValueList(&pdata, "IsWorking");
 	if(p)
@@ -1047,11 +1189,10 @@ UPNP_CheckPinholeWorking(const char * controlURL, const char * servicetype,
 	}
 
 	ClearNameValueList(&pdata);
-	free(CheckPinholeWorkingArgs);
 	return ret;
 }
 
-LIBSPEC int
+MINIUPNP_LIBSPEC int
 UPNP_GetPinholePackets(const char * controlURL, const char * servicetype,
                                  const char * uniqueID, int * packets)
 {
@@ -1066,14 +1207,17 @@ UPNP_GetPinholePackets(const char * controlURL, const char * servicetype,
 		return UPNPCOMMAND_INVALID_ARGS;
 
 	GetPinholePacketsArgs = calloc(4, sizeof(struct UPNParg));
+	if(GetPinholePacketsArgs == NULL)
+		return UPNPCOMMAND_MEM_ALLOC_ERROR;
 	GetPinholePacketsArgs[0].elt = "UniqueID";
 	GetPinholePacketsArgs[0].val = uniqueID;
 	buffer = simpleUPnPcommand(-1, controlURL, servicetype,
 	                           "GetPinholePackets", GetPinholePacketsArgs, &bufsize);
+	free(GetPinholePacketsArgs);
 	if(!buffer)
 		return UPNPCOMMAND_HTTP_ERROR;
 	ParseNameValue(buffer, bufsize, &pdata);
-	free(buffer); buffer = NULL;
+	free(buffer);
 
 	p = GetValueFromNameValueList(&pdata, "PinholePackets");
 	if(p)
@@ -1090,8 +1234,5 @@ UPNP_GetPinholePackets(const char * controlURL, const char * servicetype,
 	}
 
 	ClearNameValueList(&pdata);
-	free(GetPinholePacketsArgs);
 	return ret;
 }
-
-
diff --git a/libs/miniupnpc/src/upnpdev.c b/libs/miniupnpc/src/upnpdev.c
new file mode 100644
index 0000000000..d89a9934c3
--- /dev/null
+++ b/libs/miniupnpc/src/upnpdev.c
@@ -0,0 +1,23 @@
+/* $Id: upnpdev.c,v 1.1 2015/08/28 12:14:19 nanard Exp $ */
+/* Project : miniupnp
+ * Web : http://miniupnp.free.fr/
+ * Author : Thomas BERNARD
+ * copyright (c) 2005-2015 Thomas Bernard
+ * This software is subjet to the conditions detailed in the
+ * provided LICENSE file. */
+#include <stdlib.h>
+#include "upnpdev.h"
+
+/* freeUPNPDevlist() should be used to
+ * free the chained list returned by upnpDiscover() */
+void freeUPNPDevlist(struct UPNPDev * devlist)
+{
+	struct UPNPDev * next;
+	while(devlist)
+	{
+		next = devlist->pNext;
+		free(devlist);
+		devlist = next;
+	}
+}
+
diff --git a/libs/miniupnpc/upnperrors.c b/libs/miniupnpc/src/upnperrors.c
similarity index 69%
rename from libs/miniupnpc/upnperrors.c
rename to libs/miniupnpc/src/upnperrors.c
index a48ae10d3e..eec4037389 100644
--- a/libs/miniupnpc/upnperrors.c
+++ b/libs/miniupnpc/src/upnperrors.c
@@ -1,9 +1,10 @@
-/* $Id: upnperrors.c,v 1.5 2011/04/10 11:19:36 nanard Exp $ */
-/* Project : miniupnp
+/* $Id: upnperrors.c,v 1.11 2023/05/29 21:59:15 nanard Exp $ */
+/* vim: tabstop=4 shiftwidth=4 noexpandtab
+ * Project : miniupnp
  * Author : Thomas BERNARD
- * copyright (c) 2007 Thomas Bernard
+ * copyright (c) 2007-2023 Thomas Bernard
  * All Right reserved.
- * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
+ * http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
  * This software is subjet to the conditions detailed in the
  * provided LICENCE file. */
 #include <string.h>
@@ -24,10 +25,17 @@ const char * strupnperror(int err)
 	case UPNPCOMMAND_INVALID_ARGS:
 		s = "Miniupnpc Invalid Arguments";
 		break;
+	case UPNPCOMMAND_INVALID_RESPONSE:
+		s = "Miniupnpc Invalid response";
+		break;
+	case UPNPCOMMAND_HTTP_ERROR:
+		s = "Miniupnpc HTTP error";
+		break;
 	case UPNPDISCOVER_SOCKET_ERROR:
 		s = "Miniupnpc Socket error";
 		break;
 	case UPNPDISCOVER_MEMORY_ERROR:
+	case UPNPCOMMAND_MEM_ALLOC_ERROR:
 		s = "Miniupnpc Memory allocation error";
 		break;
 	case 401:
@@ -39,6 +47,24 @@ const char * strupnperror(int err)
 	case 501:
 		s = "Action Failed";
 		break;
+	case 600:
+		s = "Argument Value Invalid";
+		break;
+	case 601:
+		s = "Argument Value Out of Range";
+		break;
+	case 602:
+		s = "Optional Action Not Implemented";
+		break;
+	case 603:
+		s = "Out of Memory";
+		break;
+	case 604:
+		s = "Human Intervention Required";
+		break;
+	case 605:
+		s = "String Argument Too Long";
+		break;
 	case 606:
 		s = "Action not authorized";
 		break;
@@ -64,7 +90,7 @@ const char * strupnperror(int err)
 		s = "ProtocolWildcardingNotAllowed";
 		break;
 	case 708:
-		s = "WildcardNotPermittedInSrcIP";
+		s = "InvalidLayer2Address";
 		break;
 	case 709:
 		s = "NoPacketSent";
@@ -97,7 +123,8 @@ const char * strupnperror(int err)
 		s = "ExternalPortOnlySupportsWildcard";
 		break;
 	default:
-		s = NULL;
+		s = "UnknownError";
+		break;
 	}
 	return s;
 }
diff --git a/libs/miniupnpc/upnpreplyparse.c b/libs/miniupnpc/src/upnpreplyparse.c
similarity index 58%
rename from libs/miniupnpc/upnpreplyparse.c
rename to libs/miniupnpc/src/upnpreplyparse.c
index 482030b358..afbfcc1af0 100644
--- a/libs/miniupnpc/upnpreplyparse.c
+++ b/libs/miniupnpc/src/upnpreplyparse.c
@@ -1,7 +1,8 @@
-/* $Id: upnpreplyparse.c,v 1.11 2011/02/07 16:17:06 nanard Exp $ */
-/* MiniUPnP project
+/* $Id: upnpreplyparse.c,v 1.21 2019/04/08 13:30:51 nanard Exp $ */
+/* vim: tabstop=4 shiftwidth=4 noexpandtab
+ * MiniUPnP project
  * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
- * (c) 2006-2011 Thomas Bernard 
+ * (c) 2006-2019 Thomas Bernard
  * This software is subject to the conditions detailed
  * in the LICENCE file provided within the distribution */
 
@@ -15,25 +16,77 @@
 static void
 NameValueParserStartElt(void * d, const char * name, int l)
 {
-    struct NameValueParserData * data = (struct NameValueParserData *)d;
+	struct NameValueParserData * data = (struct NameValueParserData *)d;
+	data->topelt = 1;
     if(l>63)
         l = 63;
     memcpy(data->curelt, name, l);
     data->curelt[l] = '\0';
+	data->cdata = NULL;
+	data->cdatalen = 0;
 }
 
 static void
-NameValueParserGetData(void * d, const char * datas, int l)
+NameValueParserEndElt(void * d, const char * name, int namelen)
 {
     struct NameValueParserData * data = (struct NameValueParserData *)d;
     struct NameValue * nv;
+	(void)name;
+	(void)namelen;
+	if(!data->topelt)
+		return;
+	if(strcmp(data->curelt, "NewPortListing") != 0)
+	{
+		int l;
+		/* standard case. Limited to n chars strings */
+		l = data->cdatalen;
+	    nv = malloc(sizeof(struct NameValue));
+		if(nv == NULL)
+		{
+			/* malloc error */
+#ifdef DEBUG
+			fprintf(stderr, "%s: error allocating memory",
+			        "NameValueParserEndElt");
+#endif /* DEBUG */
+			return;
+		}
+	    if(l>=(int)sizeof(nv->value))
+	        l = sizeof(nv->value) - 1;
+	    strncpy(nv->name, data->curelt, 64);
+		nv->name[63] = '\0';
+		if(data->cdata != NULL)
+		{
+			memcpy(nv->value, data->cdata, l);
+			nv->value[l] = '\0';
+		}
+		else
+		{
+			nv->value[0] = '\0';
+		}
+		nv->l_next = data->l_head;	/* insert in list */
+		data->l_head = nv;
+	}
+	data->cdata = NULL;
+	data->cdatalen = 0;
+	data->topelt = 0;
+}
+
+static void
+NameValueParserGetData(void * d, const char * datas, int l)
+{
+    struct NameValueParserData * data = (struct NameValueParserData *)d;
 	if(strcmp(data->curelt, "NewPortListing") == 0)
 	{
 		/* specific case for NewPortListing which is a XML Document */
+		free(data->portListing);
 		data->portListing = malloc(l + 1);
 		if(!data->portListing)
 		{
 			/* malloc error */
+#ifdef DEBUG
+			fprintf(stderr, "%s: error allocating memory",
+			        "NameValueParserGetData");
+#endif /* DEBUG */
 			return;
 		}
 		memcpy(data->portListing, datas, l);
@@ -42,15 +95,9 @@ NameValueParserGetData(void * d, const char * datas, int l)
 	}
 	else
 	{
-		/* standard case. Limited to 63 chars strings */
-	    nv = malloc(sizeof(struct NameValue));
-	    if(l>63)
-	        l = 63;
-	    strncpy(nv->name, data->curelt, 64);
-		nv->name[63] = '\0';
-	    memcpy(nv->value, datas, l);
-	    nv->value[l] = '\0';
-	    LIST_INSERT_HEAD( &(data->head), nv, entries);
+		/* standard case. */
+		data->cdata = datas;
+		data->cdatalen = l;
 	}
 }
 
@@ -58,19 +105,17 @@ void
 ParseNameValue(const char * buffer, int bufsize,
                struct NameValueParserData * data)
 {
-    struct xmlparser parser;
-    LIST_INIT(&(data->head));
-	data->portListing = NULL;
-	data->portListingLength = 0;
-    /* init xmlparser object */
-    parser.xmlstart = buffer;
-    parser.xmlsize = bufsize;
-    parser.data = data;
-    parser.starteltfunc = NameValueParserStartElt;
-    parser.endeltfunc = 0;
-    parser.datafunc = NameValueParserGetData;
+	struct xmlparser parser;
+	memset(data, 0, sizeof(struct NameValueParserData));
+	/* init xmlparser object */
+	parser.xmlstart = buffer;
+	parser.xmlsize = bufsize;
+	parser.data = data;
+	parser.starteltfunc = NameValueParserStartElt;
+	parser.endeltfunc = NameValueParserEndElt;
+	parser.datafunc = NameValueParserGetData;
 	parser.attfunc = 0;
-    parsexml(&parser);
+	parsexml(&parser);
 }
 
 void
@@ -83,22 +128,22 @@ ClearNameValueList(struct NameValueParserData * pdata)
 		pdata->portListing = NULL;
 		pdata->portListingLength = 0;
 	}
-    while((nv = pdata->head.lh_first) != NULL)
+    while((nv = pdata->l_head) != NULL)
     {
-        LIST_REMOVE(nv, entries);
+		pdata->l_head = nv->l_next;
         free(nv);
     }
 }
 
-char * 
+char *
 GetValueFromNameValueList(struct NameValueParserData * pdata,
                           const char * Name)
 {
     struct NameValue * nv;
     char * p = NULL;
-    for(nv = pdata->head.lh_first;
+    for(nv = pdata->l_head;
         (nv != NULL) && (p == NULL);
-        nv = nv->entries.le_next)
+        nv = nv->l_next)
     {
         if(strcmp(nv->name, Name) == 0)
             p = nv->value;
@@ -131,7 +176,7 @@ GetValueFromNameValueListIgnoreNS(struct NameValueParserData * pdata,
 }
 #endif
 
-/* debug all-in-one function 
+/* debug all-in-one function
  * do parsing then display to stdout */
 #ifdef DEBUG
 void
@@ -140,13 +185,13 @@ DisplayNameValueList(char * buffer, int bufsize)
     struct NameValueParserData pdata;
     struct NameValue * nv;
     ParseNameValue(buffer, bufsize, &pdata);
-    for(nv = pdata.head.lh_first;
+    for(nv = pdata.l_head;
         nv != NULL;
-        nv = nv->entries.le_next)
+        nv = nv->l_next)
     {
         printf("%s = %s\n", nv->name, nv->value);
     }
     ClearNameValueList(&pdata);
 }
-#endif
+#endif /* DEBUG */
 
diff --git a/libs/miniupnpc/src/win32_snprintf.h b/libs/miniupnpc/src/win32_snprintf.h
new file mode 100644
index 0000000000..1fc284ecff
--- /dev/null
+++ b/libs/miniupnpc/src/win32_snprintf.h
@@ -0,0 +1,71 @@
+/* vim: tabstop=4 shiftwidth=4 noexpandtab
+ * MiniUPnP project
+ * http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
+ * (c) 2020 Pali Rohár
+ * This software is subject to the conditions detailed
+ * in the LICENCE file provided within the distribution */
+
+#ifndef WIN32_SNPRINTF_H
+#define WIN32_SNPRINTF_H
+
+#ifdef _WIN32
+
+#include <stdio.h>
+
+/* snprintf is supported by:
+ *  - Visual Studio 2015 or new
+ *  - mingw32 with iso c ext
+ *  - mingw-w64 with ansi stdio
+ *  - mingw-w64 6.0.0 or new with ucrt
+ *  - mingw-w64 8.0.0 or new with iso c ext
+ */
+#if ( \
+	(defined(_MSC_VER) && _MSC_VER < 1900) /* Visual Studio older than 2015 */ || \
+	(defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) && defined(__NO_ISOCEXT)) /* mingw32 without iso c ext */ || \
+	(defined(__MINGW64_VERSION_MAJOR) && /* mingw-w64 not ... */ !( \
+		(defined (__USE_MINGW_ANSI_STDIO) && __USE_MINGW_ANSI_STDIO != 0)) /* ... with ansi stdio */ || \
+		(__MINGW64_VERSION_MAJOR >= 6 && defined(_UCRT)) /* ... at least 6.0.0 with ucrt */ || \
+		(__MINGW64_VERSION_MAJOR >= 8 && !defined(__NO_ISOCEXT)) /* ... at least 8.0.0 with iso c ext */ || \
+	0) || \
+0)
+
+/* _scprintf is supported by:
+ *  - Visual Studio 2002 or new
+ *  - msvcr70.dll or new
+ *  - msvcrt.dll on Windows XP or new
+ */
+#if ( \
+	(defined(_MSC_VER) && _MSC_VER < 1300) /* Visual Studio older than 2002 */ || \
+	(defined(__MSVCRT_VERSION__) && __MSVCRT_VERSION__ < 0x700) /* msvcrt older than 7.0 */ || \
+0)
+#define CHECK_SCPRINTF 0
+#define IF_SCPRINTF(expr) 0
+#define ELSE_SCPRINTF(expr) expr
+#else
+#define CHECK_SCPRINTF 1
+#define IF_SCPRINTF(expr) expr
+#define ELSE_SCPRINTF(expr) 0
+#endif
+
+/* Emulation of snprintf for win32 */
+#define snprintf(buf, size, fmt, ...) ( \
+	(((size) != 0 && (buf) != NULL) ? ( /* _snprintf does not work with NULL buffer */ \
+		_snprintf((buf), (size), (fmt), __VA_ARGS__), /* _snprintf returns -1 on overflow, so ignore its value */ \
+		(((char *)buf)[(size_t)(size)-1] = 0), /* _snprintf does not fill nul byte on overflow */ \
+	0) : 0), \
+	(CHECK_SCPRINTF ? IF_SCPRINTF( \
+		_scprintf((fmt), __VA_ARGS__) /* calculate return value for snprintf via _scprintf */ \
+	) : ELSE_SCPRINTF( \
+		((size) != 0 && (buf) != NULL) ? \
+			strlen((buf)) /* return just length of buffer */ \
+		: \
+			1 /* no buffer, impossible to calculate, return just non-zero number */ \
+		) \
+	) \
+)
+
+#endif
+
+#endif /* _WIN32 */
+
+#endif /* WIN32_SNPRINTF_H */
diff --git a/libs/miniupnpc/testdesc/linksys_WAG200G_desc.values b/libs/miniupnpc/testdesc/linksys_WAG200G_desc.values
new file mode 100644
index 0000000000..cf42221878
--- /dev/null
+++ b/libs/miniupnpc/testdesc/linksys_WAG200G_desc.values
@@ -0,0 +1,14 @@
+# values for linksys_WAG200G_desc.xml
+
+CIF:
+ servicetype = urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1
+ controlurl = /upnp/control/WANCommonIFC1
+ eventsuburl = /upnp/event/WANCommonIFC1
+ scpdurl = /cmnicfg.xml
+
+first:
+ servicetype = urn:schemas-upnp-org:service:WANPPPConnection:1
+ controlurl = /upnp/control/WANPPPConn1
+ eventsuburl = /upnp/event/WANPPPConn1
+ scpdurl = /pppcfg.xml
+
diff --git a/libs/miniupnpc/testdesc/linksys_WAG200G_desc.xml b/libs/miniupnpc/testdesc/linksys_WAG200G_desc.xml
new file mode 100644
index 0000000000..d428d73b0f
--- /dev/null
+++ b/libs/miniupnpc/testdesc/linksys_WAG200G_desc.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0"?>
+<root xmlns="urn:schemas-upnp-org:device-1-0">
+<specVersion>
+<major>1</major>
+<minor>0</minor>
+</specVersion>
+<URLBase>http://192.168.1.1:49152</URLBase>
+<device>
+<deviceType>urn:schemas-upnp-org:device:InternetGatewayDevice:1</deviceType>
+<friendlyName>LINKSYS WAG200G Gateway</friendlyName>
+<manufacturer>LINKSYS</manufacturer>
+<manufacturerURL>http://www.linksys.com</manufacturerURL>
+<modelDescription>LINKSYS WAG200G Gateway</modelDescription>
+<modelName>Wireless-G ADSL Home Gateway</modelName>
+<modelNumber>WAG200G</modelNumber>
+<modelURL>http://www.linksys.com</modelURL>
+<serialNumber>123456789</serialNumber>
+<UDN>uuid:8ca2eb37-1dd2-11b2-86f1-001a709b5aa8</UDN>
+<UPC>WAG200G</UPC>
+<serviceList>
+<service>
+<serviceType>urn:schemas-upnp-org:service:Layer3Forwarding:1</serviceType>
+<serviceId>urn:upnp-org:serviceId:L3Forwarding1</serviceId>
+<controlURL>/upnp/control/L3Forwarding1</controlURL>
+<eventSubURL>/upnp/event/L3Forwarding1</eventSubURL>
+<SCPDURL>/l3frwd.xml</SCPDURL>
+</service>
+</serviceList>
+<deviceList>
+<device>
+<deviceType>urn:schemas-upnp-org:device:WANDevice:1</deviceType>
+<friendlyName>WANDevice</friendlyName>
+<manufacturer>LINKSYS</manufacturer>
+<manufacturerURL>http://www.linksys.com/</manufacturerURL>
+<modelDescription>Residential Gateway</modelDescription>
+<modelName>Internet Connection Sharing</modelName>
+<modelNumber>1</modelNumber>
+<modelURL>http://www.linksys.com/</modelURL>
+<serialNumber>0000001</serialNumber>
+<UDN>uuid:8ca2eb36-1dd2-11b2-86f1-001a709b5aa8</UDN>
+<UPC>WAG200G</UPC>
+<serviceList>
+<service>
+<serviceType>urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1</serviceType>
+<serviceId>urn:upnp-org:serviceId:WANCommonIFC1</serviceId>
+<controlURL>/upnp/control/WANCommonIFC1</controlURL>
+<eventSubURL>/upnp/event/WANCommonIFC1</eventSubURL>
+<SCPDURL>/cmnicfg.xml</SCPDURL>
+</service>
+</serviceList>
+<deviceList>
+<device>
+<deviceType>urn:schemas-upnp-org:device:WANConnectionDevice:1</deviceType>
+<friendlyName>WANConnectionDevice</friendlyName>
+<manufacturer>LINKSYS</manufacturer>
+<manufacturerURL>http://www.linksys.com/</manufacturerURL>
+<modelDescription>Residential Gateway</modelDescription>
+<modelName>Internet Connection Sharing</modelName>
+<modelNumber>1</modelNumber>
+<modelURL>http://www.linksys.com/</modelURL>
+<serialNumber>0000001</serialNumber>
+<UDN>uuid:8ca2eb37-1dd2-11b2-86f0-001a709b5aa8</UDN>
+<UPC>WAG200G</UPC>
+<serviceList>
+<service>
+<serviceType>urn:schemas-upnp-org:service:WANEthernetLinkConfig:1</serviceType>
+<serviceId>urn:upnp-org:serviceId:WANEthLinkC1</serviceId>
+<controlURL>/upnp/control/WANEthLinkC1</controlURL>
+<eventSubURL>/upnp/event/WANEthLinkC1</eventSubURL>
+<SCPDURL>/wanelcfg.xml</SCPDURL>
+</service>
+<service>
+<serviceType>urn:schemas-upnp-org:service:WANPPPConnection:1</serviceType>
+<serviceId>urn:upnp-org:serviceId:WANPPPConn1</serviceId>
+<controlURL>/upnp/control/WANPPPConn1</controlURL>
+<eventSubURL>/upnp/event/WANPPPConn1</eventSubURL>
+<SCPDURL>/pppcfg.xml</SCPDURL>
+</service>
+</serviceList>
+</device>
+</deviceList>
+</device>
+<device>
+<deviceType>urn:schemas-upnp-org:device:LANDevice:1</deviceType>
+<friendlyName>LANDevice</friendlyName>
+<manufacturer>LINKSYS</manufacturer>
+<manufacturerURL>http://www.linksys.com/</manufacturerURL>
+<modelDescription>Residential Gateway</modelDescription>
+<modelName>Residential Gateway</modelName>
+<modelNumber>1</modelNumber>
+<modelURL>http://www.linksys.com/</modelURL>
+<serialNumber>0000001</serialNumber>
+<UDN>uuid:8ca2eb36-1dd2-11b2-86f0-001a709b5aa
+8</UDN>
+<UPC>WAG200G</UPC>
+<serviceList>
+<service>
+<serviceType>urn:schemas-upnp-org:service:LANHostConfigManagement:1</serviceType>
+<serviceId>urn:upnp-org:serviceId:LANHostCfg1</serviceId>
+<controlURL>/upnp/control/LANHostCfg1</controlURL>
+<eventSubURL>/upnp/event/LANHostCfg1</eventSubURL>
+<SCPDURL>/lanhostc.xml</SCPDURL>
+</service>
+</serviceList>
+</device>
+</deviceList>
+<presentationURL>http://192.168.1.1/index.htm</presentationURL>
+</device>
+</root>
+
diff --git a/libs/miniupnpc/testdesc/new_LiveBox_desc.values b/libs/miniupnpc/testdesc/new_LiveBox_desc.values
new file mode 100644
index 0000000000..c55552e589
--- /dev/null
+++ b/libs/miniupnpc/testdesc/new_LiveBox_desc.values
@@ -0,0 +1,20 @@
+# values for new_LiveBox_desc.xml
+
+CIF:
+ servicetype = urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1
+ controlurl = /87895a19/upnp/control/WANCommonIFC1
+ eventsuburl = /87895a19/upnp/control/WANCommonIFC1
+ scpdurl = /87895a19/gateicfgSCPD.xml
+
+first:
+ servicetype = urn:schemas-upnp-org:service:WANPPPConnection:2
+ controlurl = /87895a19/upnp/control/WANIPConn1
+ eventsuburl = /87895a19/upnp/control/WANIPConn1
+ scpdurl = /87895a19/gateconnSCPD_PPP.xml
+
+IPv6FC:
+ servicetype = urn:schemas-upnp-org:service:WANIPv6FirewallControl:1
+ controlurl = /87895a19/upnp/control/WANIPv6FwCtrl1
+ eventsuburl = /87895a19/upnp/control/WANIPv6FwCtrl1
+ scpdurl = /87895a19/wanipv6fwctrlSCPD.xml
+
diff --git a/libs/miniupnpc/testdesc/new_LiveBox_desc.xml b/libs/miniupnpc/testdesc/new_LiveBox_desc.xml
new file mode 100644
index 0000000000..3e522df597
--- /dev/null
+++ b/libs/miniupnpc/testdesc/new_LiveBox_desc.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+<root xmlns="urn:schemas-upnp-org:device-1-0">
+  <specVersion>
+    <major>1</major>
+    <minor>0</minor>
+  </specVersion>
+  <device>
+    <pnpx:X_hardwareId xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/11">VEN_0129&amp;DEV_0000&amp;SUBSYS_03&amp;REV_250417</pnpx:X_hardwareId>
+    <pnpx:X_compatibleId xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/11">GenericUmPass</pnpx:X_compatibleId>
+    <pnpx:X_deviceCategory xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/11">NetworkInfrastructure.Gateway</pnpx:X_deviceCategory>
+    <df:X_deviceCategory xmlns:df="http://schemas.microsoft.com/windows/2008/09/devicefoundation">Network.Gateway</df:X_deviceCategory>
+    <deviceType>urn:schemas-upnp-org:device:InternetGatewayDevice:2</deviceType>
+    <friendlyName>Orange Livebox</friendlyName>
+    <manufacturer>Sagemcom</manufacturer>
+    <manufacturerURL>http://www.sagemcom.com/</manufacturerURL>
+    <modelName>Residential Livebox,(DSL,WAN Ethernet)</modelName>
+    <UDN>uuid:87895a19-50f9-3736-a87f-115c230155f8</UDN>
+    <modelDescription>Sagemcom,fr,SG30_sip-fr-4.28.35.1</modelDescription>
+    <modelNumber>3</modelNumber>
+    <serialNumber>LK14129DP441489</serialNumber>
+    <presentationURL>http://192.168.1.1</presentationURL>
+    <UPC></UPC>
+    <iconList>
+      <icon>
+        <mimetype>image/png</mimetype>
+        <width>16</width>
+        <height>16</height>
+        <depth>8</depth>
+        <url>/87895a19/ligd.png</url>
+      </icon>
+    </iconList>
+    <deviceList>
+      <device>
+        <deviceType>urn:schemas-upnp-org:device:WANDevice:2</deviceType>
+        <friendlyName>WANDevice</friendlyName>
+        <manufacturer>Sagemcom</manufacturer>
+        <manufacturerURL>http://www.sagemcom.com/</manufacturerURL>
+        <modelDescription>WAN Device on Sagemcom,fr,SG30_sip-fr-4.28.35.1</modelDescription>
+        <modelName>Residential Livebox,(DSL,WAN Ethernet)</modelName>
+        <modelNumber>3</modelNumber>
+        <modelURL>http://www.sagemcom.com/</modelURL>
+        <serialNumber>LK14129DP441489</serialNumber>
+        <presentationURL>http://192.168.1.1</presentationURL>
+        <UDN>uuid:e2397374-53d8-3fc6-8306-593ba1a34625</UDN>
+        <UPC></UPC>
+        <serviceList>
+          <service>
+            <serviceType>urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1</serviceType>
+            <serviceId>urn:upnp-org:serviceId:WANCommonIFC1</serviceId>
+            <controlURL>/87895a19/upnp/control/WANCommonIFC1</controlURL>
+            <eventSubURL>/87895a19/upnp/control/WANCommonIFC1</eventSubURL>
+            <SCPDURL>/87895a19/gateicfgSCPD.xml</SCPDURL>
+          </service>
+        </serviceList>
+        <deviceList>
+          <device>
+            <deviceType>urn:schemas-upnp-org:device:WANConnectionDevice:2</deviceType>
+            <friendlyName>WANConnectionDevice</friendlyName>
+            <manufacturer>Sagemcom</manufacturer>
+            <manufacturerURL>http://www.sagemcom.com/</manufacturerURL>
+            <modelDescription>WanConnectionDevice on Sagemcom,fr,SG30_sip-fr-4.28.35.1</modelDescription>
+            <modelName>Residential Livebox,(DSL,WAN Ethernet)</modelName>
+            <modelNumber>3</modelNumber>
+            <modelURL>http://www.sagemcom.com/</modelURL>
+            <serialNumber>LK14129DP441489</serialNumber>
+            <presentationURL>http://192.168.1.1</presentationURL>
+            <UDN>uuid:44598a08-288e-32c9-8a4d-d3c008ede331</UDN>
+            <UPC></UPC>
+            <serviceList>
+              <service>
+                <serviceType>urn:schemas-upnp-org:service:WANPPPConnection:2</serviceType>
+                <serviceId>urn:upnp-org:serviceId:WANIPConn1</serviceId>
+                <controlURL>/87895a19/upnp/control/WANIPConn1</controlURL>
+                <eventSubURL>/87895a19/upnp/control/WANIPConn1</eventSubURL>
+                <SCPDURL>/87895a19/gateconnSCPD_PPP.xml</SCPDURL>
+              </service>
+             <service>
+                <serviceType>urn:schemas-upnp-org:service:WANIPv6FirewallControl:1</serviceType>
+                <serviceId>urn:upnp-org:serviceId:WANIPv6FwCtrl1</serviceId>
+                <controlURL>/87895a19/upnp/control/WANIPv6FwCtrl1</controlURL>
+                <eventSubURL>/87895a19/upnp/control/WANIPv6FwCtrl1</eventSubURL>
+                <SCPDURL>/87895a19/wanipv6fwctrlSCPD.xml</SCPDURL>
+              </service>
+            </serviceList>
+          </device>
+        </deviceList>
+      </device>
+    </deviceList>
+  </device>
+</root>
\ No newline at end of file
diff --git a/libs/miniupnpc/testigddescparse.c b/libs/miniupnpc/testigddescparse.c
deleted file mode 100644
index 1b0cde90e2..0000000000
--- a/libs/miniupnpc/testigddescparse.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* $Id: testigddescparse.c,v 1.2 2009/12/03 13:50:06 nanard Exp $ */
-/* Project : miniupnp
- * http://miniupnp.free.fr/
- * Author : Thomas Bernard
- * Copyright (c) 2008-2009 Thomas Bernard
- * This software is subject to the conditions detailed in the
- * LICENCE file provided in this distribution.
- * */
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "igd_desc_parse.h"
-#include "minixml.h"
-#include "miniupnpc.h"
-
-int test_igd_desc_parse(char * buffer, int len)
-{
-	struct IGDdatas igd;
-	struct xmlparser parser;
-	struct UPNPUrls urls;
-	memset(&igd, 0, sizeof(struct IGDdatas));
-	memset(&parser, 0, sizeof(struct xmlparser));
-	parser.xmlstart = buffer;
-	parser.xmlsize = len;
-	parser.data = &igd;
-	parser.starteltfunc = IGDstartelt;
-	parser.endeltfunc = IGDendelt;
-	parser.datafunc = IGDdata; 
-	parsexml(&parser);
-	printIGD(&igd);
-	GetUPNPUrls(&urls, &igd, "http://fake/desc/url/file.xml");
-	printf("ipcondescURL='%s'\n", urls.ipcondescURL);
-	printf("controlURL='%s'\n", urls.controlURL);
-	printf("controlURL_CIF='%s'\n", urls.controlURL_CIF);
-	FreeUPNPUrls(&urls);
-	return 0;
-}
-
-int main(int argc, char * * argv)
-{
-	FILE * f;
-	char * buffer;
-	int len;
-	int r = 0;
-	if(argc<2) {
-		fprintf(stderr, "Usage: %s file.xml\n", argv[0]);
-		return 1;
-	}
-	f = fopen(argv[1], "r");
-	if(!f) {
-		fprintf(stderr, "Cannot open %s for reading.\n", argv[1]);
-		return 1;
-	}
-	fseek(f, 0, SEEK_END);
-	len = ftell(f);
-	fseek(f, 0, SEEK_SET);
-	buffer = malloc(len);
-	fread(buffer, 1, len, f);
-	fclose(f);
-	r = test_igd_desc_parse(buffer, len);
-	free(buffer);
-	return r;
-}
-
diff --git a/libs/miniupnpc/testminiwget.sh b/libs/miniupnpc/testminiwget.sh
index c048e5bd13..80f90481ed 100755
--- a/libs/miniupnpc/testminiwget.sh
+++ b/libs/miniupnpc/testminiwget.sh
@@ -1,42 +1,91 @@
 #!/bin/sh
-# $Id: testminiwget.sh,v 1.4 2011/05/09 08:53:15 nanard Exp $
+# $Id: testminiwget.sh,v 1.20 2022/10/21 21:09:42 nanard Exp $
+# vim: tabstop=4 shiftwidth=4 noexpandtab
 # project miniupnp : http://miniupnp.free.fr/
-# (c) 2011 Thomas Bernard
+#                    or https://miniupnp.tuxfamily.org/
+# (c) 2011-2022 Thomas Bernard
 #
 # test program for miniwget.c
 # is usually invoked by "make check"
 #
 # This test program :
 #  1 - launches a local HTTP server (minihttptestserver)
-#  2 - uses testminiwget to retreive data from this server
+#  2 - uses testminiwget to retrieve data from this server
 #  3 - compares served and received data
 #  4 - kills the local HTTP server and exits
 #
+# The script was tested and works with ksh, bash
+# it should now also run with dash
 
-HTTPSERVEROUT=/tmp/httpserverout
-EXPECTEDFILE=/tmp/expectedfile
-DOWNLOADEDFILE=/tmp/downloadedfile
-#ADDR=localhost
-ADDR="[::1]"
+TMPD=`mktemp -d -t miniwgetXXXXXXXXXX`
+if [ -z "$TESTSERVER" ] ; then
+  TESTSERVER=./build/minihttptestserver
+fi
+if [ -z "$TESTMINIWGET" ] ; then
+  TESTMINIWGET=./build/testminiwget
+fi
+HTTPSERVEROUT="${TMPD}/httpserverout"
+EXPECTEDFILE="${TMPD}/expectedfile"
+DOWNLOADEDFILE="${TMPD}/downloadedfile"
 PORT=
 RET=0
+IPCONFIG=$(which ifconfig)
+IP=$(which ip)
+if [ "$IP" ] ; then
+	if ! $IP addr | grep inet6 ; then
+		HAVE_IPV6=no
+	fi
+else
+	if [ -z "$IPCONFIG" ] ; then
+		IPCONFIG="/sbin/ifconfig"
+	fi
+
+	if ! $IPCONFIG -a | grep inet6 ; then
+		HAVE_IPV6=no
+	fi
+fi
 
-#make minihttptestserver
-#make testminiwget
+case "$HAVE_IPV6" in
+    n|no|0)
+        ADDR=localhost
+        SERVERARGS=""
+        ;;
+    *)
+        ADDR="[::1]"
+        SERVERARGS="-6"
+        ;;
+
+esac
+
+if [ ! -x "$TESTSERVER" ] || [ ! -x "$TESTMINIWGET" ] ; then
+	echo "Please build $TESTSERVER and $TESTMINIWGET"
+	#make minihttptestserver
+	#make testminiwget
+	exit 1
+fi
 
 # launching the test HTTP server
-./minihttptestserver -6 -e $EXPECTEDFILE > $HTTPSERVEROUT &
-while [ "$PORT" == "" ]; do
+$TESTSERVER $SERVERARGS -e $EXPECTEDFILE > $HTTPSERVEROUT &
+SERVERPID=$!
+while [ -z "$PORT" ]; do
+	sleep 1
 	PORT=`cat $HTTPSERVEROUT | sed 's/Listening on port \([0-9]*\)/\1/' `
 done
+if [ "$PORT" = "*** ERROR ***" ]; then
+	echo "HTTP test server error"
+	echo "Network config :"
+	$IPCONFIG -a
+	exit 2
+fi
 echo "Test HTTP server is listening on $PORT"
 
 URL1="http://$ADDR:$PORT/index.html"
 URL2="http://$ADDR:$PORT/chunked"
 URL3="http://$ADDR:$PORT/addcrap"
+URL4="http://$ADDR:$PORT/malformed"
 
 echo "standard test ..."
-./testminiwget $URL1 "${DOWNLOADEDFILE}.1"
+$TESTMINIWGET $URL1 "${DOWNLOADEDFILE}.1"
 if cmp $EXPECTEDFILE "${DOWNLOADEDFILE}.1" ; then
 	echo "ok"
 else
@@ -45,7 +94,7 @@ else
 fi
 
 echo "chunked transfert encoding test ..."
-./testminiwget $URL2 "${DOWNLOADEDFILE}.2"
+$TESTMINIWGET $URL2 "${DOWNLOADEDFILE}.2"
 if cmp $EXPECTEDFILE "${DOWNLOADEDFILE}.2" ; then
 	echo "ok"
 else
@@ -54,7 +103,7 @@ else
 fi
 
 echo "response too long test ..."
-./testminiwget $URL3 "${DOWNLOADEDFILE}.3"
+$TESTMINIWGET $URL3 "${DOWNLOADEDFILE}.3"
 if cmp $EXPECTEDFILE "${DOWNLOADEDFILE}.3" ; then
 	echo "ok"
 else
@@ -62,9 +111,12 @@ else
 	RET=1
 fi
 
+echo "malformed response test ..."
+$TESTMINIWGET $URL4 "${DOWNLOADEDFILE}.4"
+
 # kill the test HTTP server
-kill %1
-wait %1
+kill $SERVERPID
+wait $SERVERPID
 
 # remove temporary files (for success cases)
 if [ $RET -eq 0 ]; then
@@ -72,8 +124,10 @@ if [ $RET -eq 0 ]; then
 	rm -f "${DOWNLOADEDFILE}.2"
 	rm -f "${DOWNLOADEDFILE}.3"
 	rm -f $EXPECTEDFILE $HTTPSERVEROUT
+	rmdir ${TMPD}
 else
 	echo "at least one of the test FAILED"
+	echo "directory ${TMPD} is left intact"
 fi
 exit $RET
 
diff --git a/libs/miniupnpc/testreplyparse/DeletePortMapping.namevalue b/libs/miniupnpc/testreplyparse/DeletePortMapping.namevalue
new file mode 100644
index 0000000000..48ca0cccbd
--- /dev/null
+++ b/libs/miniupnpc/testreplyparse/DeletePortMapping.namevalue
@@ -0,0 +1,3 @@
+NewRemoteHost=
+NewExternalPort=123
+NewProtocol=TCP
diff --git a/libs/miniupnpc/testreplyparse/DeletePortMapping.xml b/libs/miniupnpc/testreplyparse/DeletePortMapping.xml
new file mode 100644
index 0000000000..a955c53fcd
--- /dev/null
+++ b/libs/miniupnpc/testreplyparse/DeletePortMapping.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:DeletePortMapping xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1"><NewRemoteHost></NewRemoteHost><NewExternalPort>123</NewExternalPort>
+<NewProtocol>TCP</NewProtocol></u:DeletePortMapping></s:Body>
+ 
+</s:Envelope>
+
diff --git a/libs/miniupnpc/testreplyparse/GetExternalIPAddress.namevalue b/libs/miniupnpc/testreplyparse/GetExternalIPAddress.namevalue
new file mode 100644
index 0000000000..5aa75f882f
--- /dev/null
+++ b/libs/miniupnpc/testreplyparse/GetExternalIPAddress.namevalue
@@ -0,0 +1,2 @@
+NewExternalIPAddress=1.2.3.4
+
diff --git a/libs/miniupnpc/testreplyparse/GetExternalIPAddress.xml b/libs/miniupnpc/testreplyparse/GetExternalIPAddress.xml
new file mode 100644
index 0000000000..db7ec1f9cb
--- /dev/null
+++ b/libs/miniupnpc/testreplyparse/GetExternalIPAddress.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetExternalIPAddressResponse xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1"><NewExternalIPAddress>1.2.3.4</NewExternalIPAddress></u:GetExternalIPAddressResponse></s:Body></s:Envelope>
+
diff --git a/libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryReq.namevalue b/libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryReq.namevalue
new file mode 100644
index 0000000000..26b169c357
--- /dev/null
+++ b/libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryReq.namevalue
@@ -0,0 +1,3 @@
+NewProtocol=UDP
+NewExternalPort=12345
+NewRemoteHost=
diff --git a/libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryReq.xml b/libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryReq.xml
new file mode 100644
index 0000000000..bbb540eace
--- /dev/null
+++ b/libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryReq.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetSpecificPortMappingEntry xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1"><NewRemoteHost></NewRemoteHost><NewExternalPort>12345</NewExternalPort><NewProtocol>UDP</NewProtocol></u:GetSpecificPortMappingEntry></s:Body></s:Envelope>
+
diff --git a/libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryResp.namevalue b/libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryResp.namevalue
new file mode 100644
index 0000000000..2189789b4a
--- /dev/null
+++ b/libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryResp.namevalue
@@ -0,0 +1,5 @@
+NewInternalPort=12345
+NewInternalClient=192.168.10.110
+NewEnabled=1
+NewPortMappingDescription=libminiupnpc
+NewLeaseDuration=0
diff --git a/libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryResp.xml b/libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryResp.xml
new file mode 100644
index 0000000000..77e8d9c7c6
--- /dev/null
+++ b/libs/miniupnpc/testreplyparse/GetSpecificPortMappingEntryResp.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetSpecificPortMappingEntryResponse xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1"><NewInternalPort>12345</NewInternalPort><NewInternalClient>192.168.10.110</NewInternalClient><NewEnabled>1</NewEnabled><NewPortMappingDescription>libminiupnpc</NewPortMappingDescription><NewLeaseDuration>0</NewLeaseDuration></u:GetSpecificPortMappingEntryResponse></s:Body></s:Envelope>
+
diff --git a/libs/miniupnpc/testreplyparse/SetDefaultConnectionService.namevalue b/libs/miniupnpc/testreplyparse/SetDefaultConnectionService.namevalue
new file mode 100644
index 0000000000..f78c7e2aec
--- /dev/null
+++ b/libs/miniupnpc/testreplyparse/SetDefaultConnectionService.namevalue
@@ -0,0 +1 @@
+NewDefaultConnectionService=uuid:c6c05a33-f704-48df-9910-e099b3471d81:WANConnectionDevice:1,INVALID_SERVICE_ID
diff --git a/libs/miniupnpc/testreplyparse/SetDefaultConnectionService.xml b/libs/miniupnpc/testreplyparse/SetDefaultConnectionService.xml
new file mode 100644
index 0000000000..ac04c07a93
--- /dev/null
+++ b/libs/miniupnpc/testreplyparse/SetDefaultConnectionService.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="utf-8"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:SetDefaultConnectionService xmlns:u="urn:schemas-upnp-org:service:Layer3Forwarding:1"><NewDefaultConnectionService>uuid:c6c05a33-f704-48df-9910-e099b3471d81:WANConnectionDevice:1,INVALID_SERVICE_ID</NewDefaultConnectionService></u:SetDefaultConnectionService></s:Body></s:Envelope>
diff --git a/libs/miniupnpc/testreplyparse/readme.txt b/libs/miniupnpc/testreplyparse/readme.txt
new file mode 100644
index 0000000000..3eb1f015fe
--- /dev/null
+++ b/libs/miniupnpc/testreplyparse/readme.txt
@@ -0,0 +1,7 @@
+This directory contains files used for validation of upnpreplyparse.c code.
+
+Each .xml file to parse should give the results which are in the .namevalue
+file.
+
+A .namevalue file contain name=value lines.
+
diff --git a/libs/miniupnpc/testupnpigd.py b/libs/miniupnpc/testupnpigd.py
index 6d167a4ce0..806b4f4f81 100644
--- a/libs/miniupnpc/testupnpigd.py
+++ b/libs/miniupnpc/testupnpigd.py
@@ -1,14 +1,18 @@
-#! /usr/bin/python
-# $Id: testupnpigd.py,v 1.4 2008/10/11 10:27:20 nanard Exp $
+#! /usr/bin/env python
+# $Id: testupnpigd.py,v 1.7 2020/04/06 10:23:02 nanard Exp $
 # MiniUPnP project
 # Author : Thomas Bernard
 # This Sample code is public domain.
-# website : http://miniupnp.tuxfamily.org/
+# website : https://miniupnp.tuxfamily.org/
 
 # import the python miniupnpc module
 import miniupnpc
 import socket
-import BaseHTTPServer
+
+try:
+    from http.server import BaseHTTPRequestHandler, HTTPServer
+except ImportError:
+    from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
 
 # function definition
 def list_redirections():
@@ -17,15 +21,15 @@ def list_redirections():
 		p = u.getgenericportmapping(i)
 		if p==None:
 			break
-		print i, p
+		print(i, p)
 		i = i + 1
 
 #define the handler class for HTTP connections
-class handler_class(BaseHTTPServer.BaseHTTPRequestHandler):
+class handler_class(BaseHTTPRequestHandler):
 	def do_GET(self):
 		self.send_response(200)
 		self.end_headers()
-		self.wfile.write("OK MON GARS")
+		self.wfile.write(b"OK MON GARS")
 
 # create the object
 u = miniupnpc.UPnP()
@@ -37,20 +41,20 @@ u = miniupnpc.UPnP()
 u.discoverdelay = 200;
 
 try:
-	print 'Discovering... delay=%ums' % u.discoverdelay
+	print('Discovering... delay=%ums' % u.discoverdelay)
 	ndevices = u.discover()
-	print ndevices, 'device(s) detected'
+	print(ndevices, 'device(s) detected')
 
 	# select an igd
 	u.selectigd()
 	# display information about the IGD and the internet connection
-	print 'local ip address :', u.lanaddr
+	print('local ip address :', u.lanaddr)
 	externalipaddress = u.externalipaddress()
-	print 'external ip address :', externalipaddress
-	print u.statusinfo(), u.connectiontype()
+	print('external ip address :', externalipaddress)
+	print(u.statusinfo(), u.connectiontype())
 
 	#instanciate a HTTPd object. The port is assigned by the system.
-	httpd = BaseHTTPServer.HTTPServer((u.lanaddr, 0), handler_class)
+	httpd = HTTPServer((u.lanaddr, 0), handler_class)
 	eport = httpd.server_port
 
 	# find a free port for the redirection
@@ -59,26 +63,26 @@ try:
 		eport = eport + 1
 		r = u.getspecificportmapping(eport, 'TCP')
 
-	print 'trying to redirect %s port %u TCP => %s port %u TCP' % (externalipaddress, eport, u.lanaddr, httpd.server_port)
+	print('trying to redirect %s port %u TCP => %s port %u TCP' % (externalipaddress, eport, u.lanaddr, httpd.server_port))
 
 	b = u.addportmapping(eport, 'TCP', u.lanaddr, httpd.server_port,
 	                    'UPnP IGD Tester port %u' % eport, '')
 	if b:
-		print 'Success. Now waiting for some HTTP request on http://%s:%u' % (externalipaddress ,eport)
+		print('Success. Now waiting for some HTTP request on http://%s:%u' % (externalipaddress ,eport))
 		try:
 			httpd.handle_request()
 			httpd.server_close()
-		except KeyboardInterrupt, details:
-			print "CTRL-C exception!", details
+		except KeyboardInterrupt as details:
+			print("CTRL-C exception!", details)
 		b = u.deleteportmapping(eport, 'TCP')
 		if b:
-			print 'Successfully deleted port mapping'
+			print('Successfully deleted port mapping')
 		else:
-			print 'Failed to remove port mapping'
+			print('Failed to remove port mapping')
 	else:
-		print 'Failed'
+		print('Failed')
 
 	httpd.server_close()
 
-except Exception, e:
-	print 'Exception :', e
+except Exception as e:
+	print('Exception :', e)
diff --git a/libs/miniupnpc/testupnpreplyparse.c b/libs/miniupnpc/testupnpreplyparse.c
deleted file mode 100644
index a02e8f6a62..0000000000
--- a/libs/miniupnpc/testupnpreplyparse.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* $Id: testupnpreplyparse.c,v 1.2 2008/02/21 13:05:27 nanard Exp $ */
-/* MiniUPnP project
- * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
- * (c) 2006-2007 Thomas Bernard
- * This software is subject to the conditions detailed
- * in the LICENCE file provided within the distribution */
-#include <stdio.h>
-#include <stdlib.h>
-#include "upnpreplyparse.h"
-
-void
-test_parsing(const char * buf, int len)
-{
-	struct NameValueParserData pdata;
-	ParseNameValue(buf, len, &pdata);
-	ClearNameValueList(&pdata);
-}
-
-int main(int argc, char * * argv)
-{
-	FILE * f;
-	char buffer[4096];
-	int l;
-	if(argc<2)
-	{
-		fprintf(stderr, "Usage: %s file.xml\n", argv[0]);
-		return 1;
-	}
-	f = fopen(argv[1], "r");
-	if(!f)
-	{
-		fprintf(stderr, "Error : can not open file %s\n", argv[1]);
-		return 2;
-	}
-	l = fread(buffer, 1, sizeof(buffer)-1, f);
-	fclose(f);
-	buffer[l] = '\0';
-#ifdef DEBUG
-	DisplayNameValueList(buffer, l);
-#endif
-	test_parsing(buffer, l);
-	return 0;
-}
-
diff --git a/libs/miniupnpc/testupnpreplyparse.sh b/libs/miniupnpc/testupnpreplyparse.sh
new file mode 100644
index 0000000000..a917c4b844
--- /dev/null
+++ b/libs/miniupnpc/testupnpreplyparse.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+if [ -z "$TESTUPNPREPLYPARSE" ] ; then
+	TESTUPNPREPLYPARSE=./build/testupnpreplyparse
+fi
+
+for f in testreplyparse/*.xml ; do
+	bf="`dirname $f`/`basename $f .xml`"
+	if $TESTUPNPREPLYPARSE $f $bf.namevalue ; then
+		echo "$f : passed"
+	else
+		echo "$f : FAILED"
+		exit 1
+	fi
+done
+
+exit 0
diff --git a/libs/miniupnpc/updateminiupnpcstrings.sh b/libs/miniupnpc/updateminiupnpcstrings.sh
index dde4354a8a..7c42eea5b5 100755
--- a/libs/miniupnpc/updateminiupnpcstrings.sh
+++ b/libs/miniupnpc/updateminiupnpcstrings.sh
@@ -1,12 +1,23 @@
 #! /bin/sh
-# $Id: updateminiupnpcstrings.sh,v 1.7 2011/01/04 11:41:53 nanard Exp $
+# $Id: updateminiupnpcstrings.sh,v 1.10 2022/10/16 05:28:15 nanard Exp $
 # project miniupnp : http://miniupnp.free.fr/
-# (c) 2009 Thomas Bernard
+# (c) 2009-2021 Thomas Bernard
 
 FILE=miniupnpcstrings.h
-TMPFILE=miniupnpcstrings.h.tmp
 TEMPLATE_FILE=${FILE}.in
 
+if [ -n "$1" ] ; then
+  FILE="$1"
+fi
+if [ -n "$2" ] ; then
+  TEMPLATE_FILE="$2"
+fi
+TMPFILE=`mktemp -t miniupnpcstringsXXXXXX`
+if [ ! -f "$TMPFILE" ] ; then
+	echo "mktemp failure"
+	exit 1
+fi
+
 # detecting the OS name and version
 OS_NAME=`uname -s`
 OS_VERSION=`uname -r`
@@ -14,11 +25,14 @@ if [ -f /etc/debian_version ]; then
 	OS_NAME=Debian
 	OS_VERSION=`cat /etc/debian_version`
 fi
+
 # use lsb_release (Linux Standard Base) when available
 LSB_RELEASE=`which lsb_release`
 if [ 0 -eq $? -a -x "${LSB_RELEASE}" ]; then
-	OS_NAME=`${LSB_RELEASE} -i -s`
-	OS_VERSION=`${LSB_RELEASE} -r -s`
+	# On NixOS, lsb_release returns strings such as "NixOS" (with quotes),
+	# so we need to stript them with the following xargs trick:
+	OS_NAME=`${LSB_RELEASE} -i -s | xargs echo`
+	OS_VERSION=`${LSB_RELEASE} -r -s | xargs echo`
 	case $OS_NAME in
 		Debian)
 			#OS_VERSION=`${LSB_RELEASE} -c -s`
@@ -49,5 +63,5 @@ sed -e "$EXPR" < $TEMPLATE_FILE > $TMPFILE
 EXPR="s|MINIUPNPC_VERSION_STRING \".*\"|MINIUPNPC_VERSION_STRING \"${MINIUPNPC_VERSION}\"|"
 echo "setting MINIUPNPC_VERSION_STRING macro value to ${MINIUPNPC_VERSION} in $FILE."
 sed -e "$EXPR" < $TMPFILE > $FILE
-rm $TMPFILE
+rm $TMPFILE && echo "$TMPFILE deleted"
 
diff --git a/libs/miniupnpc/wingenminiupnpcstrings.c b/libs/miniupnpc/wingenminiupnpcstrings.c
index 38dd01783c..6dcbfa4aea 100644
--- a/libs/miniupnpc/wingenminiupnpcstrings.c
+++ b/libs/miniupnpc/wingenminiupnpcstrings.c
@@ -1,8 +1,8 @@
-/* $Id: wingenminiupnpcstrings.c,v 1.2 2011/01/11 15:31:13 nanard Exp $ */
+/* $Id: wingenminiupnpcstrings.c,v 1.6 2021/08/21 09:43:40 nanard Exp $ */
 /* Project: miniupnp
- * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
+ * http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
  * Author: Thomas Bernard
- * Copyright (c) 2005-2009 Thomas Bernard
+ * Copyright (c) 2005-2021 Thomas Bernard
  * This software is subjects to the conditions detailed
  * in the LICENSE file provided within this distribution */
 #include <stdio.h>
@@ -26,7 +26,7 @@ int main(int argc, char * * argv) {
      dwBuildNumber :
        The build number of the operating system.
      dwPlatformId
-       The operating system platform. This member can be the following value. 
+       The operating system platform. This member can be the following value.
      szCSDVersion
        A null-terminated string, such as "Service Pack 3", that indicates the
        latest Service Pack installed on the system. If no Service Pack has
@@ -44,7 +44,7 @@ int main(int argc, char * * argv) {
 	fin = fopen("VERSION", "r");
 	fgets(miniupnpcVersion, sizeof(miniupnpcVersion), fin);
 	fclose(fin);
-	for(n = 0; n < sizeof(miniupnpcVersion); n++) {
+	for(n = 0; n < (int)sizeof(miniupnpcVersion); n++) {
 		if(miniupnpcVersion[n] < ' ')
 			miniupnpcVersion[n] = '\0';
 	}
@@ -59,6 +59,7 @@ int main(int argc, char * * argv) {
 		fout = fopen(argv[2], "w");
 		if(!fout) {
 			fprintf(stderr, "Cannot open %s for writing.\n", argv[2]);
+			fclose(fin);
 			return 1;
 		}
 		n = 0;
@@ -78,5 +79,37 @@ int main(int argc, char * * argv) {
 		fclose(fout);
 		printf("%d lines written to %s.\n", n, argv[2]);
 	}
+	if(argc >= 4) {
+		fout = fopen(argv[3], "w");
+		if(fout == NULL) {
+			fprintf(stderr, "Cannot open %s for writing.\n", argv[2]);
+			return 1;
+		} else {
+			char * cur, * next;
+			fprintf(fout, "#define LIBMINIUPNPC_DOTTED_VERSION \"%s\"\n", miniupnpcVersion);
+			next = strchr(miniupnpcVersion, '.');
+			if (next && *next) {
+				*next = '\0';
+				next++;
+			}
+			fprintf(fout, "#define LIBMINIUPNPC_MAJOR_VERSION %s\n", miniupnpcVersion);
+			cur = next;
+			next = strchr(cur, '.');
+			if (next && *next) {
+				*next = '\0';
+				next++;
+			}
+			fprintf(fout, "#define LIBMINIUPNPC_MINOR_VERSION %s\n", cur);
+			cur = next;
+			next = strchr(cur, '.');
+			if (next && *next) {
+				*next = '\0';
+				next++;
+			}
+			fprintf(fout, "#define LIBMINIUPNPC_MICRO_VERSION %s\n", cur);
+			fclose(fout);
+			printf("%s written\n", argv[3]);
+		}
+	}
   return 0;
 }
-- 
GitLab