mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
Added help for --local-infile
Fix for bug on intel where (int32) 1 << 32 == 1, which gave problems when using 32 keys. Allow SET PASSWORD for anonymous user
This commit is contained in:
@@ -765,11 +765,6 @@ bool change_password(THD *thd, const char *host, const char *user,
|
||||
char *new_password)
|
||||
{
|
||||
uint length=0;
|
||||
if (!user[0])
|
||||
{
|
||||
send_error(&thd->net, ER_PASSWORD_ANONYMOUS_USER);
|
||||
return 1;
|
||||
}
|
||||
if (!initialized)
|
||||
{
|
||||
send_error(&thd->net, ER_PASSWORD_NOT_ALLOWED); /* purecov: inspected */
|
||||
@@ -781,15 +776,21 @@ bool change_password(THD *thd, const char *host, const char *user,
|
||||
length=(uint) strlen(new_password);
|
||||
new_password[length & 16]=0;
|
||||
|
||||
if (!thd || (!thd->slave_thread && ( strcmp(thd->user,user) ||
|
||||
my_strcasecmp(host,thd->host ? thd->host : thd->ip))))
|
||||
if (!thd->slave_thread &&
|
||||
(strcmp(thd->user,user) ||
|
||||
my_strcasecmp(host,thd->host ? thd->host : thd->ip)))
|
||||
{
|
||||
if (check_access(thd, UPDATE_ACL, "mysql",0,1))
|
||||
return 1;
|
||||
}
|
||||
if (!thd->slave_thread && !thd->user[0])
|
||||
{
|
||||
send_error(&thd->net, ER_PASSWORD_ANONYMOUS_USER);
|
||||
return 1;
|
||||
}
|
||||
VOID(pthread_mutex_lock(&acl_cache->lock));
|
||||
ACL_USER *acl_user;
|
||||
if (!(acl_user= find_acl_user(host,user)) || !acl_user->user)
|
||||
if (!(acl_user= find_acl_user(host,user)))
|
||||
{
|
||||
send_error(&thd->net, ER_PASSWORD_NO_MATCH);
|
||||
VOID(pthread_mutex_unlock(&acl_cache->lock));
|
||||
@@ -797,7 +798,8 @@ bool change_password(THD *thd, const char *host, const char *user,
|
||||
}
|
||||
if (update_user_table(thd,
|
||||
acl_user->host.hostname ? acl_user->host.hostname : "",
|
||||
acl_user->user, new_password))
|
||||
acl_user->user ? acl_user->user : "",
|
||||
new_password))
|
||||
{
|
||||
VOID(pthread_mutex_unlock(&acl_cache->lock)); /* purecov: deadcode */
|
||||
send_error(&thd->net,0); /* purecov: deadcode */
|
||||
@@ -817,7 +819,7 @@ bool change_password(THD *thd, const char *host, const char *user,
|
||||
qinfo.q_len =
|
||||
my_sprintf(buff,
|
||||
(buff,"SET PASSWORD FOR \"%-.120s\"@\"%-.120s\"=\"%-.120s\"",
|
||||
acl_user->user,
|
||||
acl_user->user ? acl_user->user : "",
|
||||
acl_user->host.hostname ? acl_user->host.hostname : "",
|
||||
new_password));
|
||||
mysql_update_log.write(thd,buff,qinfo.q_len);
|
||||
|
||||
Reference in New Issue
Block a user