From d18e052e01ec6fa6df4165a409058fb81adf0555 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Tue, 17 Apr 2018 14:07:44 -0400 Subject: don't make tinc.go worry about net.Dial conventions --- main.go | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index 2c32c41..9717040 100644 --- a/main.go +++ b/main.go @@ -10,6 +10,19 @@ import ( "sync" ) +func fmtAddress(node, port string) string { + if isIPv6(node) { + return fmt.Sprintf("[%s]:%s", node, port) + } else { + return fmt.Sprintf("%s:%s", node, port) + } +} + +func isIPv6(node string) bool { + ip := net.ParseIP(node) + return ip != nil && ip.To4() == nil +} + var wg sync.WaitGroup func Emit(pt Point) { @@ -28,9 +41,10 @@ func DoHostfile(fname string) { return } for _, address := range getAddresses(cfg) { + addressStr := fmtAddress(address.Node, address.Port) wg.Add(2) - go Emit(DoAddress(hostname, "tcp4", address)) - go Emit(DoAddress(hostname, "tcp6", address)) + go Emit(DoAddress(hostname, "tcp4", addressStr)) + go Emit(DoAddress(hostname, "tcp6", addressStr)) } } -- cgit v1.2.3