postgresql/contrib
Heikki Linnakangas dbd69118c0 Replace isMD5() with a more future-proof way to check if pw is encrypted.
The rule is that if pg_authid.rolpassword begins with "md5" and has the
right length, it's an MD5 hash, otherwise it's a plaintext password. The
idiom has been to use isMD5() to check for that, but that gets awkward,
when we add new kinds of verifiers, like the verifiers for SCRAM
authentication in the pending SCRAM patch set. Replace isMD5() with a new
get_password_type() function, so that when new verifier types are added, we
don't need to remember to modify every place that currently calls isMD5(),
to also recognize the new kinds of verifiers.

Also, use the new plain_crypt_verify function in passwordcheck, so that it
doesn't need to know about MD5, or in the future, about other kinds of
hashes or password verifiers.

Reviewed by Michael Paquier and Peter Eisentraut.

Discussion: https://www.postgresql.org/message-id/2d07165c-1793-e243-a2a9-e45b624c7580@iki.fi
2017-02-01 13:11:37 +02:00
..
adminpack Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
auth_delay Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
auto_explain Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
bloom Extend index AM API for parallel index scans. 2017-01-24 16:42:58 -05:00
btree_gin Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
btree_gist Generate fmgr prototypes automatically 2017-01-17 14:06:07 -05:00
chkpass Further cleanup from the strong-random patch. 2016-12-12 11:55:32 +02:00
citext Move some things from builtins.h to new header files 2017-01-20 20:29:53 -05:00
cube Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
dblink Move some things from builtins.h to new header files 2017-01-20 20:29:53 -05:00
dict_int Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
dict_xsyn Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
earthdistance psql: Split up "Modifiers" column in \d and \dD 2016-11-03 14:02:46 -04:00
file_fdw Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
fuzzystrmatch Move some things from builtins.h to new header files 2017-01-20 20:29:53 -05:00
hstore Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
hstore_plperl Make messages mentioning type names more uniform 2017-01-18 16:08:20 -03:00
hstore_plpython
intagg
intarray Generate fmgr prototypes automatically 2017-01-17 14:06:07 -05:00
isn Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
lo Generate fmgr prototypes automatically 2017-01-17 14:06:07 -05:00
ltree Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
ltree_plpython
oid2name
pageinspect Move some things from builtins.h to new header files 2017-01-20 20:29:53 -05:00
passwordcheck Replace isMD5() with a more future-proof way to check if pw is encrypted. 2017-02-01 13:11:37 +02:00
pg_buffercache
pg_freespacemap
pg_prewarm Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
pg_standby
pg_stat_statements Use the new castNode() macro in a number of places. 2017-01-26 16:47:03 -08:00
pg_trgm Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
pg_visibility Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
pgcrypto Fix pgcrypto compilation with OpenSSL 1.1.0. 2016-12-12 11:14:44 +02:00
pgrowlocks Move some things from builtins.h to new header files 2017-01-20 20:29:53 -05:00
pgstattuple Move some things from builtins.h to new header files 2017-01-20 20:29:53 -05:00
postgres_fdw Fix typo in comment. 2017-01-27 17:22:40 -05:00
seg Use 'use strict' in all Perl programs 2017-01-05 12:34:48 -05:00
sepgsql Remove unnecessary prototypes in loadable modules 2017-01-17 12:35:11 -05:00
spi Generate fmgr prototypes automatically 2017-01-17 14:06:07 -05:00
sslinfo
start-scripts pg_ctl: Change default to wait for all actions 2017-01-14 09:15:08 -05:00
tablefunc Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
tcn Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
test_decoding Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
tsearch2 Move some things from builtins.h to new header files 2017-01-20 20:29:53 -05:00
tsm_system_rows Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
tsm_system_time Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
unaccent Move some things from builtins.h to new header files 2017-01-20 20:29:53 -05:00
uuid-ossp Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
vacuumlo Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
xml2 Revert "Delete contrib/xml2's legacy implementation of xml_is_well_formed()." 2016-11-07 10:27:52 -05:00
contrib-global.mk
Makefile
README

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.