diff --git a/doc/src/sgml/libpq++.sgml b/doc/src/sgml/libpq++.sgml index a3b045e219..43cf4ad1d5 100644 --- a/doc/src/sgml/libpq++.sgml +++ b/doc/src/sgml/libpq++.sgml @@ -1,5 +1,5 @@ @@ -80,8 +80,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.18 2000/11/13 15:18: PGHOST sets the default server name. - If a non-zero-length string is specified, TCP/IP communication is used. - Without a host name, libpq will connect using a local Unix domain socket. + If it begins with a slash, it is used + as the directory for the unix domain socket. @@ -93,8 +93,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.18 2000/11/13 15:18: - PGUNIXSOCKET sets the full Unix domain socket - file name for communicating with the Postgres + PGUNIXSOCKET sets the Unix domain socket + directory for communicating with the Postgres backend. diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index bb6dc844a1..12da7edcca 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -1,5 +1,5 @@ @@ -90,7 +90,7 @@ PGconn *PQconnectdb(const char *conninfo) Name of host to connect to. Using this parameter causes a hostname look-up. See hostaddr. If it begins with a slash, it is used - as the path to a unix domain socket. + as the directory for the unix domain socket. @@ -138,7 +138,7 @@ PGconn *PQconnectdb(const char *conninfo) unixsocket - Full path to Unix-domain socket file to connect to at the server host. + Directory for Unix-domain socket file. @@ -567,7 +567,7 @@ char *PQport(const PGconn *conn) PQunixsocket - Returns the name of the Unix-domain socket of the connection. + Returns the directory of the Unix-domain socket of the connection. char *PQunixsocket(const PGconn *conn) @@ -1839,9 +1839,8 @@ application programs. PGHOST sets the default server name. -If it beings with a slash, it is used as the path to a unix domain +If it beings with a slash, it is used as the directory for the unix domain socket. -Without a host name, libpq will connect using a local Unix domain socket. diff --git a/doc/src/sgml/ref/createdb.sgml b/doc/src/sgml/ref/createdb.sgml index eb5292cdc4..edb5221006 100644 --- a/doc/src/sgml/ref/createdb.sgml +++ b/doc/src/sgml/ref/createdb.sgml @@ -1,5 +1,5 @@ @@ -41,7 +41,7 @@ Postgres documentation Specifies the hostname of the machine on which the postmaster is running. If host begins with a slash, it is used - as the path to a unix domain socket. + as the directory for the unix domain socket. diff --git a/doc/src/sgml/ref/createlang.sgml b/doc/src/sgml/ref/createlang.sgml index 3e8242481f..03aa19d3e7 100644 --- a/doc/src/sgml/ref/createlang.sgml +++ b/doc/src/sgml/ref/createlang.sgml @@ -1,5 +1,5 @@ @@ -86,7 +86,7 @@ Postgres documentation Specifies the hostname of the machine on which the postmaster is running. If host begins with a slash, it is used - as the path to a unix domain socket. + as the directory for the unix domain socket. diff --git a/doc/src/sgml/ref/createuser.sgml b/doc/src/sgml/ref/createuser.sgml index 2a735900a5..ee76f73abf 100644 --- a/doc/src/sgml/ref/createuser.sgml +++ b/doc/src/sgml/ref/createuser.sgml @@ -1,5 +1,5 @@ @@ -40,7 +40,7 @@ Postgres documentation Specifies the hostname of the machine on which the postmaster is running. If host begins with a slash, it is used - as the path to a unix domain socket. + as the directory for the unix domain socket. diff --git a/doc/src/sgml/ref/dropdb.sgml b/doc/src/sgml/ref/dropdb.sgml index ab57c8c883..fba806e035 100644 --- a/doc/src/sgml/ref/dropdb.sgml +++ b/doc/src/sgml/ref/dropdb.sgml @@ -1,5 +1,5 @@ @@ -40,7 +40,7 @@ Postgres documentation Specifies the hostname of the machine on which the postmaster is running. If host begins with a slash, it is used - as the path to a unix domain socket. + as the directory for the unix domain socket. diff --git a/doc/src/sgml/ref/droplang.sgml b/doc/src/sgml/ref/droplang.sgml index 531d9859f7..41ba3ae042 100644 --- a/doc/src/sgml/ref/droplang.sgml +++ b/doc/src/sgml/ref/droplang.sgml @@ -1,5 +1,5 @@ @@ -86,7 +86,7 @@ Postgres documentation Specifies the hostname of the machine on which the postmaster is running. If host begins with a slash, it is used - as the path to a unix domain socket. + as the directory for the unix domain socket. diff --git a/doc/src/sgml/ref/dropuser.sgml b/doc/src/sgml/ref/dropuser.sgml index 7b2a2ee9d4..4f7d1fc3a8 100644 --- a/doc/src/sgml/ref/dropuser.sgml +++ b/doc/src/sgml/ref/dropuser.sgml @@ -1,5 +1,5 @@ @@ -40,7 +40,7 @@ Postgres documentation Specifies the hostname of the machine on which the postmaster is running. If host begins with a slash, it is used - as the path to a unix domain socket. + as the directory for the unix domain socket. diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml index 452cdbf253..925e5c72cf 100644 --- a/doc/src/sgml/ref/pg_dump.sgml +++ b/doc/src/sgml/ref/pg_dump.sgml @@ -1,5 +1,5 @@ @@ -323,7 +323,7 @@ pg_dump [ -h host ] Specifies the hostname of the machine on which the postmaster is running. If host begins with a slash, it is used - as the path to a unix domain socket. + as the directory for the unix domain socket. diff --git a/doc/src/sgml/ref/pg_dumpall.sgml b/doc/src/sgml/ref/pg_dumpall.sgml index a75a0c5e1c..907dcbb3b2 100644 --- a/doc/src/sgml/ref/pg_dumpall.sgml +++ b/doc/src/sgml/ref/pg_dumpall.sgml @@ -1,5 +1,5 @@ @@ -144,7 +144,7 @@ pg_dumpall [ -h host ] [ -p postmaster is running. If host begins with a slash, it is used - as the path to a unix domain socket. + as the directory for the unix domain socket. diff --git a/doc/src/sgml/ref/pg_restore.sgml b/doc/src/sgml/ref/pg_restore.sgml index 1af53a4738..8af8226d94 100644 --- a/doc/src/sgml/ref/pg_restore.sgml +++ b/doc/src/sgml/ref/pg_restore.sgml @@ -308,7 +308,7 @@ pg_restore [ archive-file ] Specifies the hostname of the machine on which the postmaster is running. If host begins with a slash, it is used - as the path to a unix domain socket. + as the directory for the unix domain socket. diff --git a/doc/src/sgml/ref/postmaster.sgml b/doc/src/sgml/ref/postmaster.sgml index 0c9d1eb32c..beb6c0ee93 100644 --- a/doc/src/sgml/ref/postmaster.sgml +++ b/doc/src/sgml/ref/postmaster.sgml @@ -1,5 +1,5 @@ @@ -188,13 +188,12 @@ Postgres documentation -k filename - Specifies the Unix domain socket file name on which the + Specifies the directory for Unix domain socket on which the postmaster is to listen for connections from client applications. Defaults to the value of the PGUNIXSOCKET environment variable, or if PGUNIXSOCKET is not set, then defaults to a - file in /tmp constructed from the port - number. + file in /tmp. diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index 69075391d6..a90e98cd7b 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -1,5 +1,5 @@ @@ -1323,7 +1323,7 @@ Access permissions for database "test" Specifies the host name of the machine on which the postmaster is running. If host begins with a slash, it is used - as the path to a unix domain socket. + as the directory for the unix domain socket. diff --git a/doc/src/sgml/ref/vacuumdb.sgml b/doc/src/sgml/ref/vacuumdb.sgml index 69e9888f56..438af3159c 100644 --- a/doc/src/sgml/ref/vacuumdb.sgml +++ b/doc/src/sgml/ref/vacuumdb.sgml @@ -1,5 +1,5 @@ @@ -120,7 +120,7 @@ Postgres documentation Specifies the hostname of the machine on which the postmaster is running. If host begins with a slash, it is used - as the path to a unix domain socket. + as the directory for the unix domain socket. diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index 510c49a62f..ffe87c5367 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1,5 +1,5 @@ @@ -1063,13 +1063,12 @@ env PGOPTIONS='-c geqo=off' psql UNIXSOCKET (string) - Specifies the Unix domain socket file name on which the + Specifies the directory of the Unix domain socket on which the postmaster is to listen for connections from client applications. Defaults to the value of the PGUNIXSOCKET environment variable, or if - PGUNIXSOCKET is not set, then defaults to a - file in /tmp constructed from the port - number. + PGUNIXSOCKET is not set, then defaults to + /tmp. diff --git a/src/include/libpq/pqcomm.h b/src/include/libpq/pqcomm.h index b013014ef3..4d55d4a94b 100644 --- a/src/include/libpq/pqcomm.h +++ b/src/include/libpq/pqcomm.h @@ -9,7 +9,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: pqcomm.h,v 1.45 2000/11/15 18:36:06 petere Exp $ + * $Id: pqcomm.h,v 1.46 2000/11/22 01:41:14 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -51,17 +51,16 @@ typedef union SockAddr /* Configure the UNIX socket address for the well known port. */ #if defined(SUN_LEN) -#define UNIXSOCK_PATH(sun,port,defpath) \ - ((defpath && defpath[0] != '\0') ? (strncpy((sun).sun_path, defpath, sizeof((sun).sun_path)), (sun).sun_path[sizeof((sun).sun_path)-1] = '\0') : sprintf((sun).sun_path, "/tmp/.s.PGSQL.%d", (port))) #define UNIXSOCK_LEN(sun) \ (SUN_LEN(&(sun))) #else -#define UNIXSOCK_PATH(sun,port,defpath) \ - ((defpath && defpath[0] != '\0') ? (strncpy((sun).sun_path, defpath, sizeof((sun).sun_path)), (sun).sun_path[sizeof((sun).sun_path)-1] = '\0') : sprintf((sun).sun_path, "/tmp/.s.PGSQL.%d", (port))) #define UNIXSOCK_LEN(sun) \ (strlen((sun).sun_path)+ offsetof(struct sockaddr_un, sun_path)) #endif +#define UNIXSOCK_PATH(sun,port,defpath) \ + (snprintf((sun).sun_path, UNIXSOCK_LEN(sun), "%s/.s.PGSQL.%d", (defpath && *(defpath) != '\0') ? (defpath) : "/tmp", (port))) + /* * We do this because sun_len is in BSD's struct, while others don't. * We never actually set BSD's sun_len, and I can't think of a