aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiteabot <teabot@gitea.io>2024-01-22 00:06:34 +0800
committerGitHub <noreply@github.com>2024-01-21 16:06:34 +0000
commit8c7bda8755cc5fd1b12c5516fb60b7f63af4aecf (patch)
treef969a5013b4b57ddc00622de94733af58538f92e
parentb7e32b23828524c6ab274374aff5f28029ff4237 (diff)
downloadgitea-8c7bda8755cc5fd1b12c5516fb60b7f63af4aecf.tar.gz
gitea-8c7bda8755cc5fd1b12c5516fb60b7f63af4aecf.zip
Fix incorrect PostgreSQL connection string for Unix sockets (#28865) (#28870)
Backport #28865 by @sdvcrx Fix #28864 Co-authored-by: sdvcrx <memory.silentvoyage@gmail.com>
-rw-r--r--modules/setting/database.go4
-rw-r--r--modules/setting/database_test.go8
2 files changed, 10 insertions, 2 deletions
diff --git a/modules/setting/database.go b/modules/setting/database.go
index 015c918d93..23747c9d57 100644
--- a/modules/setting/database.go
+++ b/modules/setting/database.go
@@ -168,8 +168,8 @@ func getPostgreSQLConnectionString(dbHost, dbUser, dbPasswd, dbName, dbsslMode s
RawQuery: dbParam,
}
query := connURL.Query()
- if strings.HasPrefix(dbHost, "/") { // looks like a unix socket
- query.Add("host", dbHost)
+ if strings.HasPrefix(host, "/") { // looks like a unix socket
+ query.Add("host", host)
connURL.Host = ":" + port
}
query.Set("sslmode", dbsslMode)
diff --git a/modules/setting/database_test.go b/modules/setting/database_test.go
index 14e0a6ac02..a742d54f8c 100644
--- a/modules/setting/database_test.go
+++ b/modules/setting/database_test.go
@@ -78,6 +78,14 @@ func Test_getPostgreSQLConnectionString(t *testing.T) {
Output: "postgres://testuser:space%20space%20%21%23$%25%5E%5E%25%5E%60%60%60-=%3F=@:5432/gitea?host=%2Ftmp%2Fpg.sock&sslmode=false",
},
{
+ Host: "/tmp/pg.sock:6432",
+ User: "testuser",
+ Passwd: "pass",
+ Name: "gitea",
+ SSLMode: "false",
+ Output: "postgres://testuser:pass@:6432/gitea?host=%2Ftmp%2Fpg.sock&sslmode=false",
+ },
+ {
Host: "localhost",
User: "pgsqlusername",
Passwd: "I love Gitea!",