mirror of
https://github.com/MariaDB/server.git
synced 2026-04-29 19:55:32 +02:00
Bug fixes for authentication
OLD_PASSWORD made a keyword to allow set password=old_password('abc') constructions.
BitKeeper/etc/ignore:
Added BitKeeper/post-commit BitKeeper/post-commit-manual build_tags.sh tests/connect_test BUILD/compile-pentium-maintainer to the ignore list
include/mysql_com.h:
scramble return type changed to void as now it's not used
libmysql/libmysql.c:
fixed bug with with failed authentification when scramble contained zero byte
sql-common/client.c:
applied patch from Lycos team
fixed bug with scramble containing zero byte
sql/item_create.cc:
removed create_func_old_password, create_func_password as they are not used any more
sql/item_create.h:
removed create_func_old_password, create_func_password as they are not used any more
sql/item_strfunc.cc:
Added alloc() function to Item_func_password, Item_func_old_password, which is used in sql_yacc.yy
sql/item_strfunc.h:
Added alloc() function to Item_func_password, Item_func_old_password, which is used in sql_yacc.yy
sql/lex.h:
OLD_PASSWORD now is keyword, to allow statements like
set password=old_password('abc')
sql/password.c:
fixed scramble return value
trailing zero now is not written
sql/sql_acl.cc:
incorporated patch from Lycos team
41 replaced with constant
acl_getroot rewritten to support ER_AUTH_... error
sql/sql_parse.cc:
authenticate merged with check_user
check_user return values reversed, support for ER_AUTH in check_user.added
sql/sql_yacc.yy:
OLD_PASSWORD now is keyword, to allow statements like
set password=old_password('abc')
This commit is contained in:
parent
dbb088b034
commit
ccbcf1c9da
13 changed files with 201 additions and 191 deletions
|
|
@ -446,22 +446,20 @@ make_scrambled_password(char *to, const char *password)
|
|||
Produce an obscure octet sequence from password and random
|
||||
string, recieved from the server. This sequence corresponds to the
|
||||
password, but password can not be easily restored from it. The sequence
|
||||
is then sent to the server for validation. Trailing zero is stored in
|
||||
the buf.
|
||||
is then sent to the server for validation. Trailing zero is not stored
|
||||
in the buf as it is not needed.
|
||||
This function is used by client to create authenticated reply to the
|
||||
server's greeting.
|
||||
SYNOPSIS
|
||||
scramble()
|
||||
buf OUT store scrambled string here. The buf must be at least
|
||||
SHA1_HASH_SIZE+1 bytes long.
|
||||
SHA1_HASH_SIZE bytes long.
|
||||
message IN random message, must be exactly SCRAMBLE_LENGTH long and
|
||||
NULL-terminated.
|
||||
password IN users' password
|
||||
RETURN VALUE
|
||||
end of scrambled string
|
||||
*/
|
||||
|
||||
char *
|
||||
void
|
||||
scramble(char *to, const char *message, const char *password)
|
||||
{
|
||||
SHA1_CONTEXT sha1_context;
|
||||
|
|
@ -483,8 +481,6 @@ scramble(char *to, const char *message, const char *password)
|
|||
/* xor allows 'from' and 'to' overlap: lets take advantage of it */
|
||||
sha1_result(&sha1_context, (uint8 *) to);
|
||||
my_crypt(to, (const uint8 *) to, hash_stage1, SCRAMBLE_LENGTH);
|
||||
to[SHA1_HASH_SIZE]= '\0';
|
||||
return to + SHA1_HASH_SIZE;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue