postgresql/contrib
Tom Lane 932ded2ed5 Fix incorrect password transformation in contrib/pgcrypto's DES crypt().
Overly tight coding caused the password transformation loop to stop
examining input once it had processed a byte equal to 0x80.  Thus, if the
given password string contained such a byte (which is possible though not
highly likely in UTF8, and perhaps also in other non-ASCII encodings), all
subsequent characters would not contribute to the hash, making the password
much weaker than it appears on the surface.

This would only affect cases where applications used DES crypt() to encode
passwords before storing them in the database.  If a weak password has been
created in this fashion, the hash will stop matching after this update has
been applied, so it will be easy to tell if any passwords were unexpectedly
weak.  Changing to a different password would be a good idea in such a case.
(Since DES has been considered inadequately secure for some time, changing
to a different encryption algorithm can also be recommended.)

This code, and the bug, are shared with at least PHP, FreeBSD, and OpenBSD.
Since the other projects have already published their fixes, there is no
point in trying to keep this commit private.

This bug has been assigned CVE-2012-2143, and credit for its discovery goes
to Rubin Xu and Joseph Bonneau.
2012-05-30 10:53:30 -04:00
..
adminpack Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
auth_delay pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
auto_explain Fix auto-explain JSON output to be valid JSON. 2012-02-13 08:22:15 -05:00
btree_gin Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
btree_gist Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
chkpass Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
citext Fix contrib/citext's upgrade script to handle array and domain cases. 2012-05-11 15:22:30 -04:00
cube Clean up whitespace and indentation in parser and scanner files 2011-11-01 21:51:30 +02:00
dblink Another typographical correction. 2012-04-24 08:15:45 -04:00
dict_int Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
dict_xsyn Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
dummy_seclabel Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
earthdistance Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
file_fdw file_fdw: Improve error message 2012-05-17 20:20:33 +03:00
fuzzystrmatch Even more duplicate word removal, in the spirit of the season 2012-05-02 20:56:03 +03:00
hstore Lots of doc corrections. 2012-04-23 22:43:09 -04:00
intagg Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
intarray Add const qualifiers where they are accidentally cast away 2012-02-28 12:42:08 +02:00
isn Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
lo Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
ltree Add const qualifiers where they are accidentally cast away 2012-02-28 12:42:08 +02:00
oid2name Tweak contrib --help output to match common style 2012-05-08 21:55:05 +03:00
pageinspect Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
passwordcheck Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
pg_archivecleanup Small cleanups of contrib --help output 2012-05-20 01:14:25 +03:00
pg_buffercache Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
pg_freespacemap Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
pg_standby pg_standby: Remove tabs from string literals 2012-05-23 19:58:17 +03:00
pg_stat_statements Fix handling of pg_stat_statements.stat temporary file 2012-05-27 10:54:31 +02:00
pg_test_fsync Fix pg_test_fsync Win32 problems reported by the build farm; add 2012-02-15 07:10:48 -05:00
pg_test_timing pg_test_timing: Lame hack to work around compiler warning. 2012-03-30 08:17:54 -04:00
pg_trgm Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
pg_upgrade Improve pg_upgrade C comment. 2012-05-27 06:45:29 -04:00
pg_upgrade_support Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
pgbench Small cleanups of contrib --help output 2012-05-20 01:14:25 +03:00
pgcrypto Fix incorrect password transformation in contrib/pgcrypto's DES crypt(). 2012-05-30 10:53:30 -04:00
pgrowlocks Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
pgstattuple pgstattuple: Use a BufferAccessStrategy object to avoid cache-trashing. 2012-03-13 09:51:45 -04:00
seg Clean up whitespace and indentation in parser and scanner files 2011-11-01 21:51:30 +02:00
sepgsql Fix error message for COMMENT/SECURITY LABEL ON COLUMN xxx IS 'yyy' 2012-05-22 11:23:36 -04:00
spi Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
sslinfo Lots of doc corrections. 2012-04-23 22:43:09 -04:00
start-scripts Fix overly-aggressive and inconsistent quoting in OS X start script. 2011-11-26 13:01:02 -05:00
tablefunc Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
tcn Triggered change notifications. 2012-01-19 23:15:15 -05:00
test_parser Fix one-byte buffer overrun in contrib/test_parser. 2012-01-09 19:56:27 -05:00
tsearch2 Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
unaccent Fix some typos 2012-04-22 19:23:47 +03:00
uuid-ossp Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
vacuumlo Improve the -l (limit) option recently added to contrib/vacuumlo. 2012-03-20 19:05:44 -04:00
xml2 Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:03 -04:00
contrib-global.mk
Makefile pg_test_timing utility, to measure clock monotonicity and timing cost. 2012-03-27 16:14:00 -04:00
README Update contrib/README 2012-04-14 09:29:54 +03: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 "gmake all" and "gmake
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.