postgresql/contrib/pgcrypto
Heikki Linnakangas 9e083fd468 Replace PostmasterRandom() with a stronger way of generating randomness.
This adds a new routine, pg_strong_random() for generating random bytes,
for use in both frontend and backend. At the moment, it's only used in
the backend, but the upcoming SCRAM authentication patches need strong
random numbers in libpq as well.

pg_strong_random() is based on, and replaces, the existing implementation
in pgcrypto. It can acquire strong random numbers from a number of sources,
depending on what's available:
- OpenSSL RAND_bytes(), if built with OpenSSL
- On Windows, the native cryptographic functions are used
- /dev/urandom
- /dev/random

Original patch by Magnus Hagander, with further work by Michael Paquier
and me.

Discussion: <CAB7nPqRy3krN8quR9XujMVVHYtXJ0_60nqgVc6oUk8ygyVkZsA@mail.gmail.com>
2016-10-17 11:52:50 +03:00
..
expected pgcrypto: support changing S2K iteration count 2016-03-09 14:31:07 -03:00
sql pgcrypto: support changing S2K iteration count 2016-03-09 14:31:07 -03:00
.gitignore Support "make check" in contrib 2011-04-25 22:27:11 +03:00
Makefile Replace PostmasterRandom() with a stronger way of generating randomness. 2016-10-17 11:52:50 +03:00
blf.c Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
blf.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
crypt-blowfish.c Add forgotten CHECK_FOR_INTERRUPT calls in pgcrypto's crypt() 2015-12-27 13:03:19 -03:00
crypt-des.c Add forgotten CHECK_FOR_INTERRUPT calls in pgcrypto's crypt() 2015-12-27 13:03:19 -03:00
crypt-gensalt.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
crypt-md5.c pgcrypto: fix memset() calls that might be optimized away 2014-04-17 12:37:53 -04:00
fortuna.c Fix typos in comments 2016-02-01 11:43:48 +01:00
fortuna.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00
imath.c Cherry-pick security-relevant fixes from upstream imath library. 2015-02-02 10:00:45 -05:00
imath.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00
internal-sha2.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
internal.c Replace PostmasterRandom() with a stronger way of generating randomness. 2016-10-17 11:52:50 +03:00
mbuf.c pgcrypto: Report errant decryption as "Wrong key or corrupt data". 2015-05-18 10:02:31 -04:00
mbuf.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00
md5.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
md5.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00
openssl.c Fix building with LibreSSL. 2016-09-15 22:52:51 +03:00
pgcrypto--1.0--1.1.sql Add gen_random_uuid() to contrib/pgcrypto. 2014-01-17 16:52:06 -05:00
pgcrypto--1.1--1.2.sql Add functions for dealing with PGP armor header lines to pgcrypto. 2014-10-01 16:03:39 +03:00
pgcrypto--1.2--1.3.sql Update pgcrypto extension for parallel query. 2016-06-09 17:18:14 -04:00
pgcrypto--1.3.sql Minor fixes in contrib installation scripts. 2016-06-14 10:47:06 -04:00
pgcrypto--unpackaged--1.0.sql Fix typos in some error messages thrown by extension scripts when fed to psql. 2014-08-25 18:30:37 +02:00
pgcrypto.c Support OpenSSL 1.1.0. 2016-09-15 14:42:29 +03:00
pgcrypto.control Update pgcrypto extension for parallel query. 2016-06-09 17:18:14 -04:00
pgcrypto.h Remove unnecessary prototypes 2016-09-30 14:04:16 -04:00
pgp-armor.c pgindent run for 9.5 2015-05-23 21:35:49 -04:00
pgp-cfb.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
pgp-compress.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
pgp-decrypt.c pgcrypto: support changing S2K iteration count 2016-03-09 14:31:07 -03:00
pgp-encrypt.c pgcrypto: support changing S2K iteration count 2016-03-09 14:31:07 -03:00
pgp-info.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
pgp-mpi-internal.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
pgp-mpi-openssl.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
pgp-mpi.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
pgp-pgsql.c pgcrypto: support changing S2K iteration count 2016-03-09 14:31:07 -03:00
pgp-pubdec.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
pgp-pubenc.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
pgp-pubkey.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
pgp-s2k.c Support OpenSSL 1.1.0. 2016-09-15 14:42:29 +03:00
pgp.c pgcrypto: support changing S2K iteration count 2016-03-09 14:31:07 -03:00
pgp.h pgindent run for 9.6 2016-06-09 18:02:36 -04:00
px-crypt.c Support OpenSSL 1.1.0. 2016-09-15 14:42:29 +03:00
px-crypt.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00
px-hmac.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
px.c Fix typo 2016-08-09 19:08:00 -04:00
px.h Support OpenSSL 1.1.0. 2016-09-15 14:42:29 +03:00
rijndael.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
rijndael.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00
rijndael.tbl Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
sha1.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
sha1.h Fix typos. 2016-03-15 18:06:11 -04:00
sha2.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
sha2.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00