Quellcode durchsuchen

only add check for victim node

abhishek9686 vor 1 Jahr
Ursprung
Commit
e602e35fb0
3 geänderte Dateien mit 6 neuen und 29 gelöschten Zeilen
  1. 1 22
      mq/handlers.go
  2. 4 4
      pro/controllers/failover.go
  3. 1 3
      pro/logic/failover.go

+ 1 - 22
mq/handlers.go

@@ -201,28 +201,7 @@ func signalPeer(signal models.Signal) {
 		slog.Error("failed to signal, peer host not found", "error", err)
 		return
 	}
-	peerNode, err := logic.GetNodeByID(signal.ToNodeID)
-	if err != nil {
-		slog.Error("failed to signal, node not found", "error", err)
-		return
-	}
-	node, err := logic.GetNodeByID(signal.FromNodeID)
-	if err != nil {
-		slog.Error("failed to signal, peer node not found", "error", err)
-		return
-	}
-	if peerNode.IsIngressGateway || node.IsIngressGateway || peerNode.IsInternetGateway || node.IsInternetGateway {
-		signal.Action = ""
-		return
-	}
-	if node.IsRelay || node.InternetGwID != "" || node.FailedOverBy != uuid.Nil {
-		signal.Action = ""
-		return
-	}
-	if peerNode.IsRelay || peerNode.InternetGwID != "" || peerNode.FailedOverBy != uuid.Nil {
-		signal.Action = ""
-		return
-	}
+
 	err = HostUpdate(&models.HostUpdate{
 		Action: models.SignalHost,
 		Host:   *peerHost,

+ 4 - 4
pro/controllers/failover.go

@@ -159,12 +159,12 @@ func failOverME(w http.ResponseWriter, r *http.Request) {
 		logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("peer not found"), "badrequest"))
 		return
 	}
-	if node.IsRelayed || node.IsFailOver {
-		logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("node is relayed or acting as failover"), "badrequest"))
+	if node.IsIngressGateway {
+		logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("node is acting as remote access gw"), "badrequest"))
 		return
 	}
-	if peerNode.IsRelayed || peerNode.IsFailOver {
-		logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("peer node is relayed or acting as failover"), "badrequest"))
+	if node.IsRelayed || node.IsFailOver {
+		logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("node is relayed or acting as failover"), "badrequest"))
 		return
 	}
 	if node.IsRelay {

+ 1 - 3
pro/logic/failover.go

@@ -11,9 +11,7 @@ import (
 )
 
 func SetFailOverCtx(failOverNode, victimNode, peerNode models.Node) error {
-	if victimNode.IsIngressGateway || peerNode.IsIngressGateway || victimNode.IsInternetGateway || peerNode.IsInternetGateway {
-		return nil
-	}
+
 	if peerNode.FailOverPeers == nil {
 		peerNode.FailOverPeers = make(map[string]struct{})
 	}