The soluiton for this particular problem is clear :  add a manual
connectivity option that enables accepting all IGD-identified devices
returned by library, regardless of the validation criteria.

The perfect fix would be though to list all detected devices to the user
in the manual connectivity page, and then in these problematic cases
they could select whatever device they want to use, at their own risk.

To my surprise, MiniUPnPc API has no function to produce an evaluated
list of all detected IGD devices. Its validation function goes through
the list of detected devices, multiple times if needed, checking for the
best criteria set to the less sufficient one, and returns immediately
once the first IGD-type device is found among the possible many.

So we currently stick with the original plan with a solution that can
solve some, but not all problems.

For example, if there are multiple routers satisfying the best (or any
other) criteria level (think of a backup internet connection, more and
more popular these days) then the current detection methods can easily
result a race condition of different devices detected and used at
different times of detection.

MiniUPnP's validation code can be altered or re-used to add support of
providing an evaluated list of all IGD devices found but that list would
add even more clutter to the connectivity settings page, so that'd
better be fixed first, etc... a follow-up entry to be created for this.


** Changed in: dcplusplus
       Status: Confirmed => Fix Committed

-- 
You received this bug notification because you are a member of
Dcplusplus-team, which is subscribed to DC++.
https://bugs.launchpad.net/bugs/1993817

Title:
  Unable to create port mappings in DC++ with MiniUPnP mapper while
  other apps using MiniUPnP succeed

Status in DC++:
  Fix Committed

Bug description:
  Tested DC++ up to version 0.880. Windows 10 x64.

  System Log:
        [17:35] Port mapping: Failed to initialize the MiniUPnP interface
        [17:35] Port mapping: Failed to map the Transfer port (54648 TCP) with 
the NAT-PMP interface
        [17:35] Port mapping: Failed to create port mappings

  I tried to select a specific network interface in the settings, disable all 
network interfaces except one.
  At the same time ApexDC++ and qBittorrent are successfully opened ports with 
UPnP.

To manage notifications about this bug go to:
https://bugs.launchpad.net/dcplusplus/+bug/1993817/+subscriptions


_______________________________________________
Mailing list: https://launchpad.net/~linuxdcpp-team
Post to     : linuxdcpp-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~linuxdcpp-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to