|
@@ -255,65 +255,65 @@ func CreateNode(node *models.Node) error {
|
|
|
}
|
|
|
|
|
|
// IfaceDelta - is there interface changes
|
|
|
-func IfaceDelta(currentNode *models.Node, newNode *models.Node) bool {
|
|
|
- SetNodeDefaults(newNode)
|
|
|
- // single comparison statements
|
|
|
- if currentNode.IsServer != "yes" {
|
|
|
- return false
|
|
|
- }
|
|
|
-
|
|
|
- if newNode.Endpoint != currentNode.Endpoint ||
|
|
|
- newNode.LocalAddress != currentNode.LocalAddress ||
|
|
|
- newNode.PublicKey != currentNode.PublicKey ||
|
|
|
- newNode.Address != currentNode.Address ||
|
|
|
- newNode.IsEgressGateway != currentNode.IsEgressGateway ||
|
|
|
- newNode.IsIngressGateway != currentNode.IsIngressGateway ||
|
|
|
- newNode.IsRelay != currentNode.IsRelay ||
|
|
|
- newNode.UDPHolePunch != currentNode.UDPHolePunch ||
|
|
|
- newNode.IsPending != currentNode.IsPending ||
|
|
|
- newNode.PersistentKeepalive != currentNode.PersistentKeepalive ||
|
|
|
- len(newNode.ExcludedAddrs) != len(currentNode.ExcludedAddrs) ||
|
|
|
- len(newNode.AllowedIPs) != len(currentNode.AllowedIPs) {
|
|
|
- return true
|
|
|
- }
|
|
|
-
|
|
|
- // multi-comparison statements
|
|
|
- if newNode.IsDualStack == "yes" {
|
|
|
- if newNode.Address6 != currentNode.Address6 {
|
|
|
- return true
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if newNode.IsEgressGateway == "yes" {
|
|
|
- if len(currentNode.EgressGatewayRanges) != len(newNode.EgressGatewayRanges) {
|
|
|
- return true
|
|
|
- }
|
|
|
- for _, address := range newNode.EgressGatewayRanges {
|
|
|
- if !StringSliceContains(currentNode.EgressGatewayRanges, address) {
|
|
|
- return true
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if newNode.IsRelay == "yes" {
|
|
|
- if len(currentNode.RelayAddrs) != len(newNode.RelayAddrs) {
|
|
|
- return true
|
|
|
- }
|
|
|
- for _, address := range newNode.RelayAddrs {
|
|
|
- if !StringSliceContains(currentNode.RelayAddrs, address) {
|
|
|
- return true
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- for _, address := range newNode.AllowedIPs {
|
|
|
- if !StringSliceContains(currentNode.AllowedIPs, address) {
|
|
|
- return true
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return false
|
|
|
-}
|
|
|
+// func IfaceDelta(currentNode *models.Node, newNode *models.Node) bool {
|
|
|
+// SetNodeDefaults(newNode)
|
|
|
+// // single comparison statements
|
|
|
+// if currentNode.IsServer != "yes" {
|
|
|
+// return false
|
|
|
+// }
|
|
|
+
|
|
|
+// if newNode.Endpoint != currentNode.Endpoint ||
|
|
|
+// newNode.LocalAddress != currentNode.LocalAddress ||
|
|
|
+// newNode.PublicKey != currentNode.PublicKey ||
|
|
|
+// newNode.Address != currentNode.Address ||
|
|
|
+// newNode.IsEgressGateway != currentNode.IsEgressGateway ||
|
|
|
+// newNode.IsIngressGateway != currentNode.IsIngressGateway ||
|
|
|
+// newNode.IsRelay != currentNode.IsRelay ||
|
|
|
+// newNode.UDPHolePunch != currentNode.UDPHolePunch ||
|
|
|
+// newNode.IsPending != currentNode.IsPending ||
|
|
|
+// newNode.PersistentKeepalive != currentNode.PersistentKeepalive ||
|
|
|
+// len(newNode.ExcludedAddrs) != len(currentNode.ExcludedAddrs) ||
|
|
|
+// len(newNode.AllowedIPs) != len(currentNode.AllowedIPs) {
|
|
|
+// return true
|
|
|
+// }
|
|
|
+
|
|
|
+// // multi-comparison statements
|
|
|
+// if newNode.IsDualStack == "yes" {
|
|
|
+// if newNode.Address6 != currentNode.Address6 {
|
|
|
+// return true
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+// if newNode.IsEgressGateway == "yes" {
|
|
|
+// if len(currentNode.EgressGatewayRanges) != len(newNode.EgressGatewayRanges) {
|
|
|
+// return true
|
|
|
+// }
|
|
|
+// for _, address := range newNode.EgressGatewayRanges {
|
|
|
+// if !StringSliceContains(currentNode.EgressGatewayRanges, address) {
|
|
|
+// return true
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+// if newNode.IsRelay == "yes" {
|
|
|
+// if len(currentNode.RelayAddrs) != len(newNode.RelayAddrs) {
|
|
|
+// return true
|
|
|
+// }
|
|
|
+// for _, address := range newNode.RelayAddrs {
|
|
|
+// if !StringSliceContains(currentNode.RelayAddrs, address) {
|
|
|
+// return true
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+// for _, address := range newNode.AllowedIPs {
|
|
|
+// if !StringSliceContains(currentNode.AllowedIPs, address) {
|
|
|
+// return true
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+// return false
|
|
|
+// }
|
|
|
|
|
|
// GetAllNodes - returns all nodes in the DB
|
|
|
func GetAllNodes() ([]models.Node, error) {
|