1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-26 05:02:18 +00:00

net-p2p/transmission-components: Fix build with miniupnpc-2.2.8

/usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/libtransmission/port-forwarding-upnp.cc:278:13:
error: no matching function for call to 'UPNP_GetValidIGD'
  278 |         if (UPNP_GetValidIGD(devlist, &handle->urls,
&handle->data, std::data(lanaddr), std::size(lanaddr) - 1) ==
      |             ^~~~~~~~~~~~~~~~
/usr/local/include/miniupnpc/miniupnpc.h:122:1: note: candidate function
not viable: requires 7 arguments, but 5 were provided
  122 | UPNP_GetValidIGD(struct UPNPDev * devlist,
      | ^                ~~~~~~~~~~~~~~~~~~~~~~~~~
  123 |                  struct UPNPUrls * urls,
      |                  ~~~~~~~~~~~~~~~~~~~~~~~
  124 |                  struct IGDdatas * data,
      |                  ~~~~~~~~~~~~~~~~~~~~~~~
  125 |                  char * lanaddr, int lanaddrlen,
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  126 |                  char * wanaddr, int wanaddrlen);
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
ninja: build stopped: subcommand failed.
*** Error code 1

PR:		280298
Approved by:	Rafe <mondo.debater_0q@icloud.com> (maintainer)
Obtained from:	febfe49ca3
This commit is contained in:
Anton Saietskii 2024-07-17 12:03:29 +03:00 committed by Vladimir Druzenko
parent f32a8d9dc3
commit 263d5293fc

View File

@ -0,0 +1,17 @@
--- libtransmission/port-forwarding-upnp.cc.orig 2024-05-29 01:38:35 UTC
+++ libtransmission/port-forwarding-upnp.cc
@@ -275,8 +275,12 @@ tr_port_forwarding_state tr_upnpPulse(tr_upnp* handle,
FreeUPNPUrls(&handle->urls);
auto lanaddr = std::array<char, TR_ADDRSTRLEN>{};
- if (UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1) ==
- UPNP_IGD_VALID_CONNECTED)
+#if (MINIUPNPC_API_VERSION >= 18)
+ if (UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1, nullptr, 0)
+#else
+ if (UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1)
+#endif
+ == UPNP_IGD_VALID_CONNECTED)
{
tr_logAddInfo(fmt::format(_("Found Internet Gateway Device '{url}'"), fmt::arg("url", handle->urls.controlURL)));
tr_logAddInfo(fmt::format(_("Local Address is '{address}'"), fmt::arg("address", lanaddr.data())));