Separators in pg_hosts.conf fields

Started by Noah Misch2 days ago4 messageshackers
Jump to latest
#1Noah Misch
noah@leadboat.com

If the build directory name contains a comma,
src/test/modules/ssl_passphrase_callback fails on master since commit 4f43302.
It fails because hba.c:next_token() treats a comma as a token separator:

* Tokens can be delimited by double quotes (this allows the inclusion of
* commas, blanks, and '#', but not newlines). As in SQL, write two
* double-quotes to represent a double quote.

Commit 4f43302 documented the pg_hosts.conf hostname field as a
comma-separated list, but not the other fields. Should other pg_hosts.conf
fields continue to require quoting around commas, or not?

Attachments:

comma-test-sni-v1.patchtext/plain; charset=us-asciiDownload+2-2
#2Daniel Gustafsson
daniel@yesql.se
In reply to: Noah Misch (#1)
Re: Separators in pg_hosts.conf fields

On 26 Apr 2026, at 23:32, Noah Misch <noah@leadboat.com> wrote:

If the build directory name contains a comma,
src/test/modules/ssl_passphrase_callback fails on master since commit 4f43302.
It fails because hba.c:next_token() treats a comma as a token separator:

Ugh, thanks for reporting.

* Tokens can be delimited by double quotes (this allows the inclusion of
* commas, blanks, and '#', but not newlines). As in SQL, write two
* double-quotes to represent a double quote.

Commit 4f43302 documented the pg_hosts.conf hostname field as a
comma-separated list, but not the other fields. Should other pg_hosts.conf
fields continue to require quoting around commas, or not?

Yes, only the hostname field is a comma-separated list. I think this should be
added to the documentation as well on top of the test fix in your patch. Do
you want me to take care of both parts?

--
Daniel Gustafsson

#3Noah Misch
noah@leadboat.com
In reply to: Daniel Gustafsson (#2)
Re: Separators in pg_hosts.conf fields

On Sun, Apr 26, 2026 at 11:40:13PM +0200, Daniel Gustafsson wrote:

On 26 Apr 2026, at 23:32, Noah Misch <noah@leadboat.com> wrote:

If the build directory name contains a comma,
src/test/modules/ssl_passphrase_callback fails on master since commit 4f43302.
It fails because hba.c:next_token() treats a comma as a token separator:

Ugh, thanks for reporting.

* Tokens can be delimited by double quotes (this allows the inclusion of
* commas, blanks, and '#', but not newlines). As in SQL, write two
* double-quotes to represent a double quote.

Commit 4f43302 documented the pg_hosts.conf hostname field as a
comma-separated list, but not the other fields. Should other pg_hosts.conf
fields continue to require quoting around commas, or not?

Yes, only the hostname field is a comma-separated list. I think this should be
added to the documentation as well on top of the test fix in your patch.

Do you anticipate docs like "this isn't a list, but the file's general parsing
rules require quotes if there's a comma"? Or something different?

Do
you want me to take care of both parts?

That's fine. I also don't mind pushing what I sent.

#4Daniel Gustafsson
daniel@yesql.se
In reply to: Noah Misch (#3)
Re: Separators in pg_hosts.conf fields

On 26 Apr 2026, at 23:54, Noah Misch <noah@leadboat.com> wrote:
On Sun, Apr 26, 2026 at 11:40:13PM +0200, Daniel Gustafsson wrote:

Yes, only the hostname field is a comma-separated list. I think this should be
added to the documentation as well on top of the test fix in your patch.

Do you anticipate docs like "this isn't a list, but the file's general parsing
rules require quotes if there's a comma"? Or something different?

Something along those lines yes.

Do you want me to take care of both parts?

That's fine. I also don't mind pushing what I sent.

+1, please do.

--
Daniel Gustafsson