mirror of
https://github.com/juanfont/headscale.git
synced 2024-11-23 10:05:19 +00:00
218138afee
expand user, add claims to user This commit expands the user table with additional fields that can be retrieved from OIDC providers (and other places) and uses this data in various tailscale response objects if it is available. This is the beginning of implementing https://docs.google.com/document/d/1X85PMxIaVWDF6T_UPji3OeeUqVBcGj_uHRM5CI-AwlY/edit trying to make OIDC more coherant and maintainable in addition to giving the user a better experience and integration with a provider. remove usernames in magic dns, normalisation of emails this commit removes the option to have usernames as part of MagicDNS domains and headscale will now align with Tailscale, where there is a root domain, and the machine name. In addition, the various normalisation functions for dns names has been made lighter not caring about username and special character that wont occur. Email are no longer normalised as part of the policy processing. untagle oidc and regcache, use typed cache This commits stops reusing the registration cache for oidc purposes and switches the cache to be types and not use any allowing the removal of a bunch of casting. try to make reauth/register branches clearer in oidc Currently there was a function that did a bunch of stuff, finding the machine key, trying to find the node, reauthing the node, returning some status, and it was called validate which was very confusing. This commit tries to split this into what to do if the node exists, if it needs to register etc. Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
209 lines
10 KiB
Modula-2
209 lines
10 KiB
Modula-2
module github.com/juanfont/headscale
|
|
|
|
go 1.23.1
|
|
|
|
require (
|
|
github.com/AlecAivazis/survey/v2 v2.3.7
|
|
github.com/coder/websocket v1.8.12
|
|
github.com/coreos/go-oidc/v3 v3.11.0
|
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
|
|
github.com/glebarez/sqlite v1.11.0
|
|
github.com/go-gormigrate/gormigrate/v2 v2.1.2
|
|
github.com/gofrs/uuid/v5 v5.3.0
|
|
github.com/google/go-cmp v0.6.0
|
|
github.com/gorilla/mux v1.8.1
|
|
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
|
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0
|
|
github.com/jagottsicher/termcolor v1.0.2
|
|
github.com/klauspost/compress v1.17.9
|
|
github.com/oauth2-proxy/mockoidc v0.0.0-20240214162133-caebfff84d25
|
|
github.com/ory/dockertest/v3 v3.11.0
|
|
github.com/philip-bui/grpc-zerolog v1.0.1
|
|
github.com/pkg/profile v1.7.0
|
|
github.com/prometheus/client_golang v1.20.2
|
|
github.com/prometheus/common v0.58.0
|
|
github.com/pterm/pterm v0.12.79
|
|
github.com/puzpuzpuz/xsync/v3 v3.4.0
|
|
github.com/rs/zerolog v1.33.0
|
|
github.com/samber/lo v1.47.0
|
|
github.com/sasha-s/go-deadlock v0.3.5
|
|
github.com/spf13/cobra v1.8.1
|
|
github.com/spf13/viper v1.20.0-alpha.6
|
|
github.com/stretchr/testify v1.9.0
|
|
github.com/tailscale/hujson v0.0.0-20221223112325-20486734a56a
|
|
github.com/tailscale/tailsql v0.0.0-20240418235827-820559f382c1
|
|
github.com/tcnksm/go-latest v0.0.0-20170313132115-e3007ae9052e
|
|
go4.org/netipx v0.0.0-20231129151722-fdeea329fbba
|
|
golang.org/x/crypto v0.26.0
|
|
golang.org/x/exp v0.0.0-20240823005443-9b4947da3948
|
|
golang.org/x/net v0.28.0
|
|
golang.org/x/oauth2 v0.22.0
|
|
golang.org/x/sync v0.8.0
|
|
google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1
|
|
google.golang.org/grpc v1.66.0
|
|
google.golang.org/protobuf v1.34.2
|
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c
|
|
gopkg.in/yaml.v3 v3.0.1
|
|
gorm.io/driver/postgres v1.5.9
|
|
gorm.io/gorm v1.25.11
|
|
tailscale.com v1.75.0-pre.0.20240926101731-7d1160ddaab7
|
|
zgo.at/zcache/v2 v2.1.0
|
|
)
|
|
|
|
require (
|
|
atomicgo.dev/cursor v0.2.0 // indirect
|
|
atomicgo.dev/keyboard v0.2.9 // indirect
|
|
atomicgo.dev/schedule v0.1.0 // indirect
|
|
dario.cat/mergo v1.0.1 // indirect
|
|
filippo.io/edwards25519 v1.1.0 // indirect
|
|
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect
|
|
github.com/Microsoft/go-winio v0.6.2 // indirect
|
|
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect
|
|
github.com/akutz/memconn v0.1.0 // indirect
|
|
github.com/alexbrainman/sspi v0.0.0-20231016080023-1a75b4708caa // indirect
|
|
github.com/aws/aws-sdk-go-v2 v1.24.1 // indirect
|
|
github.com/aws/aws-sdk-go-v2/config v1.26.6 // indirect
|
|
github.com/aws/aws-sdk-go-v2/credentials v1.16.16 // indirect
|
|
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.3 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/ssm v1.45.0 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/sso v1.18.7 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.7 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/sts v1.26.7 // indirect
|
|
github.com/aws/smithy-go v1.19.0 // indirect
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/bits-and-blooms/bitset v1.13.0 // indirect
|
|
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
|
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
|
github.com/containerd/console v1.0.4 // indirect
|
|
github.com/containerd/continuity v0.4.3 // indirect
|
|
github.com/coreos/go-iptables v0.7.1-0.20240112124308-65c67c9f46e6 // indirect
|
|
github.com/creachadair/mds v0.14.5 // indirect
|
|
github.com/dblohm7/wingoes v0.0.0-20240123200102-b75a8a7d7eb0 // indirect
|
|
github.com/digitalocean/go-smbios v0.0.0-20180907143718-390a4f403a8e // indirect
|
|
github.com/docker/cli v27.2.0+incompatible // indirect
|
|
github.com/docker/docker v27.2.0+incompatible // indirect
|
|
github.com/docker/go-connections v0.5.0 // indirect
|
|
github.com/docker/go-units v0.5.0 // indirect
|
|
github.com/dustin/go-humanize v1.0.1 // indirect
|
|
github.com/felixge/fgprof v0.9.5 // indirect
|
|
github.com/fsnotify/fsnotify v1.7.0 // indirect
|
|
github.com/fxamacker/cbor/v2 v2.6.0 // indirect
|
|
github.com/gaissmai/bart v0.11.1 // indirect
|
|
github.com/glebarez/go-sqlite v1.22.0 // indirect
|
|
github.com/go-jose/go-jose/v3 v3.0.3 // indirect
|
|
github.com/go-jose/go-jose/v4 v4.0.2 // indirect
|
|
github.com/go-json-experiment/json v0.0.0-20231102232822-2e55bd4e08b0 // indirect
|
|
github.com/go-ole/go-ole v1.3.0 // indirect
|
|
github.com/go-viper/mapstructure/v2 v2.1.0 // indirect
|
|
github.com/godbus/dbus/v5 v5.1.1-0.20230522191255-76236955d466 // indirect
|
|
github.com/gogo/protobuf v1.3.2 // indirect
|
|
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
|
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
|
github.com/golang/protobuf v1.5.4 // indirect
|
|
github.com/google/btree v1.1.2 // indirect
|
|
github.com/google/go-github v17.0.0+incompatible // indirect
|
|
github.com/google/go-querystring v1.1.0 // indirect
|
|
github.com/google/nftables v0.2.1-0.20240414091927-5e242ec57806 // indirect
|
|
github.com/google/pprof v0.0.0-20240829160300-da1f7e9f2b25 // indirect
|
|
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
|
|
github.com/google/uuid v1.6.0 // indirect
|
|
github.com/gookit/color v1.5.4 // indirect
|
|
github.com/gorilla/csrf v1.7.2 // indirect
|
|
github.com/gorilla/securecookie v1.1.2 // indirect
|
|
github.com/hashicorp/go-version v1.7.0 // indirect
|
|
github.com/hdevalence/ed25519consensus v0.2.0 // indirect
|
|
github.com/illarion/gonotify/v2 v2.0.3 // indirect
|
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
|
github.com/insomniacslk/dhcp v0.0.0-20240129002554-15c9b8791914 // indirect
|
|
github.com/jackc/pgpassfile v1.0.0 // indirect
|
|
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
|
|
github.com/jackc/pgx/v5 v5.6.0 // indirect
|
|
github.com/jackc/puddle/v2 v2.2.1 // indirect
|
|
github.com/jinzhu/inflection v1.0.0 // indirect
|
|
github.com/jinzhu/now v1.1.5 // indirect
|
|
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
|
github.com/josharian/native v1.1.1-0.20230202152459-5c7d0dd6ab86 // indirect
|
|
github.com/jsimonetti/rtnetlink v1.4.1 // indirect
|
|
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
|
|
github.com/kortschak/wol v0.0.0-20200729010619-da482cc4850a // indirect
|
|
github.com/kr/pretty v0.3.1 // indirect
|
|
github.com/kr/text v0.2.0 // indirect
|
|
github.com/lithammer/fuzzysearch v1.1.8 // indirect
|
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
|
github.com/mattn/go-runewidth v0.0.16 // indirect
|
|
github.com/mdlayher/genetlink v1.3.2 // indirect
|
|
github.com/mdlayher/netlink v1.7.2 // indirect
|
|
github.com/mdlayher/sdnotify v1.0.0 // indirect
|
|
github.com/mdlayher/socket v0.5.0 // indirect
|
|
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
|
|
github.com/miekg/dns v1.1.58 // indirect
|
|
github.com/mitchellh/go-ps v1.0.0 // indirect
|
|
github.com/moby/docker-image-spec v1.3.1 // indirect
|
|
github.com/moby/term v0.5.0 // indirect
|
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
|
github.com/ncruces/go-strftime v0.1.9 // indirect
|
|
github.com/opencontainers/go-digest v1.0.0 // indirect
|
|
github.com/opencontainers/image-spec v1.1.0 // indirect
|
|
github.com/opencontainers/runc v1.1.14 // indirect
|
|
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
|
|
github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7 // indirect
|
|
github.com/pierrec/lz4/v4 v4.1.21 // indirect
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
|
github.com/prometheus-community/pro-bing v0.4.0 // indirect
|
|
github.com/prometheus/client_model v0.6.1 // indirect
|
|
github.com/prometheus/procfs v0.15.1 // indirect
|
|
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
|
github.com/rivo/uniseg v0.4.7 // indirect
|
|
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
|
github.com/safchain/ethtool v0.3.0 // indirect
|
|
github.com/sagikazarmark/locafero v0.6.0 // indirect
|
|
github.com/sirupsen/logrus v1.9.3 // indirect
|
|
github.com/sourcegraph/conc v0.3.0 // indirect
|
|
github.com/spf13/afero v1.11.0 // indirect
|
|
github.com/spf13/cast v1.7.0 // indirect
|
|
github.com/spf13/pflag v1.0.5 // indirect
|
|
github.com/subosito/gotenv v1.6.0 // indirect
|
|
github.com/tailscale/certstore v0.1.1-0.20231202035212-d3fa0460f47e // indirect
|
|
github.com/tailscale/go-winio v0.0.0-20231025203758-c4f33415bf55 // indirect
|
|
github.com/tailscale/golang-x-crypto v0.0.0-20240604161659-3fde5e568aa4 // indirect
|
|
github.com/tailscale/goupnp v1.0.1-0.20210804011211-c64d0f06ea05 // indirect
|
|
github.com/tailscale/netlink v1.1.1-0.20240822203006-4d49adab4de7 // indirect
|
|
github.com/tailscale/peercred v0.0.0-20240214030740-b535050b2aa4 // indirect
|
|
github.com/tailscale/setec v0.0.0-20240314234648-9da8e7407257 // indirect
|
|
github.com/tailscale/squibble v0.0.0-20240418235321-9ee0eeb78185 // indirect
|
|
github.com/tailscale/web-client-prebuilt v0.0.0-20240226180453-5db17b287bf1 // indirect
|
|
github.com/tailscale/wireguard-go v0.0.0-20240905161824-799c1978fafc // indirect
|
|
github.com/tcnksm/go-httpstat v0.2.0 // indirect
|
|
github.com/u-root/uio v0.0.0-20240118234441-a3c409a6018e // indirect
|
|
github.com/vishvananda/netns v0.0.4 // indirect
|
|
github.com/x448/float16 v0.8.4 // indirect
|
|
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
|
|
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
|
|
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
|
|
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
|
go.uber.org/multierr v1.11.0 // indirect
|
|
go4.org/mem v0.0.0-20220726221520-4f986261bf13 // indirect
|
|
golang.org/x/mod v0.20.0 // indirect
|
|
golang.org/x/sys v0.24.0 // indirect
|
|
golang.org/x/term v0.23.0 // indirect
|
|
golang.org/x/text v0.17.0 // indirect
|
|
golang.org/x/time v0.5.0 // indirect
|
|
golang.org/x/tools v0.24.0 // indirect
|
|
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect
|
|
golang.zx2c4.com/wireguard/windows v0.5.3 // indirect
|
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
|
gvisor.dev/gvisor v0.0.0-20240722211153-64c016c92987 // indirect
|
|
modernc.org/libc v1.60.1 // indirect
|
|
modernc.org/mathutil v1.6.0 // indirect
|
|
modernc.org/memory v1.8.0 // indirect
|
|
modernc.org/sqlite v1.32.0 // indirect
|
|
)
|