From 697d8314415b0dc0634fd1673abc589a080e0a31 Mon Sep 17 00:00:00 2001 From: Stefan Strogin Date: Mon, 17 Jun 2024 17:10:23 +0000 Subject: [PATCH] Support miniupnp-2.2.8 (fixes #2071) Use UPNP_GetValidIGD for getting external IP. --- daemon/UPnP.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/daemon/UPnP.cpp b/daemon/UPnP.cpp index 043d935e..7885578e 100644 --- a/daemon/UPnP.cpp +++ b/daemon/UPnP.cpp @@ -115,10 +115,16 @@ namespace transport return; } +#if (MINIUPNPC_API_VERSION >= 18) + err = UPNP_GetValidIGD (m_Devlist, &m_upnpUrls, &m_upnpData, m_NetworkAddr, sizeof (m_NetworkAddr), + m_externalIPAddress, sizeof (m_externalIPAddress)); +#else err = UPNP_GetValidIGD (m_Devlist, &m_upnpUrls, &m_upnpData, m_NetworkAddr, sizeof (m_NetworkAddr)); +#endif m_upnpUrlsInitialized=err!=0; if (err == UPNP_IGD_VALID_CONNECTED) { +#if (MINIUPNPC_API_VERSION < 18) err = UPNP_GetExternalIPAddress (m_upnpUrls.controlURL, m_upnpData.first.servicetype, m_externalIPAddress); if(err != UPNPCOMMAND_SUCCESS) { @@ -126,6 +132,7 @@ namespace transport return; } else +#endif { LogPrint (eLogError, "UPnP: Found Internet Gateway Device ", m_upnpUrls.controlURL); if (!m_externalIPAddress[0])