mirror of
https://github.com/MariaDB/server.git
synced 2025-08-05 13:16:09 +03:00
new variant of passwd() by S. Vojtovich
server-tools/instance-manager/Makefile.am: link get_password() to the IM server-tools/instance-manager/options.cc: make passwd() function to read password in mysqladmin way
This commit is contained in:
@@ -36,6 +36,7 @@ liboptions_a_CPPFLAGS= $(CPPFLAGS) \
|
|||||||
-DPROTOCOL_VERSION=@PROTOCOL_VERSION@
|
-DPROTOCOL_VERSION=@PROTOCOL_VERSION@
|
||||||
|
|
||||||
liboptions_a_SOURCES= options.h options.cc priv.h priv.cc
|
liboptions_a_SOURCES= options.h options.cc priv.h priv.cc
|
||||||
|
liboptions_a_LIBADD= $(top_builddir)/libmysql/get_password.$(OBJEXT)
|
||||||
|
|
||||||
# MySQL sometimes uses symlinks to reuse code
|
# MySQL sometimes uses symlinks to reuse code
|
||||||
# All symlinked files are grouped in libnet.a
|
# All symlinked files are grouped in libnet.a
|
||||||
|
@@ -151,27 +151,31 @@ static void usage()
|
|||||||
|
|
||||||
static void passwd()
|
static void passwd()
|
||||||
{
|
{
|
||||||
char user[1024], pw[1024], *p;
|
char user[1024], *p;
|
||||||
|
const char *pw1, *pw2;
|
||||||
|
char pw1msg[]= "Enter password: ";
|
||||||
|
char pw2msg[]= "Re-type password: ";
|
||||||
char crypted_pw[SCRAMBLED_PASSWORD_CHAR_LENGTH + 1];
|
char crypted_pw[SCRAMBLED_PASSWORD_CHAR_LENGTH + 1];
|
||||||
|
|
||||||
fprintf(stderr, "Creating record for new user.\n");
|
fprintf(stderr, "Creating record for new user.\n");
|
||||||
fprintf(stderr, "Enter user name: ");
|
fprintf(stderr, "Enter user name: ");
|
||||||
if (!fgets(user, sizeof(user), stdin))
|
if (! fgets(user, sizeof(user), stdin))
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Unable to read user.\n");
|
fprintf(stderr, "Unable to read user.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((p= strchr(user, '\n'))) *p= 0;
|
if ((p= strchr(user, '\n'))) *p= 0;
|
||||||
|
|
||||||
fprintf(stderr, "Enter password: ");
|
pw1= get_tty_password(pw1msg);
|
||||||
if (! fgets(pw, sizeof(pw), stdin))
|
pw2= get_tty_password(pw2msg);
|
||||||
|
|
||||||
|
if (strcmp(pw1, pw2))
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Unable to read password.\n");
|
fprintf(stderr, "Sorry, passwords do not match.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((p= strchr(pw, '\n'))) *p= 0;
|
|
||||||
|
|
||||||
make_scrambled_password(crypted_pw, pw);
|
make_scrambled_password(crypted_pw, pw1);
|
||||||
printf("%s:%s\n", user, crypted_pw);
|
printf("%s:%s\n", user, crypted_pw);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user