diff options
Diffstat (limited to 'net-misc/sunshine/files')
-rw-r--r-- | net-misc/sunshine/files/sunshine-miniupnpc.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/net-misc/sunshine/files/sunshine-miniupnpc.patch b/net-misc/sunshine/files/sunshine-miniupnpc.patch new file mode 100644 index 000000000000..3847724eedc5 --- /dev/null +++ b/net-misc/sunshine/files/sunshine-miniupnpc.patch @@ -0,0 +1,43 @@ +https://bugs.gentoo.org/934173 +https://github.com/LizardByte/Sunshine/pull/2746 + +From 850f656676d30ffb47028e865982e56be161d179 Mon Sep 17 00:00:00 2001 +From: James Le Cuirot <chewi@gentoo.org> +Date: Sun, 23 Jun 2024 16:21:23 +0100 +Subject: [PATCH] fix(upnp): Support miniupnpc API version 18 (release 2.2.8) + +--- + src/upnp.cpp | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/upnp.cpp b/src/upnp.cpp +index 2743ebae..e6ec057b 100644 +--- a/src/upnp.cpp ++++ b/src/upnp.cpp +@@ -109,7 +109,11 @@ namespace upnp { + IGDdatas data; + urls_t urls; + std::array<char, INET6_ADDRESS_STRLEN> lan_addr; ++#if (MINIUPNPC_API_VERSION >= 18) ++ auto status = UPNP_GetValidIGD(device.get(), &urls.el, &data, lan_addr.data(), lan_addr.size(), nullptr, 0); ++#else + auto status = UPNP_GetValidIGD(device.get(), &urls.el, &data, lan_addr.data(), lan_addr.size()); ++#endif + if (status != 1 && status != 2) { + BOOST_LOG(debug) << "No valid IPv6 IGD: "sv << status_string(status); + return false; +@@ -331,7 +335,11 @@ namespace upnp { + std::array<char, INET6_ADDRESS_STRLEN> lan_addr; + + urls_t urls; ++#if (MINIUPNPC_API_VERSION >= 18) ++ auto status = UPNP_GetValidIGD(device.get(), &urls.el, &data, lan_addr.data(), lan_addr.size(), nullptr, 0); ++#else + auto status = UPNP_GetValidIGD(device.get(), &urls.el, &data, lan_addr.data(), lan_addr.size()); ++#endif + if (status != 1 && status != 2) { + BOOST_LOG(error) << status_string(status); + mapped = false; +-- +2.45.2 + |