From 2d9767512d1e33b20ef0dd2fad410e425a9bb3ff Mon Sep 17 00:00:00 2001 From: bcmmbaga Date: Thu, 19 Jun 2025 00:32:11 +0300 Subject: [PATCH] add support for skipping version checks for dev versions Signed-off-by: bcmmbaga --- management/server/posture/nb_version.go | 7 ++++++- management/server/types/account.go | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/management/server/posture/nb_version.go b/management/server/posture/nb_version.go index 33bf01ad1..ef8ba0bce 100644 --- a/management/server/posture/nb_version.go +++ b/management/server/posture/nb_version.go @@ -3,6 +3,7 @@ package posture import ( "context" "fmt" + "slices" "strings" "github.com/hashicorp/go-version" @@ -54,7 +55,11 @@ func (n *NBVersionCheck) Validate() error { } // MeetsMinVersion checks if the peer's version meets or exceeds the minimum required version -func MeetsMinVersion(minVer, peerVer string) (bool, error) { +func MeetsMinVersion(minVer, peerVer string, skipVersionCheckFor ...string) (bool, error) { + if slices.Contains(skipVersionCheckFor, peerVer) { + return true, nil + } + peerVer = sanitizeVersion(peerVer) minVer = sanitizeVersion(minVer) diff --git a/management/server/types/account.go b/management/server/types/account.go index f7daa9311..3ab71743d 100644 --- a/management/server/types/account.go +++ b/management/server/types/account.go @@ -41,6 +41,8 @@ const ( firewallRuleMinPortRangesVer = "0.48.0" ) +var devVersions = []string{"dev"} + type LookupMap map[string]struct{} // AccountMeta is a struct that contains a stripped down version of the Account object. @@ -1600,7 +1602,7 @@ func expandPortsAndRanges(base FirewallRule, rule *PolicyRule, peer *nbpeer.Peer var peerSupportsPortRanges bool - meetMinVer, err := posture.MeetsMinVersion(firewallRuleMinPortRangesVer, peer.Meta.WtVersion) + meetMinVer, err := posture.MeetsMinVersion(firewallRuleMinPortRangesVer, peer.Meta.WtVersion, devVersions...) if err == nil && meetMinVer { peerSupportsPortRanges = true }