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/cmd/tailscaled
James Tucker 24bac27632 util/rands: add Shuffle and Perm functions with on-stack RNG state
The new math/rand/v2 package includes an m-local global random number
generator that can not be reseeded by the user, which is suitable for
most uses without the RNG pools we have in a number of areas of the code
base.

The new API still does not have an allocation-free way of performing a
seeded operations, due to the long term compiler bug around interface
parameter escapes, and the Source interface.

This change introduces the two APIs that math/rand/v2 can not yet
replace efficiently: seeded Perm() and Shuffle() operations. This
implementation chooses to use the PCG random source from math/rand/v2,
as with sufficient compiler optimization, this source should boil down
to only two on-stack registers for random state under ideal conditions.

Updates #17243

Signed-off-by: James Tucker <james@tailscale.com>
4 months ago
..
childproc all: update copyright and license headers 1 year ago
debug.go net/netmon: make ChangeFunc's signature take new ChangeDelta, not bool 9 months ago
depaware.txt util/rands: add Shuffle and Perm functions with on-stack RNG state 4 months ago
generate.go cmd/mkmanifest, cmd/tailscale, cmd/tailscaled: remove Windows arm32 resources from OSS 1 year ago
install_darwin.go all: update copyright and license headers 1 year ago
install_windows.go all: update copyright and license headers 1 year ago
manifest_windows_386.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
manifest_windows_amd64.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
manifest_windows_arm64.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
proxy.go all: update copyright and license headers 1 year ago
required_version.go all: require Go 1.21 10 months ago
sigpipe.go all: adjust some build tags for plan9 9 months ago
ssh.go all: update copyright and license headers 1 year ago
taildrop.go taildrop: remove breaking abstraction layers for apple (#10728) 5 months ago
tailscaled.defaults cmd/tailscaled: rename relaynode reference in defaults file comment 4 years ago
tailscaled.go tailfs: initial implementation 4 months ago
tailscaled.openrc tstest/integration/vms: use an in-process logcatcher (#2360) 3 years ago
tailscaled.service cmd/tailscaled: use explicit equal sign in --port=$PORT in tailscaled.service 2 years ago
tailscaled_bird.go all: update copyright and license headers 1 year ago
tailscaled_notwindows.go all: update copyright and license headers 1 year ago
tailscaled_test.go util/linuxfw: remove yet-unused code to fix linux/arm64 crash 11 months ago
tailscaled_windows.go cmd/tailscaled, util/winutil: changes to process and token APIs in winutil 7 months ago
windows-manifest.xml cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
with_cli.go all: update copyright and license headers 1 year ago