Juan Font
3ac2e0b253
Enable both exit node routes (IPv4 and IPv6) at the same time.
...
As indicated by bradfitz in https://github.com/juanfont/headscale/issues/804#issuecomment-1399314002 ,
both routes for the exit node must be enabled at the same time. If a user tries to enable one of the exit node routes,
the other gets activated too.
This commit also reduces the API surface, making private a method that didnt need to be exposed.
2023-01-29 12:25:37 +01:00
caelansar
9c2e580ab5
put Where before Find
2023-01-20 10:50:29 +01:00
Kristoffer Dalby
90287a6735
gofumpt
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-01-18 15:40:04 +01:00
Kristoffer Dalby
e3a2593344
Rename [Nn]amespace -> [Uu]ser in go code
...
Use gopls, ag and perl to rename all occurances of Namespace
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-01-18 15:40:04 +01:00
Even Holthe
dd173ecc1f
Refresh machines with correct new expiry
2023-01-12 13:43:21 +01:00
Allen
a6c8718a97
ToStringSlice will lead to high CPU usage, early conversion can reduce cpu usage
2023-01-11 08:45:54 +01:00
Juan Font
66ebbf3ecb
Preload AuthKey in machine getters
2023-01-05 14:59:02 +01:00
Juan Font
4de49f5f49
Add isEphemeral() method to Machine
2023-01-05 14:59:02 +01:00
Even Holthe
7157e14aff
add expiration from OIDC token to machine
2023-01-04 09:23:52 +01:00
Allen
4e2c4f92d3
reflect.DeepEqual is a value copy that causes golang to continuously allocate memory
2023-01-03 18:09:18 +01:00
Juan Font
9b98c3b79f
Send in AllowedIPs both primary routes AND enabled exit routes
2023-01-03 13:34:55 +01:00
Juan Font
593040b73d
Run the Noise handlers under a new struct so we can access the noiseConn from the handlers
...
In TS2021 the MachineKey can be obtained from noiseConn.Peer() - contrary to what I thought before,
where I assumed MachineKey was dropped in TS2021.
By having a ts2021App and hanging from there the TS2021 handlers, we can fetch again the MachineKey.
2022-12-21 20:52:08 +01:00
Juan Font
6e890afc5f
Minor linting fixes
2022-12-21 08:28:53 +01:00
Fatih Acar
2afba0233b
fix(routes): ensure routes are correctly propagated
...
When using Tailscale v1.34.1, enabling or disabling a route does not
effectively add or remove the route from the node's routing table.
We must restart tailscale on the node to have a netmap update.
Fix this by refreshing last state change so that a netmap diff is sent.
Also do not include secondary routes in allowedIPs, otherwise secondary
routes might be used by nodes instead of the primary route.
Signed-off-by: Fatih Acar <facar@scaleway.com>
2022-12-20 15:39:59 +01:00
Juan Font
55b198a16a
Clients are offline when expired
2022-12-19 15:56:12 +01:00
Juan Font
000c02dad9
Show online in CLI & API when isOnline() reports so
2022-12-15 00:13:53 -08:00
Juan Font
8170f5e693
Removed unused code and linting fixes
...
Another bunch of gosec/golint related fixes
Remove method no longer used
2022-12-06 08:17:14 +01:00
Juan Font
6718ff71d3
Added helper methods for subnet failover + unit tests
...
Added method to perform subnet failover
Added tests for subnet failover
2022-12-06 08:17:14 +01:00
Juan Font
b62acff2e3
Refactor machine.go, and move functionality to routes.go + unit tests
...
Port routes tests to new model
Mark as primary the first instance of subnet + tests
In preparation for subnet failover, mark the initial occurrence of a subnet as the primary one.
2022-12-06 08:17:14 +01:00
Even Holthe
52a323b90d
Add SSH capability advertisement
...
Advertises the SSH capability, and parses the SSH ACLs to pass to the
tailscale client. Doesn’t support ‘autogroup’ ACL functionality.
Co-authored-by: Daniel Brooks <db48x@headline.com>
2022-11-26 11:53:31 +01:00
LiuHanCheng
07f92e647c
fix bug in #912 ( #914 )
2022-11-05 09:07:22 +01:00
Kristoffer Dalby
bc1c1f5ce8
Fix most nil pointers, actually make it check for unique across headscale
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-10-21 14:42:37 +02:00
=
2aebd2927d
Random suffix only on collision.
...
0.16.0 introduced random suffixes to all machine given names
(DNS hostnames) regardless of collisions within a namespace.
This commit brings Headscale more inline with Tailscale by only
adding a suffix if the hostname will collide within the namespace.
The suffix generation differs from Tailscale.
See https://tailscale.com/kb/1098/machine-names/
2022-10-03 09:13:56 +02:00
Juan Font
adb352e663
Merge branch 'main' into autoapprovers
2022-09-21 17:53:17 +02:00
Juan Font
9c58395bb3
Removed unused param after routes fix
2022-09-18 21:40:52 +00:00
Kristoffer Dalby
f2da1a1665
Add comment and update changelog
...
Signed-off-by: Kristoffer Dalby <kristoffer@dalby.cc>
2022-09-18 12:14:49 +02:00
Kristoffer Dalby
356b76fc56
Format
...
Signed-off-by: Kristoffer Dalby <kristoffer@dalby.cc>
2022-09-18 11:37:38 +02:00
Kristoffer Dalby
33ae56acfa
Add primary routes to node
...
Signed-off-by: Kristoffer Dalby <kristoffer@dalby.cc>
2022-09-18 11:36:35 +02:00
Benjamin George Roberts
688cba7292
fix linting mistakes
2022-09-07 21:39:56 +10:00
Benjamin George Roberts
842c28adff
replace netaddr usage with netip
2022-09-05 09:33:53 +10:00
Juan Font
9810d84e2d
Merge branch 'main' into autoapprovers
2022-09-04 22:40:08 +02:00
Juan Font Alonso
a24710a961
Migrate machine to net/netip
2022-09-02 00:04:31 +02:00
Benjamin George Roberts
60cc9ddb3b
Add test for autoApprovers feature
2022-08-25 22:15:19 +10:00
Benjamin George Roberts
7653ad40d6
Split GetRouteApprovers from EnableAutoApprovedRoutes
2022-08-25 22:12:30 +10:00
Benjamin George Roberts
004ebcaba1
initial implementation of autoApprovers support
2022-08-25 22:00:04 +10:00
Juan Font Alonso
e20e818a42
Integrate expiration fixes ( #754 ) in TS2021 branch
2022-08-20 11:46:44 +02:00
Juan Font
2f554133c5
Move comment up
...
Co-authored-by: Kristoffer Dalby <kradalby@kradalby.no>
2022-08-19 23:49:06 +02:00
Laurent Marchaud
e85562268d
Switch to using nodeKey instead of machineKey for expired machines registration
...
Signed-off-by: Laurent Marchaud <laurent@marchaud.com>
2022-08-19 15:48:35 +02:00
Laurent Marchaud
fca33aacbe
Fix rebased errors scope in machine.go
...
Signed-off-by: Laurent Marchaud <laurent@marchaud.com>
2022-08-19 15:07:01 +02:00
Laurent Marchaud
c6ea9b4b80
Fix cli registration of expired machines
...
Signed-off-by: Laurent Marchaud <laurent@marchaud.com>
2022-08-19 14:11:13 +02:00
Juan Font Alonso
c0fe1abf4d
Use node_key to find peers
2022-08-16 17:51:43 +02:00
Juan Font Alonso
0db7fc5ab7
Mark all namespaces to lastChange now
2022-08-16 13:39:15 +02:00
Juan Font Alonso
ab18c721bb
Support for Noise machines in getPeers
2022-08-14 21:07:29 +02:00
Juan Font Alonso
fdd0c50402
Added helper method to fetch machines by any nodekey + tests
2022-08-13 21:03:02 +02:00
Juan Font Alonso
030d7264e6
Fixed comment for linting
2022-08-10 16:03:33 +02:00
Juan Font Alonso
e950b3be29
Add method to fetch by nodekey
2022-08-10 13:15:31 +02:00
Grigoriy Mikhalkin
911e6ba6de
exported API errors
2022-07-29 17:35:21 +02:00
Adrien Raffin-Caboisse
c46a34e6b8
fix(machine): remove duplicate in forcedTags
2022-07-25 11:04:30 +02:00
Juan Font Alonso
10cd87e5a2
Lint fixes 1/n
2022-06-26 11:43:17 +02:00
Juan Font Alonso
66fffd69ce
Send Online field of tailcfg.Node based on LastSeen
2022-06-16 18:43:50 +02:00