mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-06 15:24:56 +08:00
initdb: Update check_need_password for new options
Change things so that something like initdb --auth-local=peer --auth-host=md5 does not cause a "must specify a password" error, like initdb -A md5 does.
This commit is contained in:
parent
567787f216
commit
e4ffa86b57
@ -2574,13 +2574,19 @@ check_authmethod_valid(const char *authmethod, const char **valid_methods, const
|
||||
}
|
||||
|
||||
static void
|
||||
check_need_password(const char *authmethod)
|
||||
check_need_password(const char *authmethodlocal, const char *authmethodhost)
|
||||
{
|
||||
if ((strcmp(authmethod, "md5") == 0 ||
|
||||
strcmp(authmethod, "password") == 0) &&
|
||||
if ((strcmp(authmethodlocal, "md5") == 0 ||
|
||||
strcmp(authmethodlocal, "password") == 0) &&
|
||||
(strcmp(authmethodhost, "md5") == 0 ||
|
||||
strcmp(authmethodhost, "password") == 0) &&
|
||||
!(pwprompt || pwfilename))
|
||||
{
|
||||
fprintf(stderr, _("%s: must specify a password for the superuser to enable %s authentication\n"), progname, authmethod);
|
||||
fprintf(stderr, _("%s: must specify a password for the superuser to enable %s authentication\n"), progname,
|
||||
(strcmp(authmethodlocal, "md5") == 0 ||
|
||||
strcmp(authmethodlocal, "password") == 0)
|
||||
? authmethodlocal
|
||||
: authmethodhost);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
@ -2792,8 +2798,7 @@ main(int argc, char *argv[])
|
||||
check_authmethod_valid(authmethodlocal, auth_methods_local, "local");
|
||||
check_authmethod_valid(authmethodhost, auth_methods_host, "host");
|
||||
|
||||
check_need_password(authmethodlocal);
|
||||
check_need_password(authmethodhost);
|
||||
check_need_password(authmethodlocal, authmethodhost);
|
||||
|
||||
if (strlen(pg_data) == 0)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user