You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/ipn
Alex Chan 304dabce17 ipn/ipnauth: fix a null pointer panic in GetConnIdentity
When running integration tests on macOS, we get a panic from a nil
pointer dereference when calling `ci.creds.PID()`.

This panic occurs because the `ci.creds != nil` check is insufficient
after a recent refactoring (c45f881) that changed `ci.creds` from a
pointer to the `PeerCreds` interface. Now `ci.creds` always compares as
non-nil, so we enter this block even when the underlying value is nil.

The integration tests fail on macOS when `peercred.Get()` returns the
error `unix.GetsockoptInt: socket is not connected`. This error isn't
new, and the previous code was ignoring it correctly.

Since we trust that `peercred` returns either a usable value or an error,
checking for a nil error is a sufficient and correct gate to prevent the
method call and avoid the panic.

Fixes #17421

Signed-off-by: Alex Chan <alexc@tailscale.com>
3 months ago
..
auditlog ipn/ipnext: remove some interface indirection to add hooks 9 months ago
conffile feature/featuretags, ipn/conffile: make HuJSON support in config files optional 4 months ago
desktop util/syspolicy: finish plumbing policyclient, add feature/syspolicy, move global impl 4 months ago
ipnauth ipn/ipnauth: fix a null pointer panic in GetConnIdentity 3 months ago
ipnext feature/portlist: pull portlist service porting into extension, use eventbus 4 months ago
ipnlocal ipn/ipnlocal: introduce the concept of client-side-reachability (#17367) 3 months ago
ipnserver feature/featuretags, all: add build features, use existing ones in more places 3 months ago
ipnstate cmd/tailscale, ipn/ipnstate, wgengine/magicsock: update ping output for peer relay (#16515) 6 months ago
lapitest various: allow tailscaled shutdown via LocalAPI 4 months ago
localapi feature/featuretags: add features for c2n, peerapi, advertise/use routes/exit nodes 3 months ago
policy ipn,tailconfig: clean up unreleased and removed app connector service 2 years ago
store ipn/store, feature/condregister: permit callers to empty import optonal ipn stores 3 months ago
backend.go ipn: fix the string representation of an empty ipn.Notify 4 months ago
backend_test.go ipn: fix the string representation of an empty ipn.Notify 4 months ago
conf.go ipn: ensure that conffile is source of truth for advertised services. (#15361) 10 months ago
doc.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 12 months ago
ipn_clone.go cmd/tailscale/cli,ipn,ipn/ipnlocal: add AutoExitNode preference for automatic exit node selection 6 months ago
ipn_test.go all: do not depend on the testing package 2 years ago
ipn_view.go util/linuxfw, feature/buildfeatures: add ts_omit_iptables to make IPTables optional 4 months ago
prefs.go feature/featuretags: add features for c2n, peerapi, advertise/use routes/exit nodes 3 months ago
prefs_test.go ipn: warn about self as the exit node if backend is running (#17018) 4 months ago
serve.go cmd/tailscale/cli: revert key for web config for services to FQDN (#16627) 6 months ago
serve_test.go cmd/tailscale/cli: Add service flag to serve command (#16191) 6 months ago
store.go tailcfg: report StateEncrypted in Hostinfo (#16434) 7 months ago
store_test.go ipn/store: automatically migrate between plaintext and encrypted state (#16318) 7 months ago