Make matchers part of the Policy interface (#2514)
* Make matchers part of the Policy interface * Prevent race condition between rules and matchers * Test also matchers in tests for Policy.Filter * Compute `filterChanged` in v2 policy correctly * Fix nil vs. empty list issue in v2 policy test * policy/v2: always clear ssh map Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com> --------- Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com> Co-authored-by: Aras Ergus <aras.ergus@tngtech.com> Co-authored-by: Kristoffer Dalby <kristoffer@tailscale.com>
This commit is contained in:
parent
eb1ecefd9e
commit
4651d06fa8
12 changed files with 89 additions and 43 deletions
|
@ -536,7 +536,7 @@ func appendPeerChanges(
|
|||
changed types.Nodes,
|
||||
cfg *types.Config,
|
||||
) error {
|
||||
filter := polMan.Filter()
|
||||
filter, matchers := polMan.Filter()
|
||||
|
||||
sshPolicy, err := polMan.SSHPolicy(node)
|
||||
if err != nil {
|
||||
|
@ -546,7 +546,7 @@ func appendPeerChanges(
|
|||
// If there are filter rules present, see if there are any nodes that cannot
|
||||
// access each-other at all and remove them from the peers.
|
||||
if len(filter) > 0 {
|
||||
changed = policy.FilterNodesByACL(node, changed, filter)
|
||||
changed = policy.FilterNodesByACL(node, changed, matchers)
|
||||
}
|
||||
|
||||
profiles := generateUserProfiles(node, changed)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue