diff --git a/controllers/relay.go b/controllers/relay.go index 548aa4fb..2f06a3d9 100644 --- a/controllers/relay.go +++ b/controllers/relay.go @@ -123,12 +123,24 @@ func createHostRelay(w http.ResponseWriter, r *http.Request) { return } + if err := mq.HostUpdate(&models.HostUpdate{ + Action: models.UpdateHost, + Host: *relayHost, + }); err != nil { + logger.Log(0, "failed to send host update: ", relayHost.ID.String(), err.Error()) + } logger.Log(1, r.Header.Get("user"), "created relay on host", relay.HostID) go func(relayHostID string) { relatedhosts := logic.GetRelatedHosts(relayHostID) for _, relatedHost := range relatedhosts { relatedHost.ProxyEnabled = true logic.UpsertHost(&relatedHost) + if err := mq.HostUpdate(&models.HostUpdate{ + Action: models.UpdateHost, + Host: relatedHost, + }); err != nil { + logger.Log(0, "failed to send host update: ", relatedHost.ID.String(), err.Error()) + } } if err := mq.PublishPeerUpdate(); err != nil { logger.Log(0, "fail to publish peer update: ", err.Error()) diff --git a/logic/peers.go b/logic/peers.go index ffb9a897..7ca87a71 100644 --- a/logic/peers.go +++ b/logic/peers.go @@ -266,7 +266,7 @@ func GetProxyUpdateForHost(host *models.Host) (models.ProxyManagerPayload, error if peerHost.IsRelayed && peerHost.RelayedBy != host.ID.String() { relayHost, err := GetHost(peerHost.RelayedBy) if err == nil { - relayTo, err := net.ResolveUDPAddr("udp", fmt.Sprintf("%s:%d", relayHost.EndpointIP, getPeerListenPort(peerHost))) + relayTo, err := net.ResolveUDPAddr("udp", fmt.Sprintf("%s:%d", relayHost.EndpointIP, getPeerListenPort(relayHost))) if err == nil { currPeerConf.IsRelayed = true currPeerConf.RelayedTo = relayTo