using the MiniUPNP client library from <http://miniupnp.free.fr/> solves all the problems for me; also, implementing it is far simpler than the COM interface that Windows provides. moreover it is cross-platform so LinuxDC++ might also be able to use it.
besides, as an incentive, eMule also uses it...
i am attaching a simple file which implements it in DC++. if it is ok then i can then add the include & lib files to the repo. note that it there is a little DLL, miniupnpc.dll (86 KB), to redistribute. here are the files which would go into a miniupnpc/ folder:
using the MiniUPNP client library from <http:// miniupnp. free.fr/> solves all the problems for me; also, implementing it is far simpler than the COM interface that Windows provides. moreover it is cross-platform so LinuxDC++ might also be able to use it.
besides, as an incentive, eMule also uses it...
i am attaching a simple file which implements it in DC++. if it is ok then i can then add the include & lib files to the repo. note that it there is a little DLL, miniupnpc.dll (86 KB), to redistribute. here are the files which would go into a miniupnpc/ folder:
miniupnpc:
dll include lib readme.txt
miniupnpc/dll:
miniupnpc.dll miniupnpc.dll.def
miniupnpc/include:
miniupnpc
miniupnpc/ include/ miniupnpc:
bsdqueue.h minisoap.h miniwget.h upnpreplyparse.h
codelength.h minissdpc.h minixml.h
declspec.h miniupnpc.h upnpcommands.h
igd_desc_parse.h miniupnpcstrings.h upnperrors.h
miniupnpc/lib:
miniupnpc.lib