Add PQencryptPasswordConn function to libpq, use it in psql and createuser.
The new function supports creating SCRAM verifiers, in addition to md5
hashes. The algorithm is chosen based on password_encryption, by default.
This fixes the issue reported by Jeff Janes, that there was previously
no way to create a SCRAM verifier with "\password".
Michael Paquier and me
Discussion:
https://www.postgresql.org/message-id/CAMkU%3D1wfBgFPbfAMYZQE78p%3DVhZX7nN86aWkp0QcCp%3D%2BKxZ%3Dbg%40mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/8f8b9be51fd788bb11276df89606bc653163524e
Modified Files
--------------
doc/src/sgml/libpq.sgml | 67 ++++++++++++++++---
src/backend/libpq/auth-scram.c | 51 ++------------
src/backend/libpq/crypt.c | 2 +-
src/bin/psql/command.c | 4 +-
src/bin/scripts/createuser.c | 9 ++-
src/common/scram-common.c | 64 ++++++++++++++++++
src/include/common/scram-common.h | 3 +
src/include/libpq/scram.h | 4 +-
src/interfaces/libpq/exports.txt | 1 +
src/interfaces/libpq/fe-auth-scram.c | 35 ++++++++++
src/interfaces/libpq/fe-auth.c | 125 +++++++++++++++++++++++++++++++----
src/interfaces/libpq/fe-auth.h | 1 +
src/interfaces/libpq/libpq-fe.h | 1 +
13 files changed, 291 insertions(+), 76 deletions(-)