@@ -57,14 +57,21 @@ gmake check
57
57
58
58
<warning>
59
59
<para>
60
- On systems lacking Unix-domain sockets, notably Windows, this test method
61
- starts a temporary server configured to accept any connection originating
62
- on the local machine. Any local user can gain database superuser
63
- privileges when connecting to this server, and could in principle exploit
64
- all privileges of the operating-system user running the tests. Therefore,
65
- it is not recommended that you use <literal>gmake check</> on an affected
66
- system shared with untrusted users. Instead, run the tests after
67
- completing the installation, as described in the next section.
60
+ This test method starts a temporary server, which is configured to accept
61
+ any connection originating on the local machine. Any local user can gain
62
+ database superuser privileges when connecting to this server, and could
63
+ in principle exploit all privileges of the operating-system user running
64
+ the tests. Therefore, it is not recommended that you use <literal>gmake
65
+ check</> on machines shared with untrusted users. Instead, run the tests
66
+ after completing the installation, as described in the next section.
67
+ </para>
68
+
69
+ <para>
70
+ On Unix-like machines, this danger can be avoided if the temporary
71
+ server's socket file is made inaccessible to other users, for example
72
+ by running the tests in a protected chroot. On Windows, the temporary
73
+ server opens a locally-accessible TCP socket, so filesystem protections
74
+ cannot help.
68
75
</para>
69
76
</warning>
70
77
@@ -104,17 +111,6 @@ gmake MAX_CONNECTIONS=10 check
104
111
runs no more than ten tests concurrently.
105
112
</para>
106
113
107
- <para>
108
- To protect your operating system user account, the test driver places the
109
- server's socket in a relative subdirectory inaccessible to other users.
110
- Since most systems constrain the length of socket paths well
111
- below <literal>_POSIX_PATH_MAX</>, testing may fail to start from a
112
- directory with a long name. Work around this problem by pointing
113
- the <envar>PG_REGRESS_SOCK_DIR</> environment variable to a substitute
114
- socket directory having a shorter path. On a multi-user system, give that
115
- directory mode <literal>0700</>.
116
- </para>
117
-
118
114
<para>
119
115
To run the tests after installation<![%standalone-ignore;[ (see <xref linkend="installation">)]]>,
120
116
initialize a data area and start the