Bug 280298 - net/miniupnpc: in 2.2.8 changed API for UPNP_GetValidIGD: build error net-p2p/transmission-components and other
Summary: net/miniupnpc: in 2.2.8 changed API for UPNP_GetValidIGD: build error net-p2p...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Vladimir Druzenko
URL: https://github.com/miniupnp/miniupnp/...
Keywords:
Depends on:
Blocks:
 
Reported: 2024-07-15 12:54 UTC by Ale
Modified: 2024-08-20 22:27 UTC (History)
18 users (show)

See Also:
vvd: maintainer-feedback? (mondo.debater_0q)


Attachments
v0 (completely untested, apply via `git am`) (1.99 KB, patch)
2024-07-15 13:34 UTC, Anton Saietskii
no flags Details | Diff
v1 (apply via `git am`) (3.47 KB, patch)
2024-07-15 14:29 UTC, Anton Saietskii
no flags Details | Diff
poudriere build success log (w/ patch applied) (10.38 KB, application/x-xz)
2024-07-15 14:30 UTC, Anton Saietskii
no flags Details
v2 (apply via `git am`) (2.97 KB, patch)
2024-07-15 14:37 UTC, Anton Saietskii
vsasjason: maintainer-approval?
Details | Diff
patch to fix build of games/0ad (1.21 KB, patch)
2024-07-15 22:07 UTC, Stefan Ehmann
no flags Details | Diff
Patch for games/openclonk (1.27 KB, patch)
2024-07-16 02:04 UTC, Kevin Zheng
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ale 2024-07-15 12:54:01 UTC
I'm getting the following error rebuilding net-p2p/transmission-components after updating net/miniupnpc to 2.2.8 (a270dbfaa9ce47608d63a201c786e5d4695447ca).

[ 49% 40/81] /usr/bin/c++ -DFMT_EXCEPTIONS=0 -DFMT_HEADER_ONLY=1 -DHAVE_COPY_FILE_RANGE -DHAVE_FLOCK -DHAVE_LIBINTL_H -DHAVE_MKDTEMP -DHAVE_POSIX_FADVISE -DHAVE_POSIX_FALLOCATE -DHAVE_PREAD -DHAVE_PWRITE -DHAVE_SO_REUSEPORT=1 -DHAVE_STATVFS -DHAVE_SYS_STATVFS_H -DHAVE_XLOCALE_H -DPACKAGE_DATA_DIR=\"/usr/local/share\" -DSYSTEM_MINIUPNP -DUSE_SYSTEM_B64 -DWIDE_INTEGER_DISABLE_FLOAT_INTEROP -DWIDE_INTEGER_DISABLE_IOSTREAM -DWITH_KQUEUE -DWITH_UTP -D__TRANSMISSION__ -I/usr/ports/net-p2p/transmission-components/work-cli/.build/libtransmission -I/usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/third-party/jsonsl -I/usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/third-party/wildmat -isystem /usr/local/include/utf8cpp -isystem /usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/cmake/../third-party/wide-integer -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include  -DNDEBUG -std=gnu++17 -W -Wall -Wextra -Wcast-align -Wexit-time-destructors -Wextra-semi -Wextra-semi-stmt -Wextra-tokens -Wfloat-equal -Wgnu -Winit-self -Wint-in-bool-context -Wmissing-format-attribute -Wnull-dereference -Wpointer-arith -Wredundant-decls -Wredundant-move -Wreorder-ctor -Wreturn-std-move -Wself-assign -Wself-move -Wsemicolon-before-method-body -Wsentinel -Wshadow -Wsign-compare -Wsometimes-uninitialized -Wstring-conversion -Wsuggest-destructor-override -Wsuggest-override -Wuninitialized -Wunreachable-code -Wunused -Wunused-const-variable -Wunused-parameter -Wunused-result -Wwrite-strings -Wformat-security -pthread -MD -MT libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o -MF libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o.d -o libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o -c /usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/libtransmission/port-forwarding-upnp.cc
FAILED: libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o 
/usr/bin/c++ -DFMT_EXCEPTIONS=0 -DFMT_HEADER_ONLY=1 -DHAVE_COPY_FILE_RANGE -DHAVE_FLOCK -DHAVE_LIBINTL_H -DHAVE_MKDTEMP -DHAVE_POSIX_FADVISE -DHAVE_POSIX_FALLOCATE -DHAVE_PREAD -DHAVE_PWRITE -DHAVE_SO_REUSEPORT=1 -DHAVE_STATVFS -DHAVE_SYS_STATVFS_H -DHAVE_XLOCALE_H -DPACKAGE_DATA_DIR=\"/usr/local/share\" -DSYSTEM_MINIUPNP -DUSE_SYSTEM_B64 -DWIDE_INTEGER_DISABLE_FLOAT_INTEROP -DWIDE_INTEGER_DISABLE_IOSTREAM -DWITH_KQUEUE -DWITH_UTP -D__TRANSMISSION__ -I/usr/ports/net-p2p/transmission-components/work-cli/.build/libtransmission -I/usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/third-party/jsonsl -I/usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/third-party/wildmat -isystem /usr/local/include/utf8cpp -isystem /usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/cmake/../third-party/wide-integer -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include  -DNDEBUG -std=gnu++17 -W -Wall -Wextra -Wcast-align -Wexit-time-destructors -Wextra-semi -Wextra-semi-stmt -Wextra-tokens -Wfloat-equal -Wgnu -Winit-self -Wint-in-bool-context -Wmissing-format-attribute -Wnull-dereference -Wpointer-arith -Wredundant-decls -Wredundant-move -Wreorder-ctor -Wreturn-std-move -Wself-assign -Wself-move -Wsemicolon-before-method-body -Wsentinel -Wshadow -Wsign-compare -Wsometimes-uninitialized -Wstring-conversion -Wsuggest-destructor-override -Wsuggest-override -Wuninitialized -Wunreachable-code -Wunused -Wunused-const-variable -Wunused-parameter -Wunused-result -Wwrite-strings -Wformat-security -pthread -MD -MT libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o -MF libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o.d -o libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o -c /usr/ports/net-p2p/transmission-components/work-cli/transmission-4.0.6/libtransmission/port-forwarding-upnp.cc
/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
Comment 1 Anton Saietskii 2024-07-15 13:21:51 UTC
Note:

VERSION 2.2.8 : released 2024/06/09
<...>
2024/05/08:
<...>
  UPNP_GetValidIGD(): distinguish between not connected and connected to a
    "private" network (with a reserved IP address).
Comment 3 Anton Saietskii 2024-07-15 13:34:28 UTC
Created attachment 252077 [details]
v0 (completely untested, apply via `git am`)

I can't try building it right now, but something like this may work.
Comment 4 Anton Saietskii 2024-07-15 14:29:09 UTC
Created attachment 252080 [details]
v1 (apply via `git am`)

Unfortunately, PATCH_SITES + PATCHFILES won't work -- mentioned commit changes bundled miniupnpc which we don't use, thus patching fails.
I've manually edited patch to include only relevant changes here.
Comment 5 Anton Saietskii 2024-07-15 14:30:24 UTC
Created attachment 252081 [details]
poudriere build success log (w/ patch applied)

Tested with daemon flavor -- builds fine.
Comment 6 Anton Saietskii 2024-07-15 14:37:55 UTC
Created attachment 252082 [details]
v2 (apply via `git am`)

Actually PORTREVISION bump isn't necessary because:
1. It has been bumped in a270dbfaa9ce47608d63a201c786e5d4695447ca already.
2. We do not require bump on 'just make it build' things.

I believe this is the final patch version (if method itself is acceptable).
Comment 7 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-15 15:31:36 UTC
Smaller patch:
--- libtransmission/port-forwarding-upnp.cc.orig        2024-05-29 01:38:35 UTC
+++ libtransmission/port-forwarding-upnp.cc
@@ -275,8 +275,11 @@ 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 (UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1
+#if (MINIUPNPC_API_VERSION >= 18)
+            , nullptr, 0
+#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())));
Comment 8 Stefan Ehmann 2024-07-15 19:28:30 UTC
games/0ad seems to fail with the same error. Should we open a new bug or fix everything here?

../../../source/network/NetServer.cpp:305:9: error: no matching function for call to 'UPNP_GetValidIGD'
  305 |                 ret = UPNP_GetValidIGD(devlist, &urls, &data, internalIPAddress, sizeof(internalIPAddress));
      |                       ^~~~~~~~~~~~~~~~
/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.
Comment 9 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-15 19:49:11 UTC
(In reply to Stefan Ehmann from comment #8)
Can you create, test and attach patch? And also report upstream about this issue.

I think we need exp-run for net/miniupnpc 2.2.8 and find all broken ports.
$ grep miniupnpc /usr/ports/INDEX-14 | wc -l
      31
Comment 10 Antoine Brodin freebsd_committer freebsd_triage 2024-07-15 19:51:42 UTC
(In reply to Vladimir Druzenko from comment #9)
Can't you do the test yourself?
Comment 11 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-15 19:58:55 UTC
(In reply to Antoine Brodin from comment #10)
30 ports? Can't.
I tested net-p2p/transmission-* only.
Comment 12 Antoine Brodin freebsd_committer freebsd_triage 2024-07-15 20:03:28 UTC
(In reply to Vladimir Druzenko from comment #11)
You only have to test around 22 ports
Comment 13 Anton Saietskii 2024-07-15 20:23:14 UTC
(In reply to Vladimir Druzenko from comment #7)

I suppose we don't need 'smaller' patches. What proposed by me is literally patch from upstream, just with irrelevant files cut. IMHO sticking to upstream code as much as possible is more important than 20 saved bytes.
Comment 14 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-15 20:37:10 UTC
Need testing:
emulators/dolphin-emu
emulators/libretro-ppsspp
emulators/ppsspp
emulators/ppsspp-qt5
games/DDNet
games/libretro
games/megaglest
games/openclonk
games/simutrans
games/warzone2100
irc/iroffer-dinoex
mail/aerc
net/dante
net/py-miniupnpc
net-p2p/bitcoin
net-p2p/bitcoin-daemon
net-p2p/litecoin
net-p2p/litecoin-daemon
net-p2p/monero-cli
net-p2p/namecoin
net-p2p/namecoin-daemon
net-p2p/retroshare

Fails, no patch:
games/0ad

Fails, patch tested, but not committed:
net-p2p/transmission-components
net-p2p/transmission-components
net-p2p/transmission-components
net-p2p/transmission-components
net-p2p/transmission-components
net-p2p/transmission-components

Build without errors:
net-p2p/transmission
Comment 15 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-15 20:38:46 UTC
(In reply to Anton Saietskii from comment #13)
You're probably right, but in any case we're waiting for the maintainer's decision.
Comment 16 Anton Saietskii 2024-07-15 21:06:47 UTC
(In reply to Stefan Ehmann from comment #8)

Obviously, maintainer of net-p2p/transmission components can't approve patch for games/0ad, so the first guess would be separate PRs for each broken port (with 'See Also' here as earliest PR).

However, some time ago there was a similar breakage with net-p2p/tremotesf which is maintained by me. The committer (and change author) reported issue to upstream and did other required stuff to make my port (and probably others affected) build again.

But current breakage requires change not in miniupnpc, but rather all or at least some of ports depend on it. Perhaps dinoex@ as a committer whose change caused this can be politely asked to check dependent ports (and fix them?), however I'm unaware of policies to process such situations, and unsure if my guess of asking that is correct.
Comment 17 Stefan Ehmann 2024-07-15 22:07:14 UTC
Created attachment 252089 [details]
patch to fix build of games/0ad

https://bugs.gentoo.org/934315 contains additional changes.

They are not required for building. I'm not sure if the changes just affect logging or fix actual runtime problems.
Comment 18 Anton Saietskii 2024-07-15 22:47:45 UTC
(In reply to Stefan Ehmann from comment #17)

That's great you had some free time to make a patch. But I'd like to note couple of things here:
1. According to Committer's Guide [0], first letter after prefix should be capitalized, e.g. 'category/portname: Fix ...', not 'fix'.
2. Unfortunately, this PR isn't associated with games/0ad in a way Bugzilla understands, thus its maintainer have not been notified.
Comment 19 Anton Saietskii 2024-07-15 22:48:35 UTC
(In reply to Anton Saietskii from comment #18)

I'm sorry, forgot to put the link:

[0]: https://docs.freebsd.org/en/articles/committers-guide/#_capitalize_the_first_letter_of_the_subject
Comment 20 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-16 01:27:11 UTC
Tested build all ports from list.
Added all maintainers to CC.

Fails, no patch:
no maintainer:
emulators/libretro-ppsspp
emulators/ppsspp
emulators/ppsspp-qt5
games/libretro (depends on failed emulators/libretro-ppsspp)
net-p2p/monero-cli

with maintainer:
games/DDNet amdmi3@FreeBSD.org
games/openclonk kevinz5000@gmail.com
games/simutrans amdmi3@FreeBSD.org
mail/aerc (depends on failed net/dante) iamsleepy@ryuki.me
net/dante danfe@FreeBSD.org
net-p2p/bitcoin kbowling@FreeBSD.org
net-p2p/bitcoin-daemon kbowling@FreeBSD.org
net-p2p/litecoin hsw@bitmark.com
net-p2p/litecoin-daemon hsw@bitmark.com
net-p2p/namecoin milios@ccsys.com
net-p2p/namecoin-daemon milios@ccsys.com
net-p2p/retroshare peter@netkey.at

Fails, patch tested, but not committed:
games/0ad madpilot@FreeBSD.org
net-p2p/transmission-components mondo.debater_0q@icloud.com

Build without errors:
emulators/dolphin-emu
games/megaglest
games/warzone2100
irc/iroffer-dinoex
net/py-miniupnpc
net-p2p/transmission
Comment 21 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-16 01:31:39 UTC
(In reply to Anton Saietskii from comment #16)
> Obviously, maintainer of net-p2p/transmission components can't approve patch for games/0ad
I said about approve patch for net-p2p/transmission only.

Later I'll try to find time to create patches at least for ports without maintainers.
Comment 22 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-16 01:34:00 UTC
(In reply to Stefan Ehmann from comment #17)
Look like better to get this part too.
Also check upstream - issues, pool requests, commits or even new fixed version.
Comment 23 Kevin Zheng 2024-07-16 01:35:59 UTC
Thanks for bringing our attention to this issue. I was wondering why my port suddenly started getting pkg-fallout mail :)

When we have patches available, would you prefer that we create new PR's or attach patches to this PR?
Comment 24 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-16 02:01:37 UTC
(In reply to Kevin Zheng from comment #23)
If there is nothing to discuss in the patch, then I see no point in creating a separate PR. But if suddenly there is something more complex, then it is better to put it in a separate PR.
Comment 25 Kevin Zheng 2024-07-16 02:04:00 UTC
Created attachment 252090 [details]
Patch for games/openclonk

Patch for games/openclonk. I'm the maintainer (so implicit approval).
Comment 26 Alexey Dokuchaev freebsd_committer freebsd_triage 2024-07-16 06:38:52 UTC
(In reply to Kevin Zheng from comment #25)
> Patch for games/openclonk
To make it more easily upstreamable, perhaps it's better to depend on the MINIUPNPC_API_VERSION as shown e.g. in comment #7 (that's also what most other projects do, albeit they normally don't put #if...#endif inside the function, but spell out two calls with different arguments instead).
Comment 27 commit-hook freebsd_committer freebsd_triage 2024-07-16 08:13:30 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5a73a52238fef2d144f2a4eeeea16a3d09f5cad9

commit 5a73a52238fef2d144f2a4eeeea16a3d09f5cad9
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2024-07-16 08:11:22 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2024-07-16 08:11:22 +0000

    net/dante: unbreak the port's build (chase commit a270dbfaa9ce)

    PR:             280298, 280304
    Reported by:    Mark McBride, pkg-fallout

 net/dante/files/patch-lib_upnp.c (new) | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
Comment 28 Guido Falsi freebsd_committer freebsd_triage 2024-07-16 11:07:05 UTC
(In reply to Stefan Ehmann from comment #17)

Hi!

Thanks for the patch and the link.

The patch itself looks right, but I think we need to get the full patch from gentoo. Upstream did change the return codes:

https://github.com/miniupnp/miniupnp/commit/c0a50ce33e3b99ce8a96fd43049bb5b53ffac62f#diff-5a0d7cff00628c2c64a617edb347c0f283e3a75e7df910e7e8438fc6db23f610

I have still not tested the patch, I'll test it and commit ASAP.
Comment 29 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-16 12:50:17 UTC
(In reply to commit-hook from comment #27)
Alexey Dokuchaev, net/dante need patch for include/common.h too:
/* return codes from UPNP_GetValidIGD(). */
#define UPNP_NO_IGD           (0)
#define UPNP_CONNECTED_IGD    (1)
#define UPNP_DISCONNECTED_IGD (2)
#define UPNP_UNKNOWN_DEVICE   (3)

Upstream changed returned error codes too:
https://github.com/miniupnp/miniupnp/commit/c0a50ce33e3b99ce8a96fd43049bb5b53ffac62f#diff-955f89395e8ce2fe4774d4e89f4237cf3d4a2f441a899b4259f1bb82e4e2d6a9L730
And they didn't use difines for error codes!!!
Comment 30 Alex 2024-07-16 15:25:15 UTC
I still do not believe this was fixed. Using a freshly updated ports tree:

I have updated miniupnpc to 2.2.8

[root@meatwad 11:22 transmission-components]$  pkg info | grep mini                                      
miniupnpc-2.2.8                UPnP IGD client lightweight library

when I run:

[root@meatwad 11:22 transmission-components]$  make FLAVOR=daemon reinstall clean

I get an error around the area it is calling miniupnpc

usr/local/include/utf8cpp -isystem /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/cmake/../third-party/wide-integer -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include  -DNDEBUG -std=gnu++17 -W -Wall -Wextra -Wcast-align -Wexit-time-destructors -Wextra-semi -Wextra-semi-stmt -Wextra-tokens -Wfloat-equal -Wgnu -Winit-self -Wint-in-bool-context -Wmissing-format-attribute -Wnull-dereference -Wpointer-arith -Wredundant-decls -Wredundant-move -Wreorder-ctor -Wreturn-std-move -Wself-assign -Wself-move -Wsemicolon-before-method-body -Wsentinel -Wshadow -Wsign-compare -Wsometimes-uninitialized -Wstring-conversion -Wsuggest-destructor-override -Wsuggest-override -Wuninitialized -Wunreachable-code -Wunused -Wunused-const-variable -Wunused-parameter -Wunused-result -Wwrite-strings -Wformat-security -pthread -MD -MT libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o -MF libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o.d -o libtransmission/CMakeFiles/transmission.dir/port-forwarding-upnp.cc.o -c /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/libtransmission/port-forwarding-upnp.cc
/usr/ports/net-p2p/transmission-components/work-daemon/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.
[  6% 4/29] /usr/bin/c++ -DFMT_EXCEPTIONS=0 -DFMT_HEADER_ONLY=1 -DHAVE_COPY_FILE_RANGE -DHAVE_FLOCK -DHAVE_LIBINTL_H -DHAVE_MKDTEMP -DHAVE_POSIX_FADVISE -DHAVE_POSIX_FALLOCATE -DHAVE_PREAD -DHAVE_PWRITE -DHAVE_SO_REUSEPORT=1 -DHAVE_STATVFS -DHAVE_SYS_STATVFS_H -DHAVE_XLOCALE_H -DPACKAGE_DATA_DIR=\"/usr/local/share\" -DSYSTEM_MINIUPNP -DUSE_SYSTEM_B64 -DWIDE_INTEGER_DISABLE_FLOAT_INTEROP -DWIDE_INTEGER_DISABLE_IOSTREAM -DWITH_KQUEUE -DWITH_UTP -D__TRANSMISSION__ -I/usr/ports/net-p2p/transmission-components/work-daemon/.build/libtransmission -I/usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/third-party/jsonsl -I/usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/third-party/wildmat -isystem /usr/local/include/utf8cpp -isystem /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/cmake/../third-party/wide-integer -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include  -DNDEBUG -std=gnu++17 -W -Wall -Wextra -Wcast-align -Wexit-time-destructors -Wextra-semi -Wextra-semi-stmt -Wextra-tokens -Wfloat-equal -Wgnu -Winit-self -Wint-in-bool-context -Wmissing-format-attribute -Wnull-dereference -Wpointer-arith -Wredundant-decls -Wredundant-move -Wreorder-ctor -Wreturn-std-move -Wself-assign -Wself-move -Wsemicolon-before-method-body -Wsentinel -Wshadow -Wsign-compare -Wsometimes-uninitialized -Wstring-conversion -Wsuggest-destructor-override -Wsuggest-override -Wuninitialized -Wunreachable-code -Wunused -Wunused-const-variable -Wunused-parameter -Wunused-result -Wwrite-strings -Wformat-security -pthread -MD -MT libtransmission/CMakeFiles/transmission.dir/torrent-metainfo.cc.o -MF libtransmission/CMakeFiles/transmission.dir/torrent-metainfo.cc.o.d -o libtransmission/CMakeFiles/transmission.dir/torrent-metainfo.cc.o -c /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/libtransmission/torrent-metainfo.cc
[ 10% 4/29] /usr/bin/c++ -DFMT_EXCEPTIONS=0 -DFMT_HEADER_ONLY=1 -DHAVE_COPY_FILE_RANGE -DHAVE_FLOCK -DHAVE_LIBINTL_H -DHAVE_MKDTEMP -DHAVE_POSIX_FADVISE -DHAVE_POSIX_FALLOCATE -DHAVE_PREAD -DHAVE_PWRITE -DHAVE_SO_REUSEPORT=1 -DHAVE_STATVFS -DHAVE_SYS_STATVFS_H -DHAVE_XLOCALE_H -DPACKAGE_DATA_DIR=\"/usr/local/share\" -DSYSTEM_MINIUPNP -DUSE_SYSTEM_B64 -DWIDE_INTEGER_DISABLE_FLOAT_INTEROP -DWIDE_INTEGER_DISABLE_IOSTREAM -DWITH_KQUEUE -DWITH_UTP -D__TRANSMISSION__ -I/usr/ports/net-p2p/transmission-components/work-daemon/.build/libtransmission -I/usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/third-party/jsonsl -I/usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/third-party/wildmat -isystem /usr/local/include/utf8cpp -isystem /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/cmake/../third-party/wide-integer -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include  -DNDEBUG -std=gnu++17 -W -Wall -Wextra -Wcast-align -Wexit-time-destructors -Wextra-semi -Wextra-semi-stmt -Wextra-tokens -Wfloat-equal -Wgnu -Winit-self -Wint-in-bool-context -Wmissing-format-attribute -Wnull-dereference -Wpointer-arith -Wredundant-decls -Wredundant-move -Wreorder-ctor -Wreturn-std-move -Wself-assign -Wself-move -Wsemicolon-before-method-body -Wsentinel -Wshadow -Wsign-compare -Wsometimes-uninitialized -Wstring-conversion -Wsuggest-destructor-override -Wsuggest-override -Wuninitialized -Wunreachable-code -Wunused -Wunused-const-variable -Wunused-parameter -Wunused-result -Wwrite-strings -Wformat-security -pthread -MD -MT libtransmission/CMakeFiles/transmission.dir/torrent-files.cc.o -MF libtransmission/CMakeFiles/transmission.dir/torrent-files.cc.o.d -o libtransmission/CMakeFiles/transmission.dir/torrent-files.cc.o -c /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/libtransmission/torrent-files.cc
[ 13% 4/29] /usr/bin/c++ -DFMT_EXCEPTIONS=0 -DFMT_HEADER_ONLY=1 -DHAVE_COPY_FILE_RANGE -DHAVE_FLOCK -DHAVE_LIBINTL_H -DHAVE_MKDTEMP -DHAVE_POSIX_FADVISE -DHAVE_POSIX_FALLOCATE -DHAVE_PREAD -DHAVE_PWRITE -DHAVE_SO_REUSEPORT=1 -DHAVE_STATVFS -DHAVE_SYS_STATVFS_H -DHAVE_XLOCALE_H -DPACKAGE_DATA_DIR=\"/usr/local/share\" -DSYSTEM_MINIUPNP -DUSE_SYSTEM_B64 -DWIDE_INTEGER_DISABLE_FLOAT_INTEROP -DWIDE_INTEGER_DISABLE_IOSTREAM -DWITH_KQUEUE -DWITH_UTP -D__TRANSMISSION__ -I/usr/ports/net-p2p/transmission-components/work-daemon/.build/libtransmission -I/usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/third-party/jsonsl -I/usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/third-party/wildmat -isystem /usr/local/include/utf8cpp -isystem /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/cmake/../third-party/wide-integer -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include  -DNDEBUG -std=gnu++17 -W -Wall -Wextra -Wcast-align -Wexit-time-destructors -Wextra-semi -Wextra-semi-stmt -Wextra-tokens -Wfloat-equal -Wgnu -Winit-self -Wint-in-bool-context -Wmissing-format-attribute -Wnull-dereference -Wpointer-arith -Wredundant-decls -Wredundant-move -Wreorder-ctor -Wreturn-std-move -Wself-assign -Wself-move -Wsemicolon-before-method-body -Wsentinel -Wshadow -Wsign-compare -Wsometimes-uninitialized -Wstring-conversion -Wsuggest-destructor-override -Wsuggest-override -Wuninitialized -Wunreachable-code -Wunused -Wunused-const-variable -Wunused-parameter -Wunused-result -Wwrite-strings -Wformat-security -pthread -MD -MT libtransmission/CMakeFiles/transmission.dir/torrent-magnet.cc.o -MF libtransmission/CMakeFiles/transmission.dir/torrent-magnet.cc.o.d -o libtransmission/CMakeFiles/transmission.dir/torrent-magnet.cc.o -c /usr/ports/net-p2p/transmission-components/work-daemon/transmission-4.0.6/libtransmission/torrent-magnet.cc
ninja: build stopped: subcommand failed.
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/net-p2p/transmission-components
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/net-p2p/transmission-components
*** Error code 1

Stop.
make: stopped in /usr/ports/net-p2p/transmission-components
Comment 31 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-16 15:30:52 UTC
(In reply to Alex from comment #30)
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280298#c20

Fails, patch tested, but NOT COMMITTED:
games/0ad madpilot@FreeBSD.org
net-p2p/transmission-components mondo.debater_0q@icloud.com
Comment 32 Anton Saietskii 2024-07-16 15:32:14 UTC
(In reply to Alex from comment #30)

Obviously, you didn't apply the patch or did that incorrectly.
Comment 33 Alex 2024-07-16 15:37:56 UTC
Apologies, I sort of am familiar with the ports system but definitely do not yet have enough expertise to manually apply patches. Will wait for them to be committed. Thank you!

Alex
Comment 34 commit-hook freebsd_committer freebsd_triage 2024-07-16 21:03:05 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=012e8794d732dfc026e160bede5e78862dd65fae

commit 012e8794d732dfc026e160bede5e78862dd65fae
Author:     Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2024-07-16 20:56:18 +0000
Commit:     Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2024-07-16 20:56:18 +0000

    games/0ad: Fix build with miniupnpc 2.2.8

    PR:             280298
    Suggested by:   Stefan Ehmann <shoesoft@gmx.net>
    Obtained from:  https://bugs.gentoo.org/934315

 .../files/patch-source_network_NetServer.cpp (new) | 33 ++++++++++++++++++++++
 1 file changed, 33 insertions(+)
Comment 35 commit-hook freebsd_committer freebsd_triage 2024-07-17 04:24:02 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0d4b8e3eb1ce5e440142354d41b39814f632af15

commit 0d4b8e3eb1ce5e440142354d41b39814f632af15
Author:     Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2024-07-17 04:20:19 +0000
Commit:     Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2024-07-17 04:20:19 +0000

    net-p2p/bitcoin: Fix build with miniupnpc 2.2.8

    PR:             280298
    Reported by:    pkg-fallout

 net-p2p/bitcoin/Makefile | 3 +++
 net-p2p/bitcoin/distinfo | 4 +++-
 2 files changed, 6 insertions(+), 1 deletion(-)
Comment 36 Rafe 2024-07-17 07:16:37 UTC
(In reply to Vladimir Druzenko from comment #31)
I’ve approved the patch, but I’m not a committer. I would appreciate it if you could commit. Thanks!
Comment 37 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-17 07:26:33 UTC
(In reply to Rafe from comment #36)
Patch from Anton Saietskii (https://bugs.freebsd.org/bugzilla/attachment.cgi?id=252082&action=diff)?
Comment 38 commit-hook freebsd_committer freebsd_triage 2024-07-17 09:10:35 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=263d5293fc66e3f9f48a8cc3217235fb933d1f08

commit 263d5293fc66e3f9f48a8cc3217235fb933d1f08
Author:     Anton Saietskii <vsasjason@gmail.com>
AuthorDate: 2024-07-17 09:03:29 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2024-07-17 09:09:29 +0000

    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:  https://github.com/transmission/transmission/commit/febfe49ca3ecab1a7142ecb34012c1f0b2bcdee8

 .../patch-libtransmission_port-forwarding-upnp.cc (new) | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
Comment 39 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-17 10:02:09 UTC
Not fixed yet:

Fails, no patch:
no maintainer:
emulators/libretro-ppsspp
emulators/ppsspp
emulators/ppsspp-qt5
games/libretro (depends on failed emulators/libretro-ppsspp)
net-p2p/monero-cli

with maintainer:
games/DDNet amdmi3@FreeBSD.org
games/openclonk kevinz5000@gmail.com
games/simutrans amdmi3@FreeBSD.org
net-p2p/litecoin hsw@bitmark.com
net-p2p/litecoin-daemon hsw@bitmark.com
net-p2p/namecoin milios@ccsys.com
net-p2p/namecoin-daemon milios@ccsys.com
net-p2p/retroshare peter@netkey.at
Comment 40 commit-hook freebsd_committer freebsd_triage 2024-07-17 13:39:13 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=57569e0b98a87e08032fe64c106958b8e439ebd7

commit 57569e0b98a87e08032fe64c106958b8e439ebd7
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2024-07-17 13:31:55 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2024-07-17 13:31:55 +0000

    emulators/{,libretro-}ppsspp{,-qt5}: Fix build with miniupnpc-2.2.8

    Upstream bug report: https://github.com/hrydgard/ppsspp/issues/19333

    While here fix plist error in libretro-ppsspp and pet portclippy.

    PR:     280298

 emulators/libretro-ppsspp/Makefile                 |  6 +-
 emulators/ppsspp-qt5/Makefile                      |  6 +-
 emulators/ppsspp/Makefile                          | 78 +++++++++++-----------
 .../files/patch-Core_Util_PortManager.cpp (new)    | 25 +++++++
 4 files changed, 69 insertions(+), 46 deletions(-)
Comment 41 Dirk Meyer freebsd_committer freebsd_triage 2024-07-19 09:34:03 UTC
(In reply to Anton Saietskii from comment #16)

Thanks, I will fix the unmaintained ports.
Comment 42 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-19 09:51:30 UTC
games/simutrans: https://cgit.freebsd.org/ports/commit/?id=d86e9f39581e4e5cc1fa972b05ddb5d04c20a43e

Current status about those ports that have not yet been fixed:

no maintainer:
net-p2p/monero-cli

with maintainer:
games/DDNet amdmi3@FreeBSD.org
games/openclonk kevinz5000@gmail.com - the patch needs to be improved
net-p2p/litecoin hsw@bitmark.com
net-p2p/litecoin-daemon hsw@bitmark.com
net-p2p/namecoin milios@ccsys.com
net-p2p/namecoin-daemon milios@ccsys.com
net-p2p/retroshare peter@netkey.at
Comment 43 commit-hook freebsd_committer freebsd_triage 2024-07-19 14:36:42 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e71086573796589c56d292163011005ec354b94e

commit e71086573796589c56d292163011005ec354b94e
Author:     Dirk Meyer <dinoex@FreeBSD.org>
AuthorDate: 2024-07-19 14:35:47 +0000
Commit:     Dirk Meyer <dinoex@FreeBSD.org>
CommitDate: 2024-07-19 14:35:47 +0000

    dns/kadnode: fix build with miniupnpc 2.2.8

    PR: 280298

 dns/kadnode/files/patch-src_upnp.c (new) | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
Comment 44 commit-hook freebsd_committer freebsd_triage 2024-07-19 15:08:51 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=49c08288dee302df00202b879cfd77b09c83b781

commit 49c08288dee302df00202b879cfd77b09c83b781
Author:     Dirk Meyer <dinoex@FreeBSD.org>
AuthorDate: 2024-07-19 15:08:14 +0000
Commit:     Dirk Meyer <dinoex@FreeBSD.org>
CommitDate: 2024-07-19 15:08:14 +0000

    net-p2p/monero-cli: fix build with miniupnpc 2.2.8

    PR: 280298

 .../monero-cli/files/patch-src_p2p_net__node.inl   | 32 +++++++++++++++++++---
 1 file changed, 28 insertions(+), 4 deletions(-)
Comment 45 commit-hook freebsd_committer freebsd_triage 2024-07-19 15:33:57 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=bb1eec01459cd3ecf428e643288cdba3d4cbf5bc

commit bb1eec01459cd3ecf428e643288cdba3d4cbf5bc
Author:     Dirk Meyer <dinoex@FreeBSD.org>
AuthorDate: 2024-07-19 15:33:31 +0000
Commit:     Dirk Meyer <dinoex@FreeBSD.org>
CommitDate: 2024-07-19 15:33:31 +0000

    net-p2p/litecoin: fix build with miniupnpc 2.2.8

    PR: 280298

 net-p2p/litecoin/files/patch-src_net.cpp (new) | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
Comment 46 commit-hook freebsd_committer freebsd_triage 2024-07-19 15:47:03 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=658883b83bbeaa49b6f937b3acdf2a26a0a41145

commit 658883b83bbeaa49b6f937b3acdf2a26a0a41145
Author:     Dirk Meyer <dinoex@FreeBSD.org>
AuthorDate: 2024-07-19 15:46:04 +0000
Commit:     Dirk Meyer <dinoex@FreeBSD.org>
CommitDate: 2024-07-19 15:46:04 +0000

    net-p2p/namecoin: fix build with miniupnpc 2.2.8

    PR: 280298

 net-p2p/namecoin/files/patch-src_mapport.cpp (new) | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
Comment 47 commit-hook freebsd_committer freebsd_triage 2024-07-19 15:59:09 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8752173ea61388bdfe12b38b300ff14569603634

commit 8752173ea61388bdfe12b38b300ff14569603634
Author:     Dirk Meyer <dinoex@FreeBSD.org>
AuthorDate: 2024-07-19 15:58:06 +0000
Commit:     Dirk Meyer <dinoex@FreeBSD.org>
CommitDate: 2024-07-19 15:58:06 +0000

    net-p2p/retroshare: fix build with miniupnpc 2.2.8

    PR: 280298

 ...ibretroshare_src_upnp_upnphandler_miniupnp.cc (new) | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
Comment 48 commit-hook freebsd_committer freebsd_triage 2024-07-19 16:06:13 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d3319c96b939b0c7e0c7548a34d24a3c5030e274

commit d3319c96b939b0c7e0c7548a34d24a3c5030e274
Author:     Dirk Meyer <dinoex@FreeBSD.org>
AuthorDate: 2024-07-19 16:05:38 +0000
Commit:     Dirk Meyer <dinoex@FreeBSD.org>
CommitDate: 2024-07-19 16:05:38 +0000

    net-p2p/retroshare: fix build with miniupnpc 2.2.8

    PR: 280298

 .../files/patch-src_network_C4Network2UPnPLinux.cpp (new)  | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
Comment 49 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-19 16:22:30 UTC
(In reply to commit-hook from comment #48)
Some of ports same return code and use it before and upstream broke return codes too. Did you check this in your patches?
Comment 50 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-19 16:30:30 UTC
For example net-p2p/monero-cli use it:
    result = UPNP_GetValidIGD(deviceList, &urls, &igdData, lanAddress, sizeof lanAddress);
    freeUPNPDevlist(deviceList);
    if (result > 0) {
      if (result == 1) {
        std::ostringstream portString;
        portString << port;

        // Delete the port mapping before we create it, just in case we have dangling port mapping from the daemon not being shu
t down correctly
        UPNP_DeletePortMapping(urls.controlURL, igdData.first.servicetype, portString.str().c_str(), "TCP", 0);

        int portMappingResult;
        portMappingResult = UPNP_AddPortMapping(urls.controlURL, igdData.first.servicetype, portString.str().c_str(), portString
.str().c_str(), lanAddress, CRYPTONOTE_NAME, "TCP", 0, "0");
        if (portMappingResult != 0) {
          LOG_ERROR("UPNP_AddPortMapping failed, error: " << strupnperror(portMappingResult));
        } else {
          MLOG_GREEN(el::Level::Info, "Added IGD port mapping.");
        }
      } else if (result == 2) {
        MWARNING("IGD was found but reported as not connected.");
      } else if (result == 3) {
        MWARNING("UPnP device was found but not recognized as IGD.");
      } else {
        MWARNING("UPNP_GetValidIGD returned an unknown result code.");
      }

But this was changed: https://github.com/miniupnp/miniupnp/commit/c0a50ce33e3b99ce8a96fd43049bb5b53ffac62f#diff-5a0d7cff00628c2c64a617edb347c0f283e3a75e7df910e7e8438fc6db23f610L108

Also better to check upstream patches/issues and get or post patch.
Comment 51 Kevin Zheng 2024-07-19 16:39:28 UTC
I'm chiming in about the suggested improvement for the patch for games/openclonk.

I'm happy with this version of the patch for committing to the ports tree. I will separately upstream an improved patch with the #ifdef for upstream.
Comment 52 Igor Pavlov 2024-07-23 11:17:14 UTC
security/i2pd is broken either
Comment 53 Vladimir Druzenko freebsd_committer freebsd_triage 2024-07-23 11:57:19 UTC
(In reply to Igor Pavlov from comment #52)
> security/i2pd is broken either
With non-default option - can't find via grep INDEX.
Added maintainer driesm@FreeBSD.org to CC.
Comment 54 commit-hook freebsd_committer freebsd_triage 2024-08-16 15:03:06 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=12a18174c4f6dbfd63e4902723a12d32a9552e8c

commit 12a18174c4f6dbfd63e4902723a12d32a9552e8c
Author:     Dirk Meyer <dinoex@FreeBSD.org>
AuthorDate: 2024-08-16 15:02:16 +0000
Commit:     Dirk Meyer <dinoex@FreeBSD.org>
CommitDate: 2024-08-16 15:02:16 +0000

    net-p2p/monero-cli: fix returcode with miniupnpc 2.2.8

    PR: 280298

 net-p2p/monero-cli/Makefile                        |  2 +-
 .../monero-cli/files/patch-src_p2p_net__node.inl   | 27 +++++++++++++++++++++-
 2 files changed, 27 insertions(+), 2 deletions(-)
Comment 55 Vladimir Druzenko freebsd_committer freebsd_triage 2024-08-20 22:27:14 UTC
Looks like we fixed all ports.
Reopen this PR if I'm wrong.