Fix issues around .pgpass file.
authorFujii Masao <fujii@postgresql.org>
Thu, 5 Mar 2020 04:00:38 +0000 (13:00 +0900)
committerFujii Masao <fujii@postgresql.org>
Thu, 5 Mar 2020 04:00:38 +0000 (13:00 +0900)
commit2eb3bc58814fa1ab86308a3658ddb76081080db3
tree9d7dab593d6e40267bbe894931a82657375fda99
parentfbcf0871123b464fef7f957301dcc57377cde9c5
Fix issues around .pgpass file.

This commit fixes the following two issues around .pgpass file.

(1) If the length of a line in .pgpass file was larger than 319B,
        libpq silently treated each 319B in the line as a separate
        setting line.

(2) The document explains that a line beginning with # is treated
        as a comment in .pgpass. But there was no code doing such
        special handling. Whether a line begins with # or not, libpq
        just checked that the first token in the line match with the host.

For (1), this commit makes libpq warn if the length of a line
is larger than 319B, and throw away the remaining part beginning
from 320B position.

For (2), this commit changes libpq so that it treats any lines
beginning with # as comments.

Author: Fujii Masao
Reviewed-by: Hamid Akhtar
Discussion: https://postgr.es/m/c0f0c01c-fa74-9749-2084-b73882fd5465@oss.nttdata.com
src/interfaces/libpq/fe-connect.c