Support for NAT-PMP

Bug #334619 reported by cjst
2
Affects Status Importance Assigned to Milestone
LinuxDC++
Confirmed
Wishlist
Unassigned

Bug Description

Earlier, someone suggested UPnP support. I'd like to suggest also NAT-PMP support. NAT-PMP is more secure than UPnP, easier to set up and uses less resources on the server side. It is supported by miniupnpd (so that means that on the router side it should work on most UNIX flavors). It is the default NAT traversal system for macs/Macintosh Airport wireless routers. A client library is available from the miniupnp project: http://miniupnp.free.fr/libnatpmp.html.

Tags: plugin
Revision history for this message
Steven Sheehy (steven-sheehy) wrote :

I don't foresee us adding support for NAT-PMP anytime soon. Firstly because it would probably have to be added to the DC++ core and I doubt they would be open to something that is primarily useful for Unix and Apple users. Secondly, libnatpmp is not very well supported in most distros (please correct me if I am wrong) and we are against the idea of statically linking the library in our code.

Note that NAT-PMP is mentioned in bug #311483 as part of automatic external IP address detection as well.

Revision history for this message
cjst (cjsthompson) wrote :

It's not strictly useful to UNIX and Apple users. It works on Windows too, it's just that right now there's not so many Windows apps that support it (the most widely used Windows apps supporting it being uTorrent and Skype). Which is understandable since it was an unlikely combination to have Windows hosts behind an Apple Airport wireless router. But now that miniupnpd supports it it's going to make it's way in many router products that are Linux/BSD/etc... based (and there are many available right now like D-Link products) that Windows users use too. AFAIK OpenWRT supports it.

About libnatpmp, I don't know any app that uses it. All apps I have with NAT-PMP support implement it in their own way. I guess this is because it's much simpler to implement than UPnP. NAT-PMP requires on the server side just one open port. UPnP more like 2 open ports (with some HTTP stuff) and it has to send broadcasts through others ports too.

Revision history for this message
Steven Sheehy (steven-sheehy) wrote :

Won't go into trunk, but we will accept it as a plugin (see bug #279503). As a plugin it won't require any compile-time dependencies and can be linked dynamically when the user enables it.

Changed in linuxdcpp:
importance: Undecided → Wishlist
status: New → Confirmed
tags: added: plugin
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.