summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go18
1 files changed, 16 insertions, 2 deletions
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))
}
}