@@ -838,7 +838,6 @@ func updateExtClient(w http.ResponseWriter, r *http.Request) {
838
838
839
839
var update models.CustomExtClient
840
840
//var oldExtClient models.ExtClient
841
- var sendPeerUpdate bool
842
841
var replacePeers bool
843
842
err := json .NewDecoder (r .Body ).Decode (& update )
844
843
if err != nil {
@@ -887,19 +886,11 @@ func updateExtClient(w http.ResponseWriter, r *http.Request) {
887
886
var changedID = update .ClientID != oldExtClient .ClientID
888
887
889
888
if ! reflect .DeepEqual (update .DeniedACLs , oldExtClient .DeniedACLs ) {
890
- sendPeerUpdate = true
891
889
logic .SetClientACLs (& oldExtClient , update .DeniedACLs )
892
890
}
893
- if ! logic .IsSlicesEqual (update .ExtraAllowedIPs , oldExtClient .ExtraAllowedIPs ) {
894
- sendPeerUpdate = true
895
- }
896
891
897
- if update .Enabled != oldExtClient .Enabled {
898
- sendPeerUpdate = true
899
- }
900
892
if update .PublicKey != oldExtClient .PublicKey {
901
893
//remove old peer entry
902
- sendPeerUpdate = true
903
894
replacePeers = true
904
895
}
905
896
if update .RemoteAccessClientID != "" && update .Location == "" {
@@ -944,45 +935,12 @@ func updateExtClient(w http.ResponseWriter, r *http.Request) {
944
935
if changedID && servercfg .IsDNSMode () {
945
936
logic .SetDNS ()
946
937
}
947
- if replacePeers {
938
+ if replacePeers || ! update . Enabled {
948
939
if err := mq .PublishDeletedClientPeerUpdate (& oldExtClient ); err != nil {
949
940
slog .Error ("error deleting old ext peers" , "error" , err .Error ())
950
941
}
951
942
}
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 )
986
944
}()
987
945
988
946
}
0 commit comments