Merge pull request #26 from kevin-gillet/25-fix-olm-ipv6-parsing

fix: add ipv6 endpoint formatter
Former-commit-id: 7448a3127d
This commit is contained in:
Owen Schwartz
2025-09-04 10:37:40 -07:00
committed by GitHub

View File

@@ -3,6 +3,7 @@ package peermonitor
import (
"context"
"fmt"
"strings"
"sync"
"time"
@@ -204,12 +205,18 @@ func (pm *PeerMonitor) HandleFailover(siteID int, relayEndpoint string) {
return
}
// Check for IPv6 and format the endpoint correctly
formattedEndpoint := relayEndpoint
if strings.Contains(relayEndpoint, ":") {
formattedEndpoint = fmt.Sprintf("[%s]", relayEndpoint)
}
// Configure WireGuard to use the relay
wgConfig := fmt.Sprintf(`private_key=%s
public_key=%s
allowed_ip=%s/32
endpoint=%s:21820
persistent_keepalive_interval=1`, pm.privateKey, config.PublicKey, config.ServerIP, relayEndpoint)
persistent_keepalive_interval=1`, pm.privateKey, config.PublicKey, config.ServerIP, formattedEndpoint)
err := pm.device.IpcSet(wgConfig)
if err != nil {