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
|
static void
|
||||||
check_need_password(const char *authmethod)
|
check_need_password(const char *authmethodlocal, const char *authmethodhost)
|
||||||
{
|
{
|
||||||
if ((strcmp(authmethod, "md5") == 0 ||
|
if ((strcmp(authmethodlocal, "md5") == 0 ||
|
||||||
strcmp(authmethod, "password") == 0) &&
|
strcmp(authmethodlocal, "password") == 0) &&
|
||||||
|
(strcmp(authmethodhost, "md5") == 0 ||
|
||||||
|
strcmp(authmethodhost, "password") == 0) &&
|
||||||
!(pwprompt || pwfilename))
|
!(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);
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2792,8 +2798,7 @@ main(int argc, char *argv[])
|
|||||||
check_authmethod_valid(authmethodlocal, auth_methods_local, "local");
|
check_authmethod_valid(authmethodlocal, auth_methods_local, "local");
|
||||||
check_authmethod_valid(authmethodhost, auth_methods_host, "host");
|
check_authmethod_valid(authmethodhost, auth_methods_host, "host");
|
||||||
|
|
||||||
check_need_password(authmethodlocal);
|
check_need_password(authmethodlocal, authmethodhost);
|
||||||
check_need_password(authmethodhost);
|
|
||||||
|
|
||||||
if (strlen(pg_data) == 0)
|
if (strlen(pg_data) == 0)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user