Adrien Raffin
de59946447
feat(acls): rewrite functions to be testable
...
Rewrite some function to get rid of the dependency on Headscale object. This allows us
to write succinct test that are more easy to review and implement.
The improvements of the tests allowed to write the removal of the tagged hosts
from the namespace as specified here: https://tailscale.com/kb/1068/acl-tags/
2022-02-17 09:30:09 +01:00
Adrien Raffin
e482dfeed4
feat(machine): add ACLFilter if ACL's are enabled.
...
This commit change the default behaviour and remove the notion of namespaces between the hosts. It allows all namespaces to be only filtered by the ACLs. This behavior is closer to tailsnet.
2022-02-17 09:30:05 +01:00
Jamie Greeff
9b7d657cbe
Return all peers instead of peers in same namespace
2022-02-17 09:27:59 +01:00
Kristoffer Dalby
bb80b679bc
Remove RequestMapUpdates function
2022-02-12 21:04:00 +00:00
Csaba Sarkadi
c0c3b7d511
Merge remote-tracking branch 'origin/main' into ipv6
2022-01-29 15:27:49 +01:00
Csaba Sarkadi
25ccf5ef18
PollNetMapStream: do not create any rows during long-poll operation
2022-01-28 21:59:08 +01:00
Csaba Sarkadi
8f632e9062
machine: isOutdated: handle machines without LastSuccefulUpdate set
2022-01-16 14:18:22 +01:00
Csaba Sarkadi
1a6e5d8770
Add support for multiple IP prefixes
2022-01-16 14:18:22 +01:00
Csaba Sarkadi
7ec8346179
Do not assume IPv4 during Tailscale node construction
2022-01-15 16:06:34 +01:00
Kristoffer Dalby
59aeaa8476
Ensure we always have the key prefix when needed
2021-11-27 20:25:12 +00:00
Kristoffer Dalby
c38f00fab8
Unmarshal keys in the non-deprecated way
2021-11-26 23:50:42 +00:00
Kristoffer Dalby
cfd53bc4aa
Factor wgkey to types/key
...
This commit converts all the uses of wgkey to the new key interfaces.
It now has specific machine, node and discovery keys and we now should
use them correctly.
Please note the new logic which strips a key prefix (in utils.go) that
is now standard inside tailscale.
In theory we could put it in the database, but to preserve backwards
compatibility and not spend a lot of resources on accounting for both,
we just strip them.
2021-11-26 23:30:42 +00:00
Kristoffer Dalby
68dc2a70db
Update neighbours if node is expired or refreshed
...
In addition, only pass the map of registered and not expired nodes to
clients.
2021-11-22 19:51:16 +00:00
Kristoffer Dalby
021c464148
Add cache for requested expiry times
...
This commit adds a sentral cache to keep track of clients whom has
requested an expiry time, but were we need to keep hold of it until the
second request comes in.
2021-11-22 19:32:52 +00:00
Kristoffer Dalby
e600ead3e9
Make sure nodes can reauthenticate
...
This commit fixes an issue where nodes were not able to reauthenticate.
2021-11-22 19:32:11 +00:00
Kristoffer Dalby
5cbd4513a4
Simplify register function if
2021-11-22 17:21:56 +00:00
Kristoffer Dalby
bd1d1b1a3b
Implement ExpireMachine rpc
2021-11-21 13:40:19 +00:00
Kristoffer Dalby
9aac1fb255
Remove expiry logic, this needs to be redone
2021-11-19 09:02:29 +00:00
Kristoffer Dalby
106b1e7e8d
Create constants for other reg methods
2021-11-18 17:51:54 +00:00
Kristoffer Dalby
d6739386a0
Get rid of dynamic errors
2021-11-15 19:18:14 +00:00
Kristoffer Dalby
25b790d025
Add and fix forcetypeassert
2021-11-15 18:42:44 +00:00
Kristoffer Dalby
715542ac1c
Add and fix stylecheck (golint replacement)
2021-11-15 17:24:24 +00:00
Kristoffer Dalby
0c005a6b01
Add and fix errname
2021-11-15 16:33:16 +00:00
Kristoffer Dalby
0c45f8d252
Add and fix errorlint
2021-11-15 16:26:41 +00:00
Kristoffer Dalby
333be80f9c
Fix rest of var name in main code
2021-11-15 16:15:50 +00:00
Kristoffer Dalby
471c0b4993
Initial work eliminating one/two letter variables
2021-11-14 20:32:03 +01:00
Kristoffer Dalby
85f28a3f4a
Remove all instances of undefined numbers (gonmd)
2021-11-14 18:31:51 +01:00
Kristoffer Dalby
796072a5a4
Add and fix ifshort
2021-11-14 18:09:22 +01:00
Kristoffer Dalby
89eb13c6cb
Add and fix nlreturn (new line return)
2021-11-14 16:46:09 +01:00
Kristoffer Dalby
2634215f12
golangci-lint --fix
2021-11-13 08:39:04 +00:00
Kristoffer Dalby
03b7ec62ca
Go format with shorter lines
2021-11-13 08:36:45 +00:00
Kristoffer Dalby
787814ea89
Consolidate machine related lookups
...
This commit moves the routes lookup functions to be subcommands of
Machine, making them a lot simpler and more specific/composable.
It also moves the register command from cli.go into machine, so we can
clear out the extra file.
Finally a toProto function has been added to convert between the machine
database model and the proto/rpc model.
2021-11-04 22:11:38 +00:00
Kristoffer Dalby
cbf3f5d640
Resolve merge conflict
2021-10-30 15:33:01 +00:00
Raal Goff
2d252da221
suggested documentation and comments
2021-10-29 21:35:07 +08:00
Kristoffer Dalby
da14750396
Merge branch 'main' into main
2021-10-19 15:26:18 +01:00
Juan Font Alonso
8094e6fdef
Preload the Namespace from SharedMachines
2021-10-17 11:59:08 +02:00
unreality
afbfc1d370
Merge branch 'main' into main
2021-10-16 22:31:37 +08:00
Juan Font Alonso
fa8cd96108
Get peers from namespaces where shared nodes are shared to
...
This is rather shameful. Shared nodes should have never worked without this.
2021-10-12 17:20:14 +02:00
Juan Font Alonso
48f5a9a18c
Fix error 500 when deleting shared node ( fixes #133 )
2021-10-10 23:55:03 +02:00
Raal Goff
74e6c1479e
updates from code review
2021-10-10 17:22:42 +08:00
Juan Font
c4487b73c4
Merge branch 'main' into magic-dns-support
2021-10-09 12:24:07 +02:00
Kristoffer Dalby
2997f4d251
Merge branch 'main' into main
2021-10-08 22:21:41 +01:00
Kristoffer Dalby
06f56411dd
Update machine.go
2021-10-07 15:45:45 +01:00
Kristoffer Dalby
f0c54490ed
Allow multiple namespaces to be checked for state at the same time
2021-10-06 22:06:07 +00:00
Kristoffer Dalby
95f726fb31
Fix logic
2021-10-06 19:56:14 +00:00
Kristoffer Dalby
ba391bc2ed
Account for updates in shared namespaces
2021-10-06 19:32:15 +00:00
Raal Goff
c487591437
use go-oidc instead of verifying and extracting tokens ourselves, rename oidc_endpoint to oidc_issuer to be more inline with spec
2021-10-06 17:19:15 +08:00
Kristoffer Dalby
a01a0d1039
Remove unstable update channel, replace with state updates
2021-10-05 16:24:46 +00:00
Juan Font
c9a411e341
Preload namespace
2021-10-05 17:47:21 +02:00
Juan Font Alonso
a0fa652449
MagicDNS changes merged back
2021-10-04 23:49:16 +02:00