tailscale/net/portmapper
Andrew Dunham d05a572db4 net/portmapper: handle multiple UPnP discovery responses
Instead of taking the first UPnP response we receive and using that to
create port mappings, store all received UPnP responses, sort and
deduplicate them, and then try all of them to obtain an external
address.

Updates #10602

Signed-off-by: Andrew Dunham <andrew@du.nham.ca>
Change-Id: I783ccb1834834ee2a9ecbae2b16d801f2354302f
2023-12-18 16:02:46 -05:00
..
disabled_stubs.go net/portmapper: handle multiple UPnP discovery responses 2023-12-18 16:02:46 -05:00
igd_test.go net/portmapper: fall back to permanent UPnP leases if necessary 2023-09-12 11:16:45 -04:00
pcp_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
pcp.go all: update tools that manage copyright headers 2023-01-27 15:36:29 -08:00
pcpresultcode_string.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
pmpresultcode_string.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
portmapper_test.go net/portmapper: fix invalid UPnP metric name 2023-09-27 12:28:14 -04:00
portmapper.go net/portmapper: handle multiple UPnP discovery responses 2023-12-18 16:02:46 -05:00
select_test.go net/portmapper: be smarter about selecting a UPnP device 2023-12-13 16:32:29 -05:00
upnp_test.go net/portmapper: handle multiple UPnP discovery responses 2023-12-18 16:02:46 -05:00
upnp.go net/portmapper: handle multiple UPnP discovery responses 2023-12-18 16:02:46 -05:00