Make Tor speak UPnP and NAT-PMP for port-forwarding
We want it to be as easy as possible for people to configure a Tor bridge (see legacy/trac#1752 (moved)), and part of the difficulty is getting their router to do port forwarding. Vidalia supports UPnP automatic port forwarding, but this is no good for headless servers and these are probably the ones which make the most reliable bridges. UPnP also doesn't work on Apple networking hardware.
We should therefore implement UPnP and NAT-PMP (for Apple hardware) inside Tor itself. This should automatically configure port forwarding, and maintain it over router reboots. Including the UPnP/NAT-PMP libraries should be a build-time option in case some platforms don't support the libraries or the user simply doesn't want them available.
Development is currently happening in this Git branch: https://gitweb.torproject.org/sjm217/tor.git/shortlog/refs/heads/upnp
Child Tickets: [[TicketQuery(parent=legacy/trac#1775 (moved))]]