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/util
Aaron Klotz 7adf15f90e cmd/tailscale/cli, util/winutil/authenticode: flesh out authenticode support
Previously, tailscale upgrade was doing the bare minimum for checking
authenticode signatures via `WinVerifyTrustEx`. This is fine, but we can do
better:

* WinVerifyTrustEx verifies that the binary's signature is valid, but it doesn't
  determine *whose* signature is valid; tailscale upgrade should also ensure that
  the binary is actually signed *by us*.
* I added the ability to check the signatures of MSI files.
* In future PRs I will be adding diagnostic logging that lists details about
  every module (ie, DLL) loaded into our process. As part of that metadata, I
  want to be able to extract information about who signed the binaries.

This code is modelled on some C++ I wrote for Firefox back in the day. See
https://searchfox.org/mozilla-central/rev/27e4816536c891d85d63695025f2549fd7976392/toolkit/xre/dllservices/mozglue/Authenticode.cpp
for reference.

Fixes #8284

Signed-off-by: Aaron Klotz <aaron@tailscale.com>
10 months ago
..
cibuild all: update copyright and license headers 1 year ago
clientmetric util/clientmetric: allow client metric values to be provided by a function 1 year ago
cloudenv all: update copyright and license headers 1 year ago
cmpver all: update copyright and license headers 1 year ago
cmpx all: update exp/slices and fix call sites 11 months ago
codegen util/codegen: support embedded fields 1 year ago
cstruct all: update copyright and license headers 1 year ago
deephash tailcfg,ipn/ipnlocal,wgengine: add values to PeerCapabilities 11 months ago
dirwalk all: use tstest.Replace more 1 year ago
dnsname cmd/tailscale: extend hostname validation (#7678) 1 year ago
goroutines util/goroutines: let ScrubbedGoroutineDump get only current stack 12 months ago
groupmember all: update copyright and license headers 1 year ago
hashx all: update copyright and license headers 1 year ago
httpm all: update copyright and license headers 1 year ago
jsonutil all: update copyright and license headers 1 year ago
lineread all: update copyright and license headers 1 year ago
linuxfw util/linuxfw: remove yet-unused code to fix linux/arm64 crash 11 months ago
lru util/lru: add a package for a typed LRU cache 12 months ago
mak various: add golangci-lint, fix issues (#7905) 1 year ago
multierr util/multierr: implement Go 1.20+'s multiple error Unwrap 1 year ago
must all: update copyright and license headers 1 year ago
osshare all: update copyright and license headers 1 year ago
pidowner all: update copyright and license headers 1 year ago
precompress all: update copyright and license headers 1 year ago
quarantine all: update copyright and license headers 1 year ago
racebuild all: update copyright and license headers 1 year ago
ringbuffer util/ringbuffer: move generic ringbuffer from corp repo 1 year ago
set util/set: add a basic map-based Set type 1 year ago
singleflight all: update copyright and license headers 1 year ago
slicesx util/slicesx: add Partition function 1 year ago
sysresources util/sysresources, magicsock: scale DERP buffer based on system memory 1 year ago
systemd all: update copyright and license headers 1 year ago
truncate util: add truncate package (#7490) 1 year ago
uniq all: update copyright and license headers 1 year ago
vizerror util/vizerror: add As function to get wrapped Error 1 year ago
winutil cmd/tailscale/cli, util/winutil/authenticode: flesh out authenticode support 10 months ago