linuxdcpp-team team mailing list archive
-
linuxdcpp-team team
-
Mailing list archive
-
Message #00273
[Bug 230973] Re: UPnP does not work
UPnP_COM is the COM (so Win-specific) interface which is the "horrible"
code Razzloss has seen before. it can definitely not be ported;
moreover, it is still partial, it implements the bare minimum interfaces
and that is why it fails in cases where routers take a bit longer than
usual to respond, or when the Windows service is inexplicably "busy".
regardless if we use the COM interface or MiniUPnP, the GUI freezes for a couple of seconds at startup, which is annoying. since moving to the dcpp lib has been mentioned, would it be acceptable to create an UPnPManager class that would run in its own thread? it would also handle fallbacks to a different UPnP lib when one fails; at the moment, it is the code responsible for the main window GUI that handles this, which feels odd.
in that case, UPnP_COM can remain in win32/, and the win32 code can call dcpp::UPnPManager and tell it that the UPnP_COM interface is also available should it be needed (in most cases, MiniUPnP should work so UPnP_COM shouldn't even be needed).
about compiling MiniUPnPc for dynamic linking, it is quite easy, just
one flag ("STATICLIB") to toggle. then again i haven't tried it on Linux
but it can't be too hard...
--
UPnP does not work
https://bugs.launchpad.net/bugs/230973
You received this bug notification because you are a member of LinuxDC++
Team, which is subscribed to LinuxDC++.
Status in ApexDC++ - The Pinnacle of File-Sharing: New
Status in DC++: In Progress
Status in Linux DC++: New
Bug description:
Version 0.706.
I have UPnP configured correctly in my OS (Windows XP) and my router (Linksys WRT54GL). eMule, Miranda, Skype, uTorrent all work fine and correctly setup ports. However, dc++ does not. It used to work few times, but now it just complains that failed to setup ports. I've run upnp sniffer, and it seems that it doesn't even send out UPnP packets.
If you need additional information, please tell what kind and how to get it :)