mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-03-07 19:47:50 +08:00
Allow the .pgpass hostname to match the default socket directory, as
well as a blank pghost.
This commit is contained in:
parent
7123349254
commit
18627c5531
@ -1,4 +1,4 @@
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.208 2006/05/06 16:25:11 momjian Exp $ -->
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.209 2006/05/17 21:50:54 momjian Exp $ -->
|
||||
|
||||
<chapter id="libpq">
|
||||
<title><application>libpq</application> - C Library</title>
|
||||
@ -4000,9 +4000,9 @@ current connection parameters will be used. (Therefore, put more-specific
|
||||
entries first when you are using wildcards.)
|
||||
If an entry needs to contain <literal>:</literal> or
|
||||
<literal>\</literal>, escape this character with <literal>\</literal>.
|
||||
A hostname of <literal>localhost</> matches both <literal>host</> (TCP)
|
||||
and <literal>local</> (Unix domain socket) connections coming from the
|
||||
local machine.
|
||||
A hostname of <literal>localhost</> matches both TCP <literal>host</> (hostname <literal>localhost</>)
|
||||
and Unix domain socket <literal>local</> (<literal>pghost</> empty or the default socket directory)
|
||||
connections coming from the local machine.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.328 2006/03/14 22:48:23 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.329 2006/05/17 21:50:54 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -3106,9 +3106,24 @@ PasswordFromFile(char *hostname, char *port, char *dbname, char *username)
|
||||
if (username == NULL || strlen(username) == 0)
|
||||
return NULL;
|
||||
|
||||
/* 'localhost' matches pghost of '' or the default socket directory */
|
||||
if (hostname == NULL)
|
||||
hostname = DefaultHost;
|
||||
else if (is_absolute_path(hostname))
|
||||
{
|
||||
char canon_host[MAXPGPATH];
|
||||
char canon_def_socket[MAXPGPATH];
|
||||
|
||||
StrNCpy(canon_host, hostname, MAXPGPATH);
|
||||
StrNCpy(canon_def_socket, DEFAULT_PGSOCKET_DIR, MAXPGPATH);
|
||||
|
||||
canonicalize_path(canon_host);
|
||||
canonicalize_path(canon_def_socket);
|
||||
|
||||
if (strcmp(canon_host, canon_def_socket) == 0)
|
||||
hostname = DefaultHost;
|
||||
}
|
||||
|
||||
if (port == NULL)
|
||||
port = DEF_PGPORT_STR;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user