mirror of
https://github.com/tailscale/tailscale.git
synced 2024-12-04 23:45:34 +00:00
b819f66eb1
The recent addition of RequestID was only populated if the HTTP Request had returned an error. This meant that the underlying handler has no access to this request id and any logs it may have emitted were impossible to correlate to that request id. Therefore, this PR adds a middleware to generate request ids and pass them through the request context. The tsweb.StdHandler automatically populates this request id if the middleware is being used. Finally, inner handlers can use the context to retrieve that same request id and use it so that all logs and events can be correlated. Updates #2549 Signed-off-by: Marwan Sulaiman <marwan@tailscale.com>
287 lines
28 KiB
Plaintext
287 lines
28 KiB
Plaintext
tailscale.com/cmd/derper dependencies: (generated by github.com/tailscale/depaware)
|
|
|
|
filippo.io/edwards25519 from github.com/hdevalence/ed25519consensus
|
|
filippo.io/edwards25519/field from filippo.io/edwards25519
|
|
W 💣 github.com/alexbrainman/sspi from github.com/alexbrainman/sspi/internal/common+
|
|
W github.com/alexbrainman/sspi/internal/common from github.com/alexbrainman/sspi/negotiate
|
|
W 💣 github.com/alexbrainman/sspi/negotiate from tailscale.com/net/tshttpproxy
|
|
github.com/beorn7/perks/quantile from github.com/prometheus/client_golang/prometheus
|
|
💣 github.com/cespare/xxhash/v2 from github.com/prometheus/client_golang/prometheus
|
|
L github.com/coreos/go-iptables/iptables from tailscale.com/util/linuxfw
|
|
W 💣 github.com/dblohm7/wingoes from tailscale.com/util/winutil
|
|
github.com/fxamacker/cbor/v2 from tailscale.com/tka
|
|
github.com/golang/groupcache/lru from tailscale.com/net/dnscache
|
|
github.com/golang/protobuf/proto from github.com/matttproud/golang_protobuf_extensions/pbutil
|
|
L github.com/google/nftables from tailscale.com/util/linuxfw
|
|
L 💣 github.com/google/nftables/alignedbuff from github.com/google/nftables/xt
|
|
L 💣 github.com/google/nftables/binaryutil from github.com/google/nftables+
|
|
L github.com/google/nftables/expr from github.com/google/nftables+
|
|
L github.com/google/nftables/internal/parseexprfunc from github.com/google/nftables+
|
|
L github.com/google/nftables/xt from github.com/google/nftables/expr+
|
|
github.com/google/uuid from tailscale.com/tsweb
|
|
github.com/hdevalence/ed25519consensus from tailscale.com/tka
|
|
L github.com/josharian/native from github.com/mdlayher/netlink+
|
|
L 💣 github.com/jsimonetti/rtnetlink from tailscale.com/net/interfaces+
|
|
L github.com/jsimonetti/rtnetlink/internal/unix from github.com/jsimonetti/rtnetlink
|
|
github.com/klauspost/compress/flate from nhooyr.io/websocket
|
|
github.com/matttproud/golang_protobuf_extensions/pbutil from github.com/prometheus/common/expfmt
|
|
L 💣 github.com/mdlayher/netlink from github.com/jsimonetti/rtnetlink+
|
|
L 💣 github.com/mdlayher/netlink/nlenc from github.com/jsimonetti/rtnetlink+
|
|
L github.com/mdlayher/netlink/nltest from github.com/google/nftables
|
|
L 💣 github.com/mdlayher/socket from github.com/mdlayher/netlink
|
|
💣 github.com/mitchellh/go-ps from tailscale.com/safesocket
|
|
💣 github.com/prometheus/client_golang/prometheus from tailscale.com/tsweb/promvarz
|
|
github.com/prometheus/client_golang/prometheus/internal from github.com/prometheus/client_golang/prometheus
|
|
github.com/prometheus/client_model/go from github.com/prometheus/client_golang/prometheus+
|
|
github.com/prometheus/common/expfmt from github.com/prometheus/client_golang/prometheus+
|
|
github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg from github.com/prometheus/common/expfmt
|
|
github.com/prometheus/common/model from github.com/prometheus/client_golang/prometheus+
|
|
LD github.com/prometheus/procfs from github.com/prometheus/client_golang/prometheus
|
|
LD github.com/prometheus/procfs/internal/fs from github.com/prometheus/procfs
|
|
LD github.com/prometheus/procfs/internal/util from github.com/prometheus/procfs
|
|
W 💣 github.com/tailscale/go-winio from tailscale.com/safesocket
|
|
W 💣 github.com/tailscale/go-winio/internal/fs from github.com/tailscale/go-winio
|
|
W 💣 github.com/tailscale/go-winio/internal/socket from github.com/tailscale/go-winio
|
|
W github.com/tailscale/go-winio/internal/stringbuffer from github.com/tailscale/go-winio/internal/fs
|
|
W github.com/tailscale/go-winio/pkg/guid from github.com/tailscale/go-winio+
|
|
L 💣 github.com/tailscale/netlink from tailscale.com/util/linuxfw
|
|
L 💣 github.com/vishvananda/netlink/nl from github.com/tailscale/netlink
|
|
L github.com/vishvananda/netns from github.com/tailscale/netlink+
|
|
github.com/x448/float16 from github.com/fxamacker/cbor/v2
|
|
💣 go4.org/mem from tailscale.com/client/tailscale+
|
|
go4.org/netipx from tailscale.com/wgengine/filter+
|
|
W 💣 golang.zx2c4.com/wireguard/windows/tunnel/winipcfg from tailscale.com/net/interfaces+
|
|
google.golang.org/protobuf/encoding/prototext from github.com/golang/protobuf/proto+
|
|
google.golang.org/protobuf/encoding/protowire from github.com/golang/protobuf/proto+
|
|
google.golang.org/protobuf/internal/descfmt from google.golang.org/protobuf/internal/filedesc
|
|
google.golang.org/protobuf/internal/descopts from google.golang.org/protobuf/internal/filedesc+
|
|
google.golang.org/protobuf/internal/detrand from google.golang.org/protobuf/internal/descfmt+
|
|
google.golang.org/protobuf/internal/encoding/defval from google.golang.org/protobuf/internal/encoding/tag+
|
|
google.golang.org/protobuf/internal/encoding/messageset from google.golang.org/protobuf/encoding/prototext+
|
|
google.golang.org/protobuf/internal/encoding/tag from google.golang.org/protobuf/internal/impl
|
|
google.golang.org/protobuf/internal/encoding/text from google.golang.org/protobuf/encoding/prototext+
|
|
google.golang.org/protobuf/internal/errors from google.golang.org/protobuf/encoding/prototext+
|
|
google.golang.org/protobuf/internal/filedesc from google.golang.org/protobuf/internal/encoding/tag+
|
|
google.golang.org/protobuf/internal/filetype from google.golang.org/protobuf/runtime/protoimpl
|
|
google.golang.org/protobuf/internal/flags from google.golang.org/protobuf/encoding/prototext+
|
|
google.golang.org/protobuf/internal/genid from google.golang.org/protobuf/encoding/prototext+
|
|
💣 google.golang.org/protobuf/internal/impl from google.golang.org/protobuf/internal/filetype+
|
|
google.golang.org/protobuf/internal/order from google.golang.org/protobuf/encoding/prototext+
|
|
google.golang.org/protobuf/internal/pragma from google.golang.org/protobuf/encoding/prototext+
|
|
google.golang.org/protobuf/internal/set from google.golang.org/protobuf/encoding/prototext
|
|
💣 google.golang.org/protobuf/internal/strs from google.golang.org/protobuf/encoding/prototext+
|
|
google.golang.org/protobuf/internal/version from google.golang.org/protobuf/runtime/protoimpl
|
|
google.golang.org/protobuf/proto from github.com/golang/protobuf/proto+
|
|
google.golang.org/protobuf/reflect/protodesc from github.com/golang/protobuf/proto
|
|
💣 google.golang.org/protobuf/reflect/protoreflect from github.com/golang/protobuf/proto+
|
|
google.golang.org/protobuf/reflect/protoregistry from github.com/golang/protobuf/proto+
|
|
google.golang.org/protobuf/runtime/protoiface from github.com/golang/protobuf/proto+
|
|
google.golang.org/protobuf/runtime/protoimpl from github.com/golang/protobuf/proto+
|
|
google.golang.org/protobuf/types/descriptorpb from google.golang.org/protobuf/reflect/protodesc
|
|
google.golang.org/protobuf/types/known/timestamppb from github.com/prometheus/client_golang/prometheus+
|
|
nhooyr.io/websocket from tailscale.com/cmd/derper+
|
|
nhooyr.io/websocket/internal/errd from nhooyr.io/websocket
|
|
nhooyr.io/websocket/internal/xsync from nhooyr.io/websocket
|
|
tailscale.com from tailscale.com/version
|
|
tailscale.com/atomicfile from tailscale.com/cmd/derper+
|
|
tailscale.com/client/tailscale from tailscale.com/derp
|
|
tailscale.com/client/tailscale/apitype from tailscale.com/client/tailscale
|
|
tailscale.com/derp from tailscale.com/cmd/derper+
|
|
tailscale.com/derp/derphttp from tailscale.com/cmd/derper
|
|
tailscale.com/disco from tailscale.com/derp
|
|
tailscale.com/envknob from tailscale.com/derp+
|
|
tailscale.com/health from tailscale.com/net/tlsdial
|
|
tailscale.com/hostinfo from tailscale.com/net/interfaces+
|
|
tailscale.com/ipn from tailscale.com/client/tailscale
|
|
tailscale.com/ipn/ipnstate from tailscale.com/client/tailscale+
|
|
tailscale.com/metrics from tailscale.com/cmd/derper+
|
|
tailscale.com/net/dnscache from tailscale.com/derp/derphttp
|
|
tailscale.com/net/flowtrack from tailscale.com/net/packet+
|
|
💣 tailscale.com/net/interfaces from tailscale.com/net/netns+
|
|
tailscale.com/net/netaddr from tailscale.com/ipn+
|
|
tailscale.com/net/netknob from tailscale.com/net/netns
|
|
tailscale.com/net/netmon from tailscale.com/net/sockstats+
|
|
tailscale.com/net/netns from tailscale.com/derp/derphttp
|
|
tailscale.com/net/netutil from tailscale.com/client/tailscale
|
|
tailscale.com/net/packet from tailscale.com/wgengine/filter
|
|
tailscale.com/net/sockstats from tailscale.com/derp/derphttp
|
|
tailscale.com/net/stun from tailscale.com/cmd/derper
|
|
L tailscale.com/net/tcpinfo from tailscale.com/derp
|
|
tailscale.com/net/tlsdial from tailscale.com/derp/derphttp
|
|
tailscale.com/net/tsaddr from tailscale.com/ipn+
|
|
💣 tailscale.com/net/tshttpproxy from tailscale.com/derp/derphttp+
|
|
tailscale.com/net/wsconn from tailscale.com/cmd/derper+
|
|
tailscale.com/paths from tailscale.com/client/tailscale
|
|
💣 tailscale.com/safesocket from tailscale.com/client/tailscale
|
|
tailscale.com/syncs from tailscale.com/cmd/derper+
|
|
tailscale.com/tailcfg from tailscale.com/client/tailscale+
|
|
tailscale.com/tka from tailscale.com/client/tailscale+
|
|
W tailscale.com/tsconst from tailscale.com/net/interfaces
|
|
tailscale.com/tstime from tailscale.com/derp+
|
|
tailscale.com/tstime/mono from tailscale.com/tstime/rate
|
|
tailscale.com/tstime/rate from tailscale.com/wgengine/filter+
|
|
tailscale.com/tsweb from tailscale.com/cmd/derper
|
|
tailscale.com/tsweb/promvarz from tailscale.com/tsweb
|
|
tailscale.com/tsweb/varz from tailscale.com/tsweb+
|
|
tailscale.com/types/dnstype from tailscale.com/tailcfg
|
|
tailscale.com/types/empty from tailscale.com/ipn
|
|
tailscale.com/types/ipproto from tailscale.com/net/flowtrack+
|
|
tailscale.com/types/key from tailscale.com/cmd/derper+
|
|
tailscale.com/types/lazy from tailscale.com/version+
|
|
tailscale.com/types/logger from tailscale.com/cmd/derper+
|
|
tailscale.com/types/netmap from tailscale.com/ipn
|
|
tailscale.com/types/opt from tailscale.com/client/tailscale+
|
|
tailscale.com/types/persist from tailscale.com/ipn
|
|
tailscale.com/types/preftype from tailscale.com/ipn
|
|
tailscale.com/types/ptr from tailscale.com/hostinfo+
|
|
tailscale.com/types/structs from tailscale.com/ipn+
|
|
tailscale.com/types/tkatype from tailscale.com/types/key+
|
|
tailscale.com/types/views from tailscale.com/ipn/ipnstate+
|
|
tailscale.com/util/clientmetric from tailscale.com/net/tshttpproxy+
|
|
tailscale.com/util/cloudenv from tailscale.com/hostinfo+
|
|
W tailscale.com/util/cmpver from tailscale.com/net/tshttpproxy
|
|
tailscale.com/util/cmpx from tailscale.com/cmd/derper+
|
|
L 💣 tailscale.com/util/dirwalk from tailscale.com/metrics
|
|
tailscale.com/util/dnsname from tailscale.com/hostinfo+
|
|
tailscale.com/util/httpm from tailscale.com/client/tailscale
|
|
tailscale.com/util/lineread from tailscale.com/hostinfo+
|
|
L tailscale.com/util/linuxfw from tailscale.com/net/netns
|
|
tailscale.com/util/mak from tailscale.com/syncs+
|
|
tailscale.com/util/multierr from tailscale.com/health+
|
|
tailscale.com/util/nocasemaps from tailscale.com/types/ipproto
|
|
tailscale.com/util/set from tailscale.com/health+
|
|
tailscale.com/util/singleflight from tailscale.com/net/dnscache
|
|
tailscale.com/util/slicesx from tailscale.com/cmd/derper+
|
|
tailscale.com/util/vizerror from tailscale.com/tsweb+
|
|
W 💣 tailscale.com/util/winutil from tailscale.com/hostinfo+
|
|
tailscale.com/version from tailscale.com/derp+
|
|
tailscale.com/version/distro from tailscale.com/hostinfo+
|
|
tailscale.com/wgengine/filter from tailscale.com/types/netmap
|
|
golang.org/x/crypto/acme from golang.org/x/crypto/acme/autocert
|
|
golang.org/x/crypto/acme/autocert from tailscale.com/cmd/derper
|
|
golang.org/x/crypto/argon2 from tailscale.com/tka
|
|
golang.org/x/crypto/blake2b from golang.org/x/crypto/nacl/box+
|
|
golang.org/x/crypto/blake2s from tailscale.com/tka
|
|
golang.org/x/crypto/chacha20 from golang.org/x/crypto/chacha20poly1305
|
|
golang.org/x/crypto/chacha20poly1305 from crypto/tls
|
|
golang.org/x/crypto/cryptobyte from crypto/ecdsa+
|
|
golang.org/x/crypto/cryptobyte/asn1 from crypto/ecdsa+
|
|
golang.org/x/crypto/curve25519 from golang.org/x/crypto/nacl/box+
|
|
golang.org/x/crypto/hkdf from crypto/tls
|
|
golang.org/x/crypto/nacl/box from tailscale.com/types/key
|
|
golang.org/x/crypto/nacl/secretbox from golang.org/x/crypto/nacl/box
|
|
golang.org/x/crypto/salsa20/salsa from golang.org/x/crypto/nacl/box+
|
|
L golang.org/x/net/bpf from github.com/mdlayher/netlink+
|
|
golang.org/x/net/dns/dnsmessage from net+
|
|
golang.org/x/net/http/httpguts from net/http
|
|
golang.org/x/net/http/httpproxy from net/http+
|
|
golang.org/x/net/http2/hpack from net/http
|
|
golang.org/x/net/idna from golang.org/x/crypto/acme/autocert+
|
|
golang.org/x/net/proxy from tailscale.com/net/netns
|
|
D golang.org/x/net/route from net+
|
|
golang.org/x/sync/errgroup from github.com/mdlayher/socket+
|
|
golang.org/x/sys/cpu from golang.org/x/crypto/blake2b+
|
|
LD golang.org/x/sys/unix from github.com/jsimonetti/rtnetlink/internal/unix+
|
|
W golang.org/x/sys/windows from golang.org/x/sys/windows/registry+
|
|
W golang.org/x/sys/windows/registry from golang.zx2c4.com/wireguard/windows/tunnel/winipcfg+
|
|
W golang.org/x/sys/windows/svc from golang.org/x/sys/windows/svc/mgr+
|
|
W golang.org/x/sys/windows/svc/mgr from tailscale.com/util/winutil
|
|
golang.org/x/text/secure/bidirule from golang.org/x/net/idna
|
|
golang.org/x/text/transform from golang.org/x/text/secure/bidirule+
|
|
golang.org/x/text/unicode/bidi from golang.org/x/net/idna+
|
|
golang.org/x/text/unicode/norm from golang.org/x/net/idna
|
|
golang.org/x/time/rate from tailscale.com/cmd/derper+
|
|
bufio from compress/flate+
|
|
bytes from bufio+
|
|
cmp from slices
|
|
compress/flate from compress/gzip+
|
|
compress/gzip from internal/profile+
|
|
container/list from crypto/tls+
|
|
context from crypto/tls+
|
|
crypto from crypto/ecdsa+
|
|
crypto/aes from crypto/ecdsa+
|
|
crypto/cipher from crypto/aes+
|
|
crypto/des from crypto/tls+
|
|
crypto/dsa from crypto/x509
|
|
crypto/ecdh from crypto/ecdsa+
|
|
crypto/ecdsa from crypto/tls+
|
|
crypto/ed25519 from crypto/tls+
|
|
crypto/elliptic from crypto/ecdsa+
|
|
crypto/hmac from crypto/tls+
|
|
crypto/md5 from crypto/tls+
|
|
crypto/rand from crypto/ed25519+
|
|
crypto/rc4 from crypto/tls
|
|
crypto/rsa from crypto/tls+
|
|
crypto/sha1 from crypto/tls+
|
|
crypto/sha256 from crypto/tls+
|
|
crypto/sha512 from crypto/ecdsa+
|
|
crypto/subtle from crypto/aes+
|
|
crypto/tls from golang.org/x/crypto/acme+
|
|
crypto/x509 from crypto/tls+
|
|
crypto/x509/pkix from crypto/x509+
|
|
database/sql/driver from github.com/google/uuid
|
|
embed from crypto/internal/nistec+
|
|
encoding from encoding/json+
|
|
encoding/asn1 from crypto/x509+
|
|
encoding/base32 from tailscale.com/tka+
|
|
encoding/base64 from encoding/json+
|
|
encoding/binary from compress/gzip+
|
|
encoding/hex from crypto/x509+
|
|
encoding/json from expvar+
|
|
encoding/pem from crypto/tls+
|
|
errors from bufio+
|
|
expvar from tailscale.com/cmd/derper+
|
|
flag from tailscale.com/cmd/derper
|
|
fmt from compress/flate+
|
|
go/token from google.golang.org/protobuf/internal/strs
|
|
hash from crypto+
|
|
hash/crc32 from compress/gzip+
|
|
hash/fnv from google.golang.org/protobuf/internal/detrand
|
|
hash/maphash from go4.org/mem
|
|
html from net/http/pprof+
|
|
io from bufio+
|
|
io/fs from crypto/x509+
|
|
io/ioutil from github.com/mitchellh/go-ps+
|
|
log from expvar+
|
|
log/internal from log
|
|
maps from tailscale.com/types/views+
|
|
math from compress/flate+
|
|
math/big from crypto/dsa+
|
|
math/bits from compress/flate+
|
|
math/rand from github.com/mdlayher/netlink+
|
|
mime from mime/multipart+
|
|
mime/multipart from net/http
|
|
mime/quotedprintable from mime/multipart
|
|
net from crypto/tls+
|
|
net/http from expvar+
|
|
net/http/httptrace from net/http+
|
|
net/http/internal from net/http
|
|
net/http/pprof from tailscale.com/tsweb+
|
|
net/netip from go4.org/netipx+
|
|
net/textproto from golang.org/x/net/http/httpguts+
|
|
net/url from crypto/x509+
|
|
os from crypto/rand+
|
|
os/exec from golang.zx2c4.com/wireguard/windows/tunnel/winipcfg+
|
|
W os/user from tailscale.com/util/winutil
|
|
path from golang.org/x/crypto/acme/autocert+
|
|
path/filepath from crypto/x509+
|
|
reflect from crypto/x509+
|
|
regexp from internal/profile+
|
|
regexp/syntax from regexp
|
|
runtime/debug from golang.org/x/crypto/acme+
|
|
runtime/metrics from github.com/prometheus/client_golang/prometheus+
|
|
runtime/pprof from net/http/pprof
|
|
runtime/trace from net/http/pprof
|
|
slices from tailscale.com/ipn/ipnstate+
|
|
sort from compress/flate+
|
|
strconv from compress/flate+
|
|
strings from bufio+
|
|
sync from compress/flate+
|
|
sync/atomic from context+
|
|
syscall from crypto/rand+
|
|
text/tabwriter from runtime/pprof
|
|
time from compress/gzip+
|
|
unicode from bytes+
|
|
unicode/utf16 from crypto/x509+
|
|
unicode/utf8 from bufio+
|