2020-02-05 22:16:58 +00:00
|
|
|
module tailscale.com
|
|
|
|
|
2022-03-15 20:49:27 +00:00
|
|
|
go 1.18
|
2020-02-05 22:16:58 +00:00
|
|
|
|
|
|
|
require (
|
2021-10-01 04:13:38 +00:00
|
|
|
filippo.io/mkcert v1.4.3
|
2021-11-07 20:11:50 +00:00
|
|
|
github.com/akutz/memconn v0.1.0
|
2022-03-24 19:22:36 +00:00
|
|
|
github.com/alessio/shellescape v1.4.1
|
2021-05-24 19:55:35 +00:00
|
|
|
github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74
|
2022-03-25 22:35:36 +00:00
|
|
|
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be
|
2021-12-06 11:24:04 +00:00
|
|
|
github.com/aws/aws-sdk-go-v2 v1.11.2
|
|
|
|
github.com/aws/aws-sdk-go-v2/config v1.11.0
|
|
|
|
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.7.4
|
|
|
|
github.com/aws/aws-sdk-go-v2/service/s3 v1.21.0
|
2021-12-06 19:16:11 +00:00
|
|
|
github.com/aws/aws-sdk-go-v2/service/ssm v1.17.1
|
2021-05-24 19:55:35 +00:00
|
|
|
github.com/coreos/go-iptables v0.6.0
|
2022-04-15 20:56:33 +00:00
|
|
|
github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf
|
2021-10-18 11:30:30 +00:00
|
|
|
github.com/creack/pty v1.1.17
|
2021-07-28 15:53:02 +00:00
|
|
|
github.com/dave/jennifer v1.4.1
|
2021-11-03 01:02:55 +00:00
|
|
|
github.com/frankban/quicktest v1.14.0
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/go-ole/go-ole v1.2.6
|
2021-11-07 20:25:31 +00:00
|
|
|
github.com/godbus/dbus/v5 v5.0.6
|
2021-12-06 22:41:30 +00:00
|
|
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
|
2022-02-21 21:36:12 +00:00
|
|
|
github.com/google/go-cmp v0.5.7
|
2021-09-23 11:26:42 +00:00
|
|
|
github.com/google/uuid v1.3.0
|
2021-05-24 19:55:35 +00:00
|
|
|
github.com/goreleaser/nfpm v1.10.3
|
2021-07-28 15:53:02 +00:00
|
|
|
github.com/iancoleman/strcase v0.2.0
|
2022-03-13 01:25:00 +00:00
|
|
|
github.com/insomniacslk/dhcp v0.0.0-20211209223715-7d93572ebe8e
|
2022-04-08 21:17:53 +00:00
|
|
|
github.com/jsimonetti/rtnetlink v1.1.2-0.20220408201609-d380b505068b
|
2021-04-29 23:31:41 +00:00
|
|
|
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
|
2021-09-22 22:11:25 +00:00
|
|
|
github.com/klauspost/compress v1.13.6
|
2022-02-22 07:33:23 +00:00
|
|
|
github.com/mdlayher/genetlink v1.2.0
|
2022-02-21 21:36:12 +00:00
|
|
|
github.com/mdlayher/netlink v1.6.0
|
2022-04-06 16:39:05 +00:00
|
|
|
github.com/mdlayher/sdnotify v1.0.0
|
2021-09-22 22:41:24 +00:00
|
|
|
github.com/miekg/dns v1.1.43
|
2021-07-08 14:53:32 +00:00
|
|
|
github.com/mitchellh/go-ps v1.0.0
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/peterbourgon/ff/v3 v3.1.2
|
2021-09-27 11:23:17 +00:00
|
|
|
github.com/pkg/sftp v1.13.4
|
2021-10-06 16:53:23 +00:00
|
|
|
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
|
2022-03-16 22:47:15 +00:00
|
|
|
github.com/tailscale/certstore v0.1.1-0.20220316223106-78d6e1c49d8d
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/tailscale/depaware v0.0.0-20210622194025-720c4b409502
|
2021-09-02 21:55:31 +00:00
|
|
|
github.com/tailscale/goexpect v0.0.0-20210902213824-6e8c725cea41
|
2022-04-21 00:36:19 +00:00
|
|
|
github.com/tailscale/golang-x-crypto v0.0.0-20220420224200-c602b5dfaa7f
|
2021-08-03 05:09:50 +00:00
|
|
|
github.com/tailscale/goupnp v1.0.1-0.20210804011211-c64d0f06ea05
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/tailscale/hujson v0.0.0-20211105212140-3a0adc019d83
|
2021-10-28 22:22:03 +00:00
|
|
|
github.com/tailscale/netlink v1.1.1-0.20211101221916-cabfb018fe85
|
2020-05-11 15:23:09 +00:00
|
|
|
github.com/tcnksm/go-httpstat v0.2.0
|
2020-03-27 20:26:35 +00:00
|
|
|
github.com/toqueteos/webbrowser v1.2.0
|
2022-03-11 19:19:55 +00:00
|
|
|
github.com/u-root/u-root v0.8.0
|
|
|
|
github.com/vishvananda/netlink v1.1.1-0.20211118161826-650dca95af54
|
2021-12-06 19:57:13 +00:00
|
|
|
go4.org/mem v0.0.0-20210711025021-927187094b94
|
2022-04-20 20:39:15 +00:00
|
|
|
golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4
|
2022-04-08 21:17:53 +00:00
|
|
|
golang.org/x/net v0.0.0-20220407224826-aac1ed45d8e3
|
2021-03-18 05:04:31 +00:00
|
|
|
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
|
2022-04-15 20:56:33 +00:00
|
|
|
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad
|
2021-12-06 19:57:13 +00:00
|
|
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211
|
|
|
|
golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11
|
2022-04-13 20:49:48 +00:00
|
|
|
golang.org/x/tools v0.1.11-0.20220413170336-afc6aad76eb1
|
2022-03-17 00:16:55 +00:00
|
|
|
golang.zx2c4.com/wireguard v0.0.0-20220317000134-95b48cdb3961
|
2021-09-29 14:53:43 +00:00
|
|
|
golang.zx2c4.com/wireguard/windows v0.4.10
|
2022-04-08 02:03:18 +00:00
|
|
|
gvisor.dev/gvisor v0.0.0-20220407223209-21871174d445
|
2022-04-05 19:24:33 +00:00
|
|
|
honnef.co/go/tools v0.4.0-0.dev.0.20220404092545-59d7a2877f83
|
2021-10-27 22:03:17 +00:00
|
|
|
inet.af/netaddr v0.0.0-20211027220019-c74959edd3b6
|
2021-12-06 19:57:13 +00:00
|
|
|
inet.af/peercred v0.0.0-20210906144145-0893ea02156a
|
|
|
|
inet.af/wf v0.0.0-20211204062712-86aaea0a7310
|
wgengine/router,util/kmod: load & log xt_mark
Attempt to load the xt_mark kernel module when it is not present. If the
load fails, log error information.
It may be tempting to promote this failure to an error once it has been
in use for some time, so as to avoid reaching an error with the iptables
invocation, however, there are conditions under which the two stages may
disagree - this change adds more useful breadcrumbs.
Example new output from tailscaled running under my WSL2:
```
router: ensure module xt_mark: "/usr/sbin/modprobe xt_mark" failed: exit status 1; modprobe: FATAL: Module xt_mark not found in directory /lib/modules/5.10.43.3-microsoft-standard-WSL2
```
Background:
There are two places to lookup modules, one is `/proc/modules` "old",
the other is `/sys/module/` "new".
There was query_modules(2) in linux <2.6, alas, it is gone.
In a docker container in the default configuration, you would get
/proc/modules and /sys/module/ both populated. lsmod may work file,
modprobe will fail with EPERM at `finit_module()` for an unpriviliged
container.
In a priviliged container the load may *succeed*, if some conditions are
met. This condition should be avoided, but the code landing in this
change does not attempt to avoid this scenario as it is both difficult
to detect, and has a very uncertain impact.
In an nspawn container `/proc/modules` is populated, but `/sys/module`
does not exist. Modern `lsmod` versions will fail to gather most module
information, without sysfs being populated with module information.
In WSL2 modules are likely missing, as the in-use kernel typically is
not provided by the distribution filesystem, and WSL does not mount in a
module filesystem of its own. Notably the WSL2 kernel supports iptables
marks without listing the xt_mark module in /sys/module, and
/proc/modules is empty.
On a recent kernel, we can ask the capabilities system about SYS_MODULE,
that will help to disambiguate between the non-privileged container case
and just being root. On older kernels these calls may fail.
Update #4329
Signed-off-by: James Tucker <james@tailscale.com>
2022-04-12 01:25:35 +00:00
|
|
|
kernel.org/pub/linux/libs/security/libcap/cap v1.2.64
|
2021-10-21 17:12:51 +00:00
|
|
|
nhooyr.io/websocket v1.8.7
|
wgengine/router,util/kmod: load & log xt_mark
Attempt to load the xt_mark kernel module when it is not present. If the
load fails, log error information.
It may be tempting to promote this failure to an error once it has been
in use for some time, so as to avoid reaching an error with the iptables
invocation, however, there are conditions under which the two stages may
disagree - this change adds more useful breadcrumbs.
Example new output from tailscaled running under my WSL2:
```
router: ensure module xt_mark: "/usr/sbin/modprobe xt_mark" failed: exit status 1; modprobe: FATAL: Module xt_mark not found in directory /lib/modules/5.10.43.3-microsoft-standard-WSL2
```
Background:
There are two places to lookup modules, one is `/proc/modules` "old",
the other is `/sys/module/` "new".
There was query_modules(2) in linux <2.6, alas, it is gone.
In a docker container in the default configuration, you would get
/proc/modules and /sys/module/ both populated. lsmod may work file,
modprobe will fail with EPERM at `finit_module()` for an unpriviliged
container.
In a priviliged container the load may *succeed*, if some conditions are
met. This condition should be avoided, but the code landing in this
change does not attempt to avoid this scenario as it is both difficult
to detect, and has a very uncertain impact.
In an nspawn container `/proc/modules` is populated, but `/sys/module`
does not exist. Modern `lsmod` versions will fail to gather most module
information, without sysfs being populated with module information.
In WSL2 modules are likely missing, as the in-use kernel typically is
not provided by the distribution filesystem, and WSL does not mount in a
module filesystem of its own. Notably the WSL2 kernel supports iptables
marks without listing the xt_mark module in /sys/module, and
/proc/modules is empty.
On a recent kernel, we can ask the capabilities system about SYS_MODULE,
that will help to disambiguate between the non-privileged container case
and just being root. On older kernels these calls may fail.
Update #4329
Signed-off-by: James Tucker <james@tailscale.com>
2022-04-12 01:25:35 +00:00
|
|
|
pault.ag/go/modprobe v0.1.2
|
2020-02-05 22:16:58 +00:00
|
|
|
)
|
2021-09-02 19:28:03 +00:00
|
|
|
|
|
|
|
require (
|
2021-12-06 19:57:13 +00:00
|
|
|
4d63.com/gochecknoglobals v0.1.0 // indirect
|
|
|
|
github.com/Antonboom/errname v0.1.5 // indirect
|
|
|
|
github.com/Antonboom/nilnil v0.1.0 // indirect
|
2022-04-05 19:24:33 +00:00
|
|
|
github.com/BurntSushi/toml v1.1.0 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/Djarvur/go-err113 v0.1.0 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/Masterminds/goutils v1.1.1 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/Masterminds/semver v1.5.0 // indirect
|
|
|
|
github.com/Masterminds/semver/v3 v3.1.1 // indirect
|
|
|
|
github.com/Masterminds/sprig v2.22.0+incompatible // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/Microsoft/go-winio v0.5.1 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/OpenPeeDeeP/depguard v1.0.1 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/ProtonMail/go-crypto v0.0.0-20211112122917-428f8eabeeb3 // indirect
|
|
|
|
github.com/acomagu/bufpipe v1.0.3 // indirect
|
|
|
|
github.com/alexkohler/prealloc v1.0.0 // indirect
|
|
|
|
github.com/ashanbrown/forbidigo v1.2.0 // indirect
|
|
|
|
github.com/ashanbrown/makezero v0.0.0-20210520155254-b6261585ddde // indirect
|
2021-12-01 10:10:32 +00:00
|
|
|
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.0.0 // indirect
|
2021-12-06 11:24:04 +00:00
|
|
|
github.com/aws/aws-sdk-go-v2/credentials v1.6.4 // indirect
|
|
|
|
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.8.2 // indirect
|
|
|
|
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.2 // indirect
|
|
|
|
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.2 // indirect
|
|
|
|
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.2 // indirect
|
2021-12-01 10:10:32 +00:00
|
|
|
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.5.0 // indirect
|
2021-12-06 11:24:04 +00:00
|
|
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.5.2 // indirect
|
|
|
|
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.9.2 // indirect
|
|
|
|
github.com/aws/aws-sdk-go-v2/service/sso v1.6.2 // indirect
|
|
|
|
github.com/aws/aws-sdk-go-v2/service/sts v1.11.1 // indirect
|
2021-11-29 18:12:27 +00:00
|
|
|
github.com/aws/smithy-go v1.9.0 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
|
|
github.com/bkielbasa/cyclop v1.2.0 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/blizzy78/varnamelen v0.5.0 // indirect
|
|
|
|
github.com/bombsimon/wsl/v3 v3.3.0 // indirect
|
|
|
|
github.com/breml/bidichk v0.2.1 // indirect
|
|
|
|
github.com/butuzov/ireturn v0.1.1 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/cespare/xxhash/v2 v2.1.2 // indirect
|
|
|
|
github.com/charithe/durationcheck v0.0.9 // indirect
|
|
|
|
github.com/chavacava/garif v0.0.0-20210405164556-e8a0a408d6af // indirect
|
|
|
|
github.com/daixiang0/gci v0.2.9 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/denis-tingajkin/go-header v0.4.2 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/emirpasic/gods v1.12.0 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/esimonov/ifshort v1.0.3 // indirect
|
|
|
|
github.com/ettle/strcase v0.1.1 // indirect
|
|
|
|
github.com/fatih/color v1.13.0 // indirect
|
|
|
|
github.com/fatih/structtag v1.2.0 // indirect
|
|
|
|
github.com/fsnotify/fsnotify v1.5.1 // indirect
|
|
|
|
github.com/fzipp/gocyclo v0.3.1 // indirect
|
2022-03-30 00:31:44 +00:00
|
|
|
github.com/gliderlabs/ssh v0.3.3 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/go-critic/go-critic v0.6.1 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/go-git/gcfg v1.5.0 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/go-git/go-billy/v5 v5.3.1 // indirect
|
|
|
|
github.com/go-git/go-git/v5 v5.4.2 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/go-toolsmith/astcast v1.0.0 // indirect
|
|
|
|
github.com/go-toolsmith/astcopy v1.0.0 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/go-toolsmith/astequal v1.0.1 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/go-toolsmith/astfmt v1.0.0 // indirect
|
|
|
|
github.com/go-toolsmith/astp v1.0.0 // indirect
|
|
|
|
github.com/go-toolsmith/strparse v1.0.0 // indirect
|
|
|
|
github.com/go-toolsmith/typep v1.0.2 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/go-xmlfmt/xmlfmt v0.0.0-20211206191508-7fd73a941850 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/gobwas/glob v0.2.3 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/gofrs/flock v0.8.1 // indirect
|
|
|
|
github.com/golang/protobuf v1.5.2 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect
|
|
|
|
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect
|
|
|
|
github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613 // indirect
|
|
|
|
github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/golangci/golangci-lint v1.43.0 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 // indirect
|
|
|
|
github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca // indirect
|
|
|
|
github.com/golangci/misspell v0.3.5 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/golangci/revgrep v0.0.0-20210930125155-c22e5001d4f2 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 // indirect
|
|
|
|
github.com/google/btree v1.0.1 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/google/goterm v0.0.0-20200907032337-555d40f16ae2 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/google/rpmpack v0.0.0-20201206194719-59e495f2b7e1 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/goreleaser/chglog v0.1.2 // indirect
|
|
|
|
github.com/goreleaser/fileglob v0.3.1 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/gostaticanalysis/analysisutil v0.7.1 // indirect
|
|
|
|
github.com/gostaticanalysis/comment v1.4.2 // indirect
|
|
|
|
github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect
|
|
|
|
github.com/gostaticanalysis/nilerr v0.1.1 // indirect
|
|
|
|
github.com/hashicorp/errwrap v1.1.0 // indirect
|
|
|
|
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/hashicorp/hcl v1.0.0 // indirect
|
|
|
|
github.com/huandu/xstrings v1.3.2 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/imdario/mergo v0.3.12 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
|
|
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/jgautheron/goconst v1.5.1 // indirect
|
|
|
|
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect
|
|
|
|
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
2022-02-21 21:36:12 +00:00
|
|
|
github.com/josharian/native v1.0.0 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/julz/importas v0.0.0-20210922140945-27e0a5d4dee2 // indirect
|
|
|
|
github.com/kevinburke/ssh_config v1.1.0 // indirect
|
|
|
|
github.com/kisielk/errcheck v1.6.0 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/kisielk/gotool v1.0.0 // indirect
|
|
|
|
github.com/kr/fs v0.1.0 // indirect
|
2021-09-23 11:26:50 +00:00
|
|
|
github.com/kr/pretty v0.3.0 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/kr/text v0.2.0 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/kulti/thelper v0.4.0 // indirect
|
|
|
|
github.com/kunwardeep/paralleltest v1.0.3 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/kyoh86/exportloopref v0.1.8 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/ldez/gomoddirectives v0.2.2 // indirect
|
|
|
|
github.com/ldez/tagliatelle v0.2.0 // indirect
|
|
|
|
github.com/magiconair/properties v1.8.5 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/maratori/testpackage v1.0.1 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 // indirect
|
|
|
|
github.com/mattn/go-colorable v0.1.12 // indirect
|
|
|
|
github.com/mattn/go-isatty v0.0.14 // indirect
|
|
|
|
github.com/mattn/go-runewidth v0.0.13 // indirect
|
|
|
|
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
|
|
|
|
github.com/mbilski/exhaustivestruct v1.2.0 // indirect
|
2022-04-08 21:17:53 +00:00
|
|
|
github.com/mdlayher/socket v0.2.3 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517 // indirect
|
|
|
|
github.com/mgechev/revive v1.1.2 // indirect
|
|
|
|
github.com/mitchellh/copystructure v1.2.0 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/mitchellh/mapstructure v1.4.3 // indirect
|
|
|
|
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/moricho/tparallel v0.2.1 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/nakabonne/nestif v0.3.1 // indirect
|
|
|
|
github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 // indirect
|
|
|
|
github.com/nishanths/exhaustive v0.7.11 // indirect
|
|
|
|
github.com/nishanths/predeclared v0.2.1 // indirect
|
|
|
|
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/pelletier/go-toml v1.9.4 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
|
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/polyfloyd/go-errorlint v0.0.0-20211125173453-6d6d39c5bb8b // indirect
|
|
|
|
github.com/prometheus/client_golang v1.11.0 // indirect
|
|
|
|
github.com/prometheus/client_model v0.2.0 // indirect
|
|
|
|
github.com/prometheus/common v0.32.1 // indirect
|
|
|
|
github.com/prometheus/procfs v0.7.3 // indirect
|
|
|
|
github.com/quasilyte/go-ruleguard v0.3.13 // indirect
|
|
|
|
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
|
|
|
|
github.com/rivo/uniseg v0.2.0 // indirect
|
|
|
|
github.com/rogpeppe/go-internal v1.8.1-0.20211023094830-115ce09fd6b4 // indirect
|
|
|
|
github.com/ryancurrah/gomodguard v1.2.3 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/ryanrolds/sqlclosecheck v0.3.0 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/sassoftware/go-rpmutils v0.0.0-20190420191620-a8f1baeba37b // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/securego/gosec/v2 v2.9.3 // indirect
|
|
|
|
github.com/sergi/go-diff v1.2.0 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/sirupsen/logrus v1.8.1 // indirect
|
|
|
|
github.com/sivchari/tenv v1.4.7 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/sonatard/noctx v0.0.1 // indirect
|
|
|
|
github.com/sourcegraph/go-diff v0.6.1 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/spf13/afero v1.6.0 // indirect
|
|
|
|
github.com/spf13/cast v1.4.1 // indirect
|
|
|
|
github.com/spf13/cobra v1.2.1 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
|
|
|
github.com/spf13/pflag v1.0.5 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/spf13/viper v1.9.0 // indirect
|
|
|
|
github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/stretchr/objx v0.3.0 // indirect
|
2021-09-22 22:41:19 +00:00
|
|
|
github.com/stretchr/testify v1.7.0 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/subosito/gotenv v1.2.0 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/sylvia7788/contextcheck v1.0.4 // indirect
|
|
|
|
github.com/tdakkota/asciicheck v0.1.1 // indirect
|
|
|
|
github.com/tetafro/godot v1.4.11 // indirect
|
|
|
|
github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144 // indirect
|
|
|
|
github.com/tomarrell/wrapcheck/v2 v2.4.0 // indirect
|
|
|
|
github.com/tommy-muehle/go-mnd/v2 v2.4.0 // indirect
|
2022-03-13 01:25:00 +00:00
|
|
|
github.com/u-root/uio v0.0.0-20210528151154-e40b768296a7 // indirect
|
|
|
|
github.com/ulikunitz/xz v0.5.10 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
github.com/ultraware/funlen v0.0.3 // indirect
|
|
|
|
github.com/ultraware/whitespace v0.0.4 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
github.com/uudashr/gocognit v1.0.5 // indirect
|
|
|
|
github.com/vishvananda/netns v0.0.0-20211101163701-50045581ed74 // indirect
|
|
|
|
github.com/xanzy/ssh-agent v0.3.1 // indirect
|
|
|
|
github.com/yeya24/promlinter v0.1.0 // indirect
|
2021-10-27 22:03:17 +00:00
|
|
|
go4.org/intern v0.0.0-20211027215823-ae77deb06f29 // indirect
|
|
|
|
go4.org/unsafe/assume-no-moving-gc v0.0.0-20211027215541-db492cf91b37 // indirect
|
2022-04-05 19:24:33 +00:00
|
|
|
golang.org/x/exp/typeparams v0.0.0-20220328175248-053ad81199eb // indirect
|
2022-03-15 23:19:03 +00:00
|
|
|
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect
|
2021-09-23 11:27:13 +00:00
|
|
|
golang.org/x/text v0.3.7 // indirect
|
2022-04-15 20:56:33 +00:00
|
|
|
golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect
|
2021-11-16 19:35:25 +00:00
|
|
|
golang.zx2c4.com/wintun v0.0.0-20211104114900-415007cec224 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
google.golang.org/protobuf v1.27.1 // indirect
|
|
|
|
gopkg.in/ini.v1 v1.66.2 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
|
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
|
|
|
|
howett.net/plist v1.0.0 // indirect
|
wgengine/router,util/kmod: load & log xt_mark
Attempt to load the xt_mark kernel module when it is not present. If the
load fails, log error information.
It may be tempting to promote this failure to an error once it has been
in use for some time, so as to avoid reaching an error with the iptables
invocation, however, there are conditions under which the two stages may
disagree - this change adds more useful breadcrumbs.
Example new output from tailscaled running under my WSL2:
```
router: ensure module xt_mark: "/usr/sbin/modprobe xt_mark" failed: exit status 1; modprobe: FATAL: Module xt_mark not found in directory /lib/modules/5.10.43.3-microsoft-standard-WSL2
```
Background:
There are two places to lookup modules, one is `/proc/modules` "old",
the other is `/sys/module/` "new".
There was query_modules(2) in linux <2.6, alas, it is gone.
In a docker container in the default configuration, you would get
/proc/modules and /sys/module/ both populated. lsmod may work file,
modprobe will fail with EPERM at `finit_module()` for an unpriviliged
container.
In a priviliged container the load may *succeed*, if some conditions are
met. This condition should be avoided, but the code landing in this
change does not attempt to avoid this scenario as it is both difficult
to detect, and has a very uncertain impact.
In an nspawn container `/proc/modules` is populated, but `/sys/module`
does not exist. Modern `lsmod` versions will fail to gather most module
information, without sysfs being populated with module information.
In WSL2 modules are likely missing, as the in-use kernel typically is
not provided by the distribution filesystem, and WSL does not mount in a
module filesystem of its own. Notably the WSL2 kernel supports iptables
marks without listing the xt_mark module in /sys/module, and
/proc/modules is empty.
On a recent kernel, we can ask the capabilities system about SYS_MODULE,
that will help to disambiguate between the non-privileged container case
and just being root. On older kernels these calls may fail.
Update #4329
Signed-off-by: James Tucker <james@tailscale.com>
2022-04-12 01:25:35 +00:00
|
|
|
kernel.org/pub/linux/libs/security/libcap/psx v1.2.64 // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
mvdan.cc/gofumpt v0.2.0 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect
|
|
|
|
mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
mvdan.cc/unparam v0.0.0-20211002134041-24922b6997ca // indirect
|
wgengine/router,util/kmod: load & log xt_mark
Attempt to load the xt_mark kernel module when it is not present. If the
load fails, log error information.
It may be tempting to promote this failure to an error once it has been
in use for some time, so as to avoid reaching an error with the iptables
invocation, however, there are conditions under which the two stages may
disagree - this change adds more useful breadcrumbs.
Example new output from tailscaled running under my WSL2:
```
router: ensure module xt_mark: "/usr/sbin/modprobe xt_mark" failed: exit status 1; modprobe: FATAL: Module xt_mark not found in directory /lib/modules/5.10.43.3-microsoft-standard-WSL2
```
Background:
There are two places to lookup modules, one is `/proc/modules` "old",
the other is `/sys/module/` "new".
There was query_modules(2) in linux <2.6, alas, it is gone.
In a docker container in the default configuration, you would get
/proc/modules and /sys/module/ both populated. lsmod may work file,
modprobe will fail with EPERM at `finit_module()` for an unpriviliged
container.
In a priviliged container the load may *succeed*, if some conditions are
met. This condition should be avoided, but the code landing in this
change does not attempt to avoid this scenario as it is both difficult
to detect, and has a very uncertain impact.
In an nspawn container `/proc/modules` is populated, but `/sys/module`
does not exist. Modern `lsmod` versions will fail to gather most module
information, without sysfs being populated with module information.
In WSL2 modules are likely missing, as the in-use kernel typically is
not provided by the distribution filesystem, and WSL does not mount in a
module filesystem of its own. Notably the WSL2 kernel supports iptables
marks without listing the xt_mark module in /sys/module, and
/proc/modules is empty.
On a recent kernel, we can ask the capabilities system about SYS_MODULE,
that will help to disambiguate between the non-privileged container case
and just being root. On older kernels these calls may fail.
Update #4329
Signed-off-by: James Tucker <james@tailscale.com>
2022-04-12 01:25:35 +00:00
|
|
|
pault.ag/go/topsort v0.0.0-20160530003732-f98d2ad46e1a // indirect
|
2021-12-06 19:57:13 +00:00
|
|
|
software.sslmate.com/src/go-pkcs12 v0.0.0-20210415151418-c5206de65a78 // indirect
|
2021-09-02 19:28:03 +00:00
|
|
|
)
|