Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor postgres connection string building #27723

Merged
merged 6 commits into from
Nov 1, 2023
Merged

refactor postgres connection string building #27723

merged 6 commits into from
Nov 1, 2023

Conversation

mpldr
Copy link
Contributor

@mpldr mpldr commented Oct 21, 2023

This patchset changes the connection string builder to use net.URL and the host/port parser to use the stdlib function for splitting host from port. It also adds a footnote about a potentially required portnumber for postgres UNIX sockets.

Fixes: #24552

@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Oct 21, 2023
@pull-request-size pull-request-size bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Oct 21, 2023
URLs are notoriously difficult to work with, as the correct definition
is so broad as to be functionally useless, having unescaped special
characters can pose a security risk, or parsing issues. Use the net.URL
type to ensure everything is escaped as required.

This also fixes the existing unit tests which were invalid URLs and
likely wrong in the first place, due to them combining query and
database name.
The existing solution is rather inelegant and does not use a stdlib
function that does basically the same thing.

The test has been adapted to allow for unbracketed IPv6 addresses, as
these are added by net.JoinHostPort.
@lunny lunny added the type/refactoring Existing code has been cleaned up. There should be no new functionality. label Oct 22, 2023
@lunny lunny added this to the 1.22.0 milestone Oct 22, 2023
@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Oct 30, 2023
@wxiaoguang wxiaoguang added backport/v1.21 This PR should be backported to Gitea 1.21 type/bug labels Nov 1, 2023
@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Nov 1, 2023
@wxiaoguang wxiaoguang added the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Nov 1, 2023
@wxiaoguang wxiaoguang enabled auto-merge (squash) November 1, 2023 17:28
@wxiaoguang wxiaoguang merged commit 9b6e77c into go-gitea:main Nov 1, 2023
25 checks passed
GiteaBot pushed a commit to GiteaBot/gitea that referenced this pull request Nov 1, 2023
This patchset changes the connection string builder to use net.URL and
the host/port parser to use the stdlib function for splitting host from
port. It also adds a footnote about a potentially required portnumber
for postgres UNIX sockets.

Fixes: go-gitea#24552
@GiteaBot GiteaBot added backport/done All backports for this PR have been created and removed reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. labels Nov 1, 2023
silverwind pushed a commit that referenced this pull request Nov 1, 2023
Backport #27723 by @mpldr

This patchset changes the connection string builder to use net.URL and
the host/port parser to use the stdlib function for splitting host from
port. It also adds a footnote about a potentially required portnumber
for postgres UNIX sockets.

Fixes: #24552

Co-authored-by: Moritz Poldrack <[email protected]>
zjjhot added a commit to zjjhot/gitea that referenced this pull request Nov 2, 2023
* giteaofficial/main:
  Filter inactive auth sources (go-gitea#27870)
  refactor postgres connection string building (go-gitea#27723)
  doc: actions/act-runner: document running as a systemd service (go-gitea#27844)
  Support storage base path as prefix (go-gitea#27827)
GiteaBot pushed a commit to GiteaBot/gitea that referenced this pull request Jan 6, 2024
lunny pushed a commit that referenced this pull request Jan 6, 2024
wxiaoguang added a commit that referenced this pull request Jan 6, 2024
Backport #28708 by wxiaoguang

Regression of #27723
Fix #28705

Co-authored-by: wxiaoguang <[email protected]>
fuxiaohei pushed a commit to fuxiaohei/gitea that referenced this pull request Jan 17, 2024
This patchset changes the connection string builder to use net.URL and
the host/port parser to use the stdlib function for splitting host from
port. It also adds a footnote about a potentially required portnumber
for postgres UNIX sockets.

Fixes: go-gitea#24552
fuxiaohei pushed a commit to fuxiaohei/gitea that referenced this pull request Jan 17, 2024
@go-gitea go-gitea locked as resolved and limited conversation to collaborators Jan 31, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
backport/done All backports for this PR have been created backport/v1.21 This PR should be backported to Gitea 1.21 lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. modifies/docs size/M Denotes a PR that changes 30-99 lines, ignoring generated files. type/bug type/refactoring Existing code has been cleaned up. There should be no new functionality.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

HOST setting in app.ini incorrectly used.
4 participants