postgresql/contrib
Noah Misch 31c6e54ec9 Secure Unix-domain sockets of "make check" temporary clusters.
Any OS user able to access the socket can connect as the bootstrap
superuser and in turn execute arbitrary code as the OS user running the
test.  Protect against that by placing the socket in the temporary data
directory, which has mode 0700 thanks to initdb.  Back-patch to 8.4 (all
supported versions).  The hazard remains wherever the temporary cluster
accepts TCP connections, notably on Windows.

Attempts to run "make check" from a directory with a long name will now
fail.  An alternative not sharing that problem was to place the socket
in a subdirectory of /tmp, but that is only secure if /tmp is sticky.
The PG_REGRESS_SOCK_DIR environment variable is available as a
workaround when testing from long directory paths.

As a convenient side effect, this lets testing proceed smoothly in
builds that override DEFAULT_PGSOCKET_DIR.  Popular non-default values
like /var/run/postgresql are often unwritable to the build user.

Security: CVE-2014-0067
2014-03-29 00:52:56 -04:00
..
adminpack
auth_delay
auto_explain auto_explain: Add logging of trigger execution 2014-03-04 15:31:18 -03:00
btree_gin
btree_gist
chkpass Prevent potential overruns of fixed-size buffers. 2014-02-17 11:20:21 -05:00
citext Remove dependency on database encoding in citext regression test. 2014-02-27 14:58:47 -05:00
cube
dblink
dict_int
dict_xsyn
dummy_seclabel
earthdistance
file_fdw Provide a FORCE NULL option to COPY in CSV mode. 2014-03-04 17:31:59 -05:00
fuzzystrmatch
hstore Introduce jsonb, a structured format for storing json. 2014-03-23 16:40:19 -04:00
intagg
intarray Predict integer overflow to avoid buffer overruns. 2014-02-17 09:33:31 -05:00
isn
lo
ltree Predict integer overflow to avoid buffer overruns. 2014-02-17 09:33:31 -05:00
oid2name Centralize getopt-related declarations in a new header file pg_getopt.h. 2014-02-15 14:31:30 -05:00
pageinspect pageinspect: Use new pg_lsn datatype. 2014-03-03 07:15:04 -05:00
passwordcheck
pg_archivecleanup Remove MinGW readdir/errno bug workaround fixed on 2003-10-10 2014-03-21 13:47:37 -04:00
pg_buffercache Relax the requirement that all lwlocks be stored in a single array. 2014-01-27 11:07:44 -05:00
pg_freespacemap
pg_prewarm
pg_standby Remove MinGW readdir/errno bug workaround fixed on 2003-10-10 2014-03-21 13:47:37 -04:00
pg_stat_statements Prefer pg_any_to_server/pg_server_to_any over pg_do_encoding_conversion. 2014-02-23 16:59:05 -05:00
pg_test_fsync pg_test_fsync: add C comment about direct I/O and write size failure 2014-02-12 15:38:29 -05:00
pg_test_timing
pg_trgm
pg_upgrade Secure Unix-domain sockets of "make check" temporary clusters. 2014-03-29 00:52:56 -04:00
pg_upgrade_support
pg_xlogdump Use pg_usleep() instead of plain sleep(), to fix Windows build 2014-03-26 15:25:39 +02:00
pgbench pgbench: Fix help message 2014-02-27 21:52:21 -05:00
pgcrypto Fix typos in comments. 2014-03-17 20:47:28 +09:00
pgrowlocks
pgstattuple Compress GIN posting lists, for smaller index size. 2014-01-22 19:20:58 +02:00
postgres_fdw Don't test xmin/xmax columns of a postgres_fdw foreign table. 2014-03-23 03:48:17 -04:00
seg
sepgsql
spi
sslinfo Prefer pg_any_to_server/pg_server_to_any over pg_do_encoding_conversion. 2014-02-23 16:59:05 -05:00
start-scripts
tablefunc
tcn
test_decoding Force consistent row order in contrib/test_decoding regression test. 2014-03-29 00:31:44 -04:00
test_parser
test_shm_mq test_shm_mq: Improve regression tests. 2014-03-20 08:48:22 -04:00
tsearch2
unaccent
uuid-ossp
vacuumlo Centralize getopt-related declarations in a new header file pg_getopt.h. 2014-02-15 14:31:30 -05:00
worker_spi Fix some more bugs in signal handlers and process shutdown logic. 2014-02-01 16:21:23 -05:00
xml2
contrib-global.mk
Makefile Introduce logical decoding. 2014-03-03 16:32:18 -05:00
README Rename 'gmake' to 'make' in docs and recommended commands 2014-02-12 17:29:19 -05:00

The PostgreSQL contrib tree
---------------------------

This subtree contains porting tools, analysis utilities, and plug-in
features that are not part of the core PostgreSQL system, mainly
because they address a limited audience or are too experimental to be
part of the main source tree.  This does not preclude their
usefulness.

User documentation for each module appears in the main SGML
documentation.

When building from the source distribution, these modules are not
built automatically, unless you build the "world" target.  You can
also build and install them all by running "make all" and "make
install" in this directory; or to build and install just one selected
module, do the same in that module's subdirectory.

Some directories supply new user-defined functions, operators, or
types.  To make use of one of these modules, after you have installed
the code you need to register the new SQL objects in the database
system by executing a CREATE EXTENSION command.  In a fresh database,
you can simply do

    CREATE EXTENSION module_name;

See the PostgreSQL documentation for more information about this
procedure.