Преглед изворни кода

NET-1307: restrict failover node from being relayed (#2960)

* restrict failover node from being relayed

* set errors on failover valid checks
Abhishek K пре 1 година
родитељ
комит
87b2c1bb33
2 измењених фајлова са 5 додато и 2 уклоњено
  1. 2 2
      pro/logic/failover.go
  2. 3 0
      pro/logic/relays.go

+ 2 - 2
pro/logic/failover.go

@@ -170,10 +170,10 @@ func CreateFailOver(node models.Node) error {
 		return err
 	}
 	if host.OS != models.OS_Types.Linux {
-		return err
+		return errors.New("only linux nodes are allowed to be set as failover")
 	}
 	if node.IsRelayed {
-		return err
+		return errors.New("relayed node cannot be set as failover")
 	}
 	node.IsFailOver = true
 	err = logic.UpsertNode(&node)

+ 3 - 0
pro/logic/relays.go

@@ -123,6 +123,9 @@ func ValidateRelay(relay models.RelayRequest, update bool) error {
 		if relayedNode.IsInternetGateway {
 			return errors.New("cannot relay an internet gateway (" + relayedNodeID + ")")
 		}
+		if relayedNode.IsFailOver {
+			return errors.New("cannot relay a failOver (" + relayedNodeID + ")")
+		}
 		if relayedNode.FailedOverBy != uuid.Nil {
 			ResetFailedOverPeer(&relayedNode)
 		}