OSDN Git Service

Make socket option specify just the directory, not the full path.
authorBruce Momjian <bruce@momjian.us>
Wed, 22 Nov 2000 01:41:14 +0000 (01:41 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 22 Nov 2000 01:41:14 +0000 (01:41 +0000)
16 files changed:
doc/src/sgml/libpq++.sgml
doc/src/sgml/libpq.sgml
doc/src/sgml/ref/createdb.sgml
doc/src/sgml/ref/createlang.sgml
doc/src/sgml/ref/createuser.sgml
doc/src/sgml/ref/dropdb.sgml
doc/src/sgml/ref/droplang.sgml
doc/src/sgml/ref/dropuser.sgml
doc/src/sgml/ref/pg_dump.sgml
doc/src/sgml/ref/pg_dumpall.sgml
doc/src/sgml/ref/pg_restore.sgml
doc/src/sgml/ref/postmaster.sgml
doc/src/sgml/ref/psql-ref.sgml
doc/src/sgml/ref/vacuumdb.sgml
doc/src/sgml/runtime.sgml
src/include/libpq/pqcomm.h

index a3b045e..43cf4ad 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.18 2000/11/13 15:18:07 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.19 2000/11/22 01:41:12 momjian Exp $
 -->
 
  <chapter id="libpqplusplus">
@@ -80,8 +80,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.18 2000/11/13 15:18:
       <listitem>
        <para>
        <envar>PGHOST</envar> 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.
        </para>
       </listitem>
       <listitem>
@@ -93,8 +93,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.18 2000/11/13 15:18:
       </listitem>
       <listitem>
        <para>
-       <envar>PGUNIXSOCKET</envar>  sets the full Unix domain socket
-       file name for communicating with the <productname>Postgres</productname>
+       <envar>PGUNIXSOCKET</envar>  sets the Unix domain socket
+       directory for communicating with the <productname>Postgres</productname>
        backend.
        </para>
       </listitem>
index bb6dc84..12da7ed 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.47 2000/11/14 01:53:37 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.48 2000/11/22 01:41:12 momjian Exp $
 -->
 
  <chapter id="libpq-chapter">
@@ -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.
      </para>
      </listitem>
     </varlistentry>
@@ -138,7 +138,7 @@ PGconn *PQconnectdb(const char *conninfo)
      <term><literal>unixsocket</literal></term>
      <listitem>
      <para>
-      Full path to Unix-domain socket file to connect to at the server host.
+      Directory for Unix-domain socket file.
      </para>
      </listitem>
     </varlistentry>
@@ -567,7 +567,7 @@ char *PQport(const PGconn *conn)
 <listitem>
 <para>
 <function>PQunixsocket</function>
-         Returns the name of the Unix-domain socket of the connection.
+         Returns the directory of the Unix-domain socket of the connection.
 <synopsis>
 char *PQunixsocket(const PGconn *conn)
 </synopsis>
@@ -1839,9 +1839,8 @@ application programs.
 <listitem>
 <para>
 <envar>PGHOST</envar> 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.
 </para>
 </listitem>
 <listitem>
index eb5292c..edb5221 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/createdb.sgml,v 1.14 2000/11/13 23:57:19 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/createdb.sgml,v 1.15 2000/11/22 01:41:13 momjian Exp $
 Postgres documentation
 -->
 
@@ -41,7 +41,7 @@ Postgres documentation
        Specifies the hostname of the machine on which the 
        <application>postmaster</application>
        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.
        </para>
       </listitem>
      </varlistentry>
index 3e82424..03aa19d 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.13 2000/11/13 23:57:19 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.14 2000/11/22 01:41:13 momjian Exp $
 Postgres documentation
 -->
 
@@ -86,7 +86,7 @@ Postgres documentation
        Specifies the hostname of the machine on which the 
        <application>postmaster</application>
        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.
        </para>
       </listitem>
      </varlistentry>
index 2a73590..ee76f73 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/createuser.sgml,v 1.13 2000/11/13 23:57:19 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/createuser.sgml,v 1.14 2000/11/22 01:41:13 momjian Exp $
 Postgres documentation
 -->
 
@@ -40,7 +40,7 @@ Postgres documentation
        Specifies the hostname of the machine on which the 
        <application>postmaster</application>
        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.
        </para>
       </listitem>
      </varlistentry>
index ab57c8c..fba806e 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropdb.sgml,v 1.7 2000/11/13 23:57:19 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropdb.sgml,v 1.8 2000/11/22 01:41:13 momjian Exp $
 Postgres documentation
 -->
 
@@ -40,7 +40,7 @@ Postgres documentation
        Specifies the hostname of the machine on which the 
        <application>postmaster</application>
        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.
        </para>
       </listitem>
      </varlistentry>
index 531d985..41ba3ae 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/droplang.sgml,v 1.7 2000/11/13 23:57:19 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/droplang.sgml,v 1.8 2000/11/22 01:41:13 momjian Exp $
 Postgres documentation
 -->
 
@@ -86,7 +86,7 @@ Postgres documentation
        Specifies the hostname of the machine on which the 
        <application>postmaster</application>
        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.
        </para>
       </listitem>
      </varlistentry>
index 7b2a2ee..4f7d1fc 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropuser.sgml,v 1.8 2000/11/13 23:57:20 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropuser.sgml,v 1.9 2000/11/22 01:41:13 momjian Exp $
 Postgres documentation
 -->
 
@@ -40,7 +40,7 @@ Postgres documentation
        Specifies the hostname of the machine on which the 
        <application>postmaster</application>
        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.
        </para>
       </listitem>
      </varlistentry>
index 452cdbf..925e5c7 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.24 2000/11/21 15:39:09 pjw Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.25 2000/11/22 01:41:13 momjian Exp $
 Postgres documentation
 -->
 
@@ -323,7 +323,7 @@ pg_dump [ -h <replaceable class="parameter">host</replaceable> ]
        Specifies the hostname of the machine on which the 
        <application>postmaster</application>
        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.
        </para>
       </listitem>
      </varlistentry>
index a75a0c5..907dcbb 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.14 2000/11/13 23:57:20 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.15 2000/11/22 01:41:13 momjian Exp $
 Postgres documentation
 -->
 
@@ -144,7 +144,7 @@ pg_dumpall [ -h <replaceable class="parameter">host</replaceable> ] [ -p <replac
        Specifies the hostname of the machine on which the 
        <application>postmaster</application>
        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.
        </para>
       </listitem>
      </varlistentry>
index 1af53a4..8af8226 100644 (file)
@@ -308,7 +308,7 @@ pg_restore [ <replaceable class="parameter">archive-file</replaceable>  ]
        Specifies the hostname of the machine on which the
        <application>postmaster</application>
        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.
        </para>
       </listitem>
      </varlistentry>
index 0c9d1eb..beb6c0e 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/postmaster.sgml,v 1.15 2000/11/14 18:11:31 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/postmaster.sgml,v 1.16 2000/11/22 01:41:13 momjian Exp $
 Postgres documentation
 -->
 
@@ -188,13 +188,12 @@ Postgres documentation
       <term>-k <replaceable class="parameter">filename</replaceable></term>
       <listitem>
        <para>
-       Specifies the Unix domain socket file name on which the
+       Specifies the directory for Unix domain socket on which the
        <application>postmaster</application> is to listen for
        connections from client applications.  Defaults to the value
        of the <envar>PGUNIXSOCKET</envar> environment variable, or if
        <envar>PGUNIXSOCKET</envar> is not set, then defaults to a
-       file in <filename>/tmp</filename> constructed from the port
-       number.
+       file in <filename>/tmp</filename>.
        </para>
       </listitem>
      </varlistentry>
index 6907539..a90e98c 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.43 2000/11/13 23:57:20 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.44 2000/11/22 01:41:13 momjian Exp $
 Postgres documentation
 -->
 
@@ -1323,7 +1323,7 @@ Access permissions for database "test"
       Specifies the host name of the machine on which the
       <application>postmaster</application> 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.
       </para>
       </listitem>
     </varlistentry>
index 69e9888..438af31 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuumdb.sgml,v 1.13 2000/11/13 23:57:20 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuumdb.sgml,v 1.14 2000/11/22 01:41:13 momjian Exp $
 Postgres documentation
 -->
 
@@ -120,7 +120,7 @@ Postgres documentation
        Specifies the hostname of the machine on which the 
        <application>postmaster</application>
        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.
        </para>
       </listitem>
      </varlistentry>
index 510c49a..ffe87c5 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.37 2000/11/15 18:36:03 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.38 2000/11/22 01:41:12 momjian Exp $
 -->
 
 <Chapter Id="runtime">
@@ -1063,13 +1063,12 @@ env PGOPTIONS='-c geqo=off' psql
       <term>UNIXSOCKET (<type>string</type>)</term>
       <listitem>
        <para>
-       Specifies the Unix domain socket file name on which the
+       Specifies the directory of the Unix domain socket on which the
        <application>postmaster</application> is to listen for
        connections from client applications.  Defaults to the value
        of the <envar>PGUNIXSOCKET</envar> environment variable, or if
-       <envar>PGUNIXSOCKET</envar> is not set, then defaults to a
-       file in <filename>/tmp</filename> constructed from the port
-       number.
+       <envar>PGUNIXSOCKET</envar> is not set, then defaults to 
+        <filename>/tmp</filename>.
        </para>
       </listitem>
      </varlistentry>
index b013014..4d55d4a 100644 (file)
@@ -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