mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
1. add --plugin-dir and --default-auth to mysqltest.
2. dialog plugin now always returns mysql->password if non-empty and the first question is of password type 3. split get_tty_password into get_tty_password_buff and strdup. 4. dialog plugin now uses get_tty_password by default 5. dialog.test 6. moved small tests of individual plugins into a dedicated suite
This commit is contained in:
@ -120,7 +120,6 @@ IF(WIN32)
|
||||
ENDIF(WIN32)
|
||||
ADD_DEPENDENCIES(libmysql GenError)
|
||||
TARGET_LINK_LIBRARIES(libmysql mysqlclient ws2_32)
|
||||
ADD_DEFINITIONS(-DHAVE_DLOPEN)
|
||||
|
||||
MYSQL_INSTALL_TARGETS(mysqlclient DESTINATION lib COMPONENT Development)
|
||||
MYSQL_INSTALL_TARGETS(libmysql DESTINATION lib COMPONENT SharedLibraries)
|
||||
|
@ -75,12 +75,10 @@
|
||||
#define _cputs(A) putstring(A)
|
||||
#endif
|
||||
|
||||
char *get_tty_password(const char *opt_message)
|
||||
void get_tty_password_buff(const char *opt_message, char *to, size_t length)
|
||||
{
|
||||
char to[80];
|
||||
char *pos=to,*end=to+sizeof(to)-1;
|
||||
char *pos=to,*end=to+length-1;
|
||||
int i=0;
|
||||
DBUG_ENTER("get_tty_password");
|
||||
_cputs(opt_message ? opt_message : "Enter password: ");
|
||||
for (;;)
|
||||
{
|
||||
@ -106,7 +104,6 @@ char *get_tty_password(const char *opt_message)
|
||||
pos--; /* Allow dummy space at end */
|
||||
*pos=0;
|
||||
_cputs("\n");
|
||||
DBUG_RETURN(my_strdup(to,MYF(MY_FAE)));
|
||||
}
|
||||
|
||||
#else
|
||||
@ -159,22 +156,19 @@ static void get_password(char *to,uint length,int fd, my_bool echo)
|
||||
#endif /* ! HAVE_GETPASS */
|
||||
|
||||
|
||||
char *get_tty_password(const char *opt_message)
|
||||
void get_tty_password_buff(const char *opt_message, char *buff, size_t buflen)
|
||||
{
|
||||
#ifdef HAVE_GETPASS
|
||||
char *passbuff;
|
||||
#else /* ! HAVE_GETPASS */
|
||||
TERMIO org,tmp;
|
||||
#endif /* HAVE_GETPASS */
|
||||
char buff[80];
|
||||
|
||||
DBUG_ENTER("get_tty_password");
|
||||
|
||||
#ifdef HAVE_GETPASS
|
||||
passbuff = getpass(opt_message ? opt_message : "Enter password: ");
|
||||
|
||||
/* copy the password to buff and clear original (static) buffer */
|
||||
strnmov(buff, passbuff, sizeof(buff) - 1);
|
||||
strnmov(buff, passbuff, buflen - 1);
|
||||
#ifdef _PASSWORD_LEN
|
||||
memset(passbuff, 0, _PASSWORD_LEN);
|
||||
#endif
|
||||
@ -191,7 +185,7 @@ char *get_tty_password(const char *opt_message)
|
||||
tmp.c_cc[VMIN] = 1;
|
||||
tmp.c_cc[VTIME] = 0;
|
||||
tcsetattr(fileno(stdin), TCSADRAIN, &tmp);
|
||||
get_password(buff, sizeof(buff)-1, fileno(stdin), isatty(fileno(stdout)));
|
||||
get_password(buff, buflen, fileno(stdin), isatty(fileno(stdout)));
|
||||
tcsetattr(fileno(stdin), TCSADRAIN, &org);
|
||||
#elif defined(HAVE_TERMIO_H)
|
||||
ioctl(fileno(stdin), (int) TCGETA, &org);
|
||||
@ -200,7 +194,7 @@ char *get_tty_password(const char *opt_message)
|
||||
tmp.c_cc[VMIN] = 1;
|
||||
tmp.c_cc[VTIME]= 0;
|
||||
ioctl(fileno(stdin),(int) TCSETA, &tmp);
|
||||
get_password(buff,sizeof(buff)-1,fileno(stdin),isatty(fileno(stdout)));
|
||||
get_password(buff,buflen-1,fileno(stdin),isatty(fileno(stdout)));
|
||||
ioctl(fileno(stdin),(int) TCSETA, &org);
|
||||
#else
|
||||
gtty(fileno(stdin), &org);
|
||||
@ -208,13 +202,20 @@ char *get_tty_password(const char *opt_message)
|
||||
tmp.sg_flags &= ~ECHO;
|
||||
tmp.sg_flags |= RAW;
|
||||
stty(fileno(stdin), &tmp);
|
||||
get_password(buff,sizeof(buff)-1,fileno(stdin),isatty(fileno(stdout)));
|
||||
get_password(buff,buflen-1,fileno(stdin),isatty(fileno(stdout)));
|
||||
stty(fileno(stdin), &org);
|
||||
#endif
|
||||
if (isatty(fileno(stdout)))
|
||||
fputc('\n',stdout);
|
||||
#endif /* HAVE_GETPASS */
|
||||
|
||||
DBUG_RETURN(my_strdup(buff,MYF(MY_FAE)));
|
||||
}
|
||||
#endif /*__WIN__*/
|
||||
|
||||
#ifndef MYSQL_DYNAMIC_PLUGIN
|
||||
char *get_tty_password(const char *opt_message)
|
||||
{
|
||||
char buff[80];
|
||||
get_tty_password_buff(opt_message, buff, sizeof(buff));
|
||||
return my_strdup(buff, MYF(MY_FAE));
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user