1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-08 11:42:09 +03:00

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
This commit is contained in:
Heikki Linnakangas
2017-05-03 11:19:07 +03:00
parent af2c5aa88d
commit 8f8b9be51f
13 changed files with 299 additions and 84 deletions

View File

@ -274,11 +274,14 @@ main(int argc, char *argv[])
{
char *encrypted_password;
encrypted_password = PQencryptPassword(newpassword,
newuser);
encrypted_password = PQencryptPasswordConn(conn,
newpassword,
newuser,
NULL);
if (!encrypted_password)
{
fprintf(stderr, _("Password encryption failed.\n"));
fprintf(stderr, _("%s: password encryption failed: %s"),
progname, PQerrorMessage(conn));
exit(1);
}
appendStringLiteralConn(&sql, encrypted_password, conn);