Parse database host correctly when using IPv6

This commit is contained in:
Vlad Ellis
2019-01-25 21:56:19 +00:00
parent c7b556c0e4
commit c208186f26
5 changed files with 182 additions and 15 deletions
+4 -7
View File
@@ -21,6 +21,7 @@ import (
"github.com/grafana/grafana/pkg/services/sqlstore/migrator"
"github.com/grafana/grafana/pkg/services/sqlstore/sqlutil"
"github.com/grafana/grafana/pkg/setting"
"github.com/grafana/grafana/pkg/util"
"github.com/go-sql-driver/mysql"
"github.com/go-xorm/xorm"
@@ -222,13 +223,9 @@ func (ss *SqlStore) buildConnectionString() (string, error) {
cnnstr += "&tls=custom"
}
case migrator.POSTGRES:
var host, port = "127.0.0.1", "5432"
fields := strings.Split(ss.dbCfg.Host, ":")
if len(fields) > 0 && len(strings.TrimSpace(fields[0])) > 0 {
host = fields[0]
}
if len(fields) > 1 && len(strings.TrimSpace(fields[1])) > 0 {
port = fields[1]
host, port, err := util.SplitIpPort(ss.dbCfg.Host, "5432")
if err != nil {
return "", err
}
if ss.dbCfg.Pwd == "" {
ss.dbCfg.Pwd = "''"