Create a correct URL is more difficult than just slapping on a scheme (fixes #2316)

This commit is contained in:
Jakob Borg
2015-10-30 21:22:40 +01:00
parent 48c34b7234
commit 08c8d679ac
2 changed files with 22 additions and 6 deletions

View File

@@ -9,9 +9,9 @@ package config
import (
"encoding/xml"
"fmt"
"io"
"math/rand"
"net/url"
"os"
"path/filepath"
"reflect"
@@ -293,14 +293,14 @@ func convertV11V12(cfg *Configuration) {
// Change listen address schema
for i, addr := range cfg.Options.ListenAddress {
if len(addr) > 0 && !strings.HasPrefix(addr, "tcp://") {
cfg.Options.ListenAddress[i] = fmt.Sprintf("tcp://%s", addr)
cfg.Options.ListenAddress[i] = tcpAddr(addr)
}
}
for i, device := range cfg.Devices {
for j, addr := range device.Addresses {
if addr != "dynamic" && addr != "" {
cfg.Devices[i].Addresses[j] = fmt.Sprintf("tcp://%s", addr)
cfg.Devices[i].Addresses[j] = tcpAddr(addr)
}
}
}
@@ -499,3 +499,11 @@ func randomString(l int) string {
}
return string(bs)
}
func tcpAddr(host string) string {
u := url.URL{
Scheme: "tcp",
Host: host,
}
return u.String()
}