| Age | Commit message (Expand) | Author | Files | Lines |
| 2026-01-23 | all: remove AUTHORS file and references to it | Will Norris | 13 | -13/+13 |
| 2026-01-19 | net/portmapper: Stop replacing the internal port with the upnp external port ... | Eduardo Sorribas | 1 | -1/+1 |
| 2026-01-08 | net/portmapper, go.mod: unfork our goupnp dependency | Andrew Dunham | 3 | -51/+85 |
| 2025-11-17 | go.mod: bump golang.org/x/crypto (#17907) | Andrew Lytvynov | 1 | -2/+3 |
| 2025-11-16 | syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging | Brad Fitzpatrick | 1 | -2/+1 |
| 2025-10-02 | feature/featuretags: add features for c2n, peerapi, advertise/use routes/exit... | Brad Fitzpatrick | 1 | -4/+8 |
| 2025-09-16 | feature/portmapper: make the portmapper & its debugging tools modular | Brad Fitzpatrick | 6 | -57/+141 |
| 2025-08-18 | ipn/localapi: plumb an event bus through the localapi.Handler (#16892) | M. J. Fromberger | 1 | -5/+2 |
| 2025-07-29 | ipn,net,tsnet,wgengine: make an eventbus mandatory where it is used (#16594) | M. J. Fromberger | 2 | -22/+27 |
| 2025-07-28 | net/portmapper: avert a panic when a mapping is not available (#16686) | M. J. Fromberger | 1 | -0/+7 |
| 2025-06-25 | util/eventbus: add test helpers to simplify testing events (#16294) | Claus Lensbøl | 2 | -13/+6 |
| 2025-04-25 | net/portmapper: fix test flakes from logging after test done | Brad Fitzpatrick | 4 | -12/+15 |
| 2025-04-23 | net/portmapper: fix nil pointer dereference in Client.createMapping | Nick Khyl | 1 | -5/+7 |
| 2025-04-16 | net/portmapper: fire an event when a port mapping is updated (#15371) | M. J. Fromberger | 5 | -49/+114 |
| 2025-04-16 | {wgengine,util/portmapper}: add and plumb an event bus (#15359) | M. J. Fromberger | 1 | -0/+10 |
| 2025-04-16 | portmapper: update NewClient to use a Config argument | M. J. Fromberger | 3 | -27/+45 |
| 2025-03-07 | net/portmapper: retry UPnP when we get an "Invalid Args" | Andrew Dunham | 2 | -2/+110 |
| 2024-10-01 | net/portmapper: don't treat 0.0.0.0 as a valid IP | Brad Fitzpatrick | 1 | -0/+4 |
| 2024-10-01 | net/portmapper: don't return unspecified/local external IPs | Andrew Dunham | 2 | -21/+92 |
| 2024-06-05 | all: use math/rand/v2 more | Maisem Ali | 1 | -2/+2 |
| 2024-05-06 | net/portmapper: add envknob to disable portmapper in localhost integration tests | Brad Fitzpatrick | 1 | -0/+6 |
| 2024-04-28 | net/{interfaces,netmon}, all: merge net/interfaces package into net/netmon | Brad Fitzpatrick | 1 | -2/+1 |
| 2024-04-27 | net/netns, net/dns/resolver, etc: make netmon required in most places | Brad Fitzpatrick | 2 | -4/+8 |
| 2024-04-16 | all: use Go 1.22 range-over-int | Brad Fitzpatrick | 2 | -3/+3 |
| 2024-03-25 | tailcfg, ipn/ipnlocal, wgengine/magicsock: add only-tcp-443 node attr | Brad Fitzpatrick | 1 | -0/+18 |
| 2024-01-23 | net/portmapper: support legacy "urn:dslforum-org" portmapping services | Andrew Dunham | 4 | -2/+488 |
| 2024-01-22 | net/portmapper: handle cases where we have no supported clients | Andrew Dunham | 2 | -1/+232 |
| 2024-01-03 | net/portmapper: check returned epoch from PMP and PCP protocols | Andrew Dunham | 2 | -3/+65 |
| 2023-12-20 | all: cleanup unused code, part 1 (#10661) | Andrew Lytvynov | 1 | -2/+0 |
| 2023-12-20 | net/portmapper: add logs about obtained mapping(s) | Andrew Dunham | 4 | -1/+69 |
| 2023-12-18 | net/portmapper: handle multiple UPnP discovery responses | Andrew Dunham | 4 | -84/+395 |
| 2023-12-13 | net/portmapper: be smarter about selecting a UPnP device | Andrew Dunham | 4 | -109/+697 |
| 2023-12-05 | net/portmap: add test of Mikrotik Root Desc XML. | Denton Gentry | 1 | -29/+170 |
| 2023-10-26 | net/portmapper: avoid alloc in getUPnPErrorsMetric | Andrew Dunham | 1 | -10/+12 |
| 2023-10-25 | net/portmapper: convert UPnP metrics to new syncs.Map.LoadOrInit method | Val | 1 | -12/+3 |
| 2023-09-27 | net/portmapper: fix invalid UPnP metric name | Andrew Dunham | 2 | -1/+21 |
| 2023-09-18 | net/portmapper: add clientmetric for UPnP error codes | Andrew Dunham | 2 | -10/+34 |
| 2023-09-12 | net/portmapper: fall back to permanent UPnP leases if necessary | Andrew Dunham | 3 | -2/+283 |
| 2023-09-11 | control/controlknobs, all: add plumbed Knobs type, not global variables | Brad Fitzpatrick | 4 | -11/+24 |
| 2023-08-28 | cmd/tailscale, net/portmapper: add --log-http option to "debug portmap" | Andrew Dunham | 2 | -0/+67 |
| 2023-08-21 | net/portmapper: never select port 0 in UPnP | Andrew Dunham | 1 | -14/+34 |
| 2023-04-20 | all: avoid repeated default interface lookups | Mihai Parparita | 4 | -7/+13 |
| 2023-04-17 | various: add golangci-lint, fix issues (#7905) | Andrew Dunham | 1 | -1/+1 |
| 2023-04-15 | wgengine/magicsock, types/nettype, etc: finish ReadFromUDPAddrPort netip migr... | Brad Fitzpatrick | 1 | -10/+5 |
| 2023-04-12 | net/sockstats: pass in logger to sockstats.WithSockStats | Mihai Parparita | 1 | -1/+1 |
| 2023-03-06 | sockstats: switch label to enum | Mihai Parparita | 1 | -1/+1 |
| 2023-03-04 | net/portmapper: relax source port check for UPnP responses | Andrew Dunham | 1 | -22/+41 |
| 2023-03-04 | net/portmapper: send UPnP protocol in upper-case | Andrew Dunham | 1 | -4/+14 |
| 2023-03-04 | net/portmapper: don't pick external ports below 1024 | Andrew Dunham | 1 | -2/+9 |
| 2023-03-03 | cmd/tailscale, cmd/tailscaled: move portmapper debugging into tailscale CLI | Andrew Dunham | 5 | -26/+37 |