Skip to content

Commit 40fa48f

Browse files
committed
fix peer updates on extclient update
1 parent 1d91368 commit 40fa48f

File tree

1 file changed

+2
-44
lines changed

1 file changed

+2
-44
lines changed

controllers/ext_client.go

Lines changed: 2 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -838,7 +838,6 @@ func updateExtClient(w http.ResponseWriter, r *http.Request) {
838838

839839
var update models.CustomExtClient
840840
//var oldExtClient models.ExtClient
841-
var sendPeerUpdate bool
842841
var replacePeers bool
843842
err := json.NewDecoder(r.Body).Decode(&update)
844843
if err != nil {
@@ -887,19 +886,11 @@ func updateExtClient(w http.ResponseWriter, r *http.Request) {
887886
var changedID = update.ClientID != oldExtClient.ClientID
888887

889888
if !reflect.DeepEqual(update.DeniedACLs, oldExtClient.DeniedACLs) {
890-
sendPeerUpdate = true
891889
logic.SetClientACLs(&oldExtClient, update.DeniedACLs)
892890
}
893-
if !logic.IsSlicesEqual(update.ExtraAllowedIPs, oldExtClient.ExtraAllowedIPs) {
894-
sendPeerUpdate = true
895-
}
896891

897-
if update.Enabled != oldExtClient.Enabled {
898-
sendPeerUpdate = true
899-
}
900892
if update.PublicKey != oldExtClient.PublicKey {
901893
//remove old peer entry
902-
sendPeerUpdate = true
903894
replacePeers = true
904895
}
905896
if update.RemoteAccessClientID != "" && update.Location == "" {
@@ -944,45 +935,12 @@ func updateExtClient(w http.ResponseWriter, r *http.Request) {
944935
if changedID && servercfg.IsDNSMode() {
945936
logic.SetDNS()
946937
}
947-
if replacePeers {
938+
if replacePeers || !update.Enabled {
948939
if err := mq.PublishDeletedClientPeerUpdate(&oldExtClient); err != nil {
949940
slog.Error("error deleting old ext peers", "error", err.Error())
950941
}
951942
}
952-
if sendPeerUpdate { // need to send a peer update to the ingress node as enablement of one of it's clients has changed
953-
ingressNode, err := logic.GetNodeByID(newclient.IngressGatewayID)
954-
if err == nil {
955-
if err = mq.PublishPeerUpdate(false); err != nil {
956-
logger.Log(
957-
1,
958-
"error setting ext peers on",
959-
ingressNode.ID.String(),
960-
":",
961-
err.Error(),
962-
)
963-
}
964-
}
965-
if !update.Enabled {
966-
ingressHost, err := logic.GetHost(ingressNode.HostID.String())
967-
if err != nil {
968-
slog.Error(
969-
"Failed to get ingress host",
970-
"node",
971-
ingressNode.ID.String(),
972-
"error",
973-
err,
974-
)
975-
return
976-
}
977-
nodes, err := logic.GetAllNodes()
978-
if err != nil {
979-
slog.Error("Failed to get nodes", "error", err)
980-
return
981-
}
982-
go mq.PublishSingleHostPeerUpdate(ingressHost, nodes, nil, []models.ExtClient{oldExtClient}, false, nil)
983-
}
984-
}
985-
943+
mq.PublishPeerUpdate(false)
986944
}()
987945

988946
}

0 commit comments

Comments
 (0)