summaryrefslogtreecommitdiff
path: root/sql-common
Commit message (Collapse)AuthorAgeFilesLines
* Preliminary support for options --secure-auth, unknown2003-07-081-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --old-passwords Support for option --old-protocol was removed. Some test performed. Tests for SSL and replication are pending. More strict following to specification for --old-passwords is in the TODO. include/mysql_com.h: support for 3.20 passwords removed from scramble_323 include/mysqld_error.h: added error code for --secure-auth mode libmysql/libmysql.c: removed support for 3.20 password and protocol version 9 mysql-test/r/connect.result: added check for new syntax of set password mysql-test/r/func_crypt.result: tests for two-argument of password() were removed. Instead added tests for cooperation of password() and old_passwords session/global variable, passwords() and spaces in argument string mysql-test/t/connect.test: added check for new syntax of set password mysql-test/t/func_crypt.test: tests for two-argument of password() were removed. Instead added tests for cooperation of password() and old_passwords session/global variable, passwords() and spaces in argument string sql-common/client.c: removed support for 3.20 servers and protocol version 9 sql/item_strfunc.h: fixed comment sql/mysql_priv.h: added declarartion for option opt_secure_auth sql/mysqld.cc: added option opt_secure_auth option old-password placed according to sort order sql/password.c: removed support for 3.20 clients and old scrambles sql/set_var.cc: added system variable 'secure_auth' added system/thread variable 'old_passwords' sql/set_var.h: sys_old_passwords needs to be exported because sys_old_passwords.after_update is used in sql_acl.cc sql/sql_acl.cc: support for 3.20 passwords removed now acl_init honors options works properly with options/variables --secure-auth and --old-passwords sql/sql_acl.h: support for 3.20 clients removed sql/sql_class.h: added system/thread variable old_passwords sql/sql_parse.cc: support for 3.20 clients removed now check_user takes into account option secure_auth sql/sql_yacc.yy: global variable use_old_passwords replaced with thread-specific variable old_passwords sql/share/czech/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/danish/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/dutch/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/english/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/estonian/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/french/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/german/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/greek/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/hungarian/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/italian/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/japanese/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/korean/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/norwegian-ny/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/norwegian/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/polish/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/portuguese/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/romanian/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/russian/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/serbian/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/slovak/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/spanish/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/swedish/errmsg.txt: error message for --secure-auth added (as suggested by Paul) sql/share/ukrainian/errmsg.txt: error message for --secure-auth added (as suggested by Paul)
* Bug fixes for authenticationunknown2003-07-041-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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')
* First version of new authentification procedure: now authentification is ↵unknown2003-07-011-102/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | one-stage (instead of two-stage in 4.1) For now following tasks have been done: - PASSWORD() function was rewritten. PASSWORD() now returns SHA1 hash_stage2; for new passwords user.password contains '*'hash_stage2; sql_yacc.yy also fixed; - password.c: new functions were implemented, old rolled back to 4.0 state - server code was rewritten to use new authorization algorithm (check_user(), change user, and other stuff in sql/sql_parse.cc) - client code was rewritten to use new authorization algorithm (mysql_real_connect, myslq_authenticate in sql-common/client.c) - now server barks on 45-byte-length 4.1.0 passwords and refuses 4.1.0-style authentification. Users with 4.1.0 passwords are blocked (sql/sql_acl.cc) - mysqladmin.c was fixed to work correctly with new passwords Tests for 4.0-4.1.1, 4.1.1-4.1.1 (with or without db/password) logons was performed; mysqladmin also was tested. Additional check are nevertheless necessary. BitKeeper/etc/ignore: Added start_mysqld.sh mysys/main.cc to the ignore list client/mysqladmin.c: fixed with new password api include/mysql.h: So as scramble_323 accepts only null-terminated message, two scramble buffs are necessary. gotta be fixed include/mysql_com.h: new constants and password.c api changes libmysql/libmysql.c: mysql_change_user rewritten to work with new password api scripts/mysql_create_system_tables.sh: fixed 'Password' column length to 41 scripts/mysql_fix_privilege_tables.sql: fixed 'Password' column length to 41 sql-common/client.c: mysql_real_connect rewritten to support new handshake procedure sql/item_strfunc.cc: Item_func_password and Item_func_old_password rewritten with new password api sql/item_strfunc.h: bit commented, numbers replaced with #defined constants sql/mysql_priv.h: removed unnecessary declaration as now all constants defined is in mysql_com.h sql/mysqld.cc: scramble initialization moved to sql_parce.cc:check_connection sql/password.c: All 4.1 functions were rolled back to 4.0 with attempt to save all possible 4.0-4.1 changes. Names for 4.0 functions were suffixed with '_323' Functions for new handshake were added. sql/slave.cc: Fixed to new constant; Bug #766 remains to be fixed sql/slave.h: fixed to new constant; Buf #766 remains to be fixed sql/sql_acl.cc: rewritten to support new passwords (41 byte-long) and password api sql/sql_acl.h: ditto sql/sql_class.cc: initialization for new members added sql/sql_class.h: same thing as in struct mysql - scramble is used for new family of functions, scramble_323 - for old sql/sql_parse.cc: check_connections was renamed to check_connection as this name reflects better what this function does authorization part of check_connection was rewritten check_user was rewritten with new password and acl api new function 'authenticate', which optionally re-request scramble from client was added fixed some typos COM_CHANGE_USER piece of dipsatch_command() was rewritten sql/sql_repl.h: HASH_PASSWORD_LENGTH replaced with SCRAMBLED_PASSWORD_CHAR_LENGTH bug #766 remains sql/sql_yacc.yy: Two-argument form of PASSWORD() was removed PASSWORD() function was fixed with new password api. BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
* Fixed some new memory leaksunknown2003-06-241-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updated VC++ files VC++Files/client/mysql.dsp: Update of VC++ files VC++Files/client/mysqlclient.dsp: Update of VC++ files VC++Files/libmysqld/examples/test_libmysqld.dsp: Update of VC++ files VC++Files/libmysqld/libmysqld.def: Update of VC++ files VC++Files/libmysqld/libmysqld.dsp: Update of VC++ files VC++Files/myisam/myisam.dsp: Update of VC++ files VC++Files/mysql.dsw: Update of VC++ files VC++Files/sql/mysqld.dsp: Update of VC++ files include/mysql.h: Add missing client functions to embedded server libmysql/libmysql.def: sort functions to enable comparison with libmysqld.def libmysqld/libmysqld.c: Add missing client functions to embedded server libmysqld/libmysqld.def: sort functions to enable comparison with libmysql.def Added missing functions myisam/mi_preload.c: Fixed compiler warning. Small code cleanup scripts/make_win_src_distribution.sh: Fixed typo Don't run zip in verbose mode scripts/mysql_create_system_tables.sh: Change so that localhost has full access (to make this like 4.0) scripts/mysql_fix_privilege_tables.sh: Allow on to run this from the source distribution sql-common/client.c: Fixed memory leak sql/item_sum.cc: Removed compiler warning sql/slave.cc: Cleanup sql/sql_client.cc: Portability fix sql/sql_help.cc: Fixed memory leak
* - added sql-common subdirectory and sql_common.h to source distributionunknown2003-06-181-0/+21
| | | | | | | | | | Makefile.am: - added sql-common directory to distribution configure.in: - minor fixes - added sql-common/Makefile to AC_OUTPUT include/Makefile.am: - added sql_common.h to distribution
* mergeunknown2003-06-161-4/+4
|\ | | | | | | | | | | | | sql-common/client.c: Auto merged scripts/mysql_install_db.sh: Use local version
| * Fix for compilation error.unknown2003-06-161-4/+4
| | | | | | | | | | | | | | | | | | | | | | Compiler can signal error when init_sigpipe_variables expands as empty place. Had to remove all semicolons after init_sigpipe_variables libmysql/client_settings.h: semicolon added sql-common/client.c: we don't need semicolons after init_sigpipe_variables
* | Fixes for make_win_src_distributionsunknown2003-06-151-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed compiler warnings scripts/make_win_src_distribution.sh: Added option --dirname Also copy sql-common directory Create mysql data files even if mysqld is not installed scripts/mysql_create_system_tables.sh: Update for usage with make_win_src_distribution scripts/mysql_install_db.sh: Update for usage with make_win_src_distribution sql-common/client.c: Portability fix sql/item_cmpfunc.cc: Removed compiler warning sql/sql_acl.cc: Indentation cleanup Removed compiler warning sql/sql_parse.cc: Removed compiler warning sql/sql_select.cc: Removed compiler warning sql/sql_yacc.yy: Removed compiler warning strings/ctype-utf8.c: Removed compiler warning
* Cleanup after split of libmysql.c to client.c and libmysql.c. A 4.1 ↵unknown2003-06-141-441/+380
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master/slave will now use the 4.1 protocol Fixed wrong value for SQLSTATE_LENGTH Added CLIENT_REMEMBER_OPTIONS to mysql_real_connect() Changed mysql_port and mysql_unix_port to mysqld_xxxx client/mysql.cc: Removed valgrind & compiler warnings client/sql_string.h: Fix to remove valgrind warnings include/mysql.h: Added read_timeout and write_timeout to mysql options struct. This is to be used for slave when connection to master. code cleanup include/mysql_com.h: Fixed wrong value for SQLSTATE_LENGTH Added CLIENT_REMEMBER_OPTIONS include/sql_common.h: Cleanup after split of libmysql.c to client.c and libmysql.c include/sql_state.h: Removed default states libmysql/client_settings.h: Cleanup after split of libmysql.c to client.c and libmysql.c libmysql/libmysql.c: Cleanup after split of libmysql.c to client.c and libmysql.c mysql-test/r/type_blob.result: Update results after someone updated error messages without running tests mysys/charset.c: More debug information mysys/errors.c: Fixed wrong error message sql-common/client.c: Cleanup after split of libmysql.c to client.c and libmysql.c sql/Makefile.am: Added sql_client.cc sql/client_settings.h: Cleanup after split of libmysql.c to client.c and libmysql.c sql/log.cc: Changed mysql_port and mysql_unix_port to mysqld_xxxx sql/mysql_priv.h: Changed mysql_port and mysql_unix_port to mysqld_xxxx sql/mysqld.cc: Changed mysql_port and mysql_unix_port to mysqld_xxxx sql/protocol.cc: Fix for SQLSTATE_LENGTH Moved function to sql_client.c sql/repl_failsafe.cc: Cleanup after split of libmysql.c to client.c and libmysql.c sql/set_var.cc: Changed mysql_port and mysql_unix_port to mysqld_xxxx sql/slave.cc: Cleanup after split of libmysql.c to client.c and libmysql.c
* client.c:unknown2003-06-061-1/+1
| | | | | | | | Compilation falure fix sql-common/client.c: Compilation falure fix
* After merge fixesunknown2003-06-051-27/+27
| | | | | | | | | | | mysql-test/r/repair_part1.result: Rename: mysql-test/r/repair.result -> mysql-test/r/repair_part1.result mysql-test/t/repair_part1.test: Rename: mysql-test/t/repair.test -> mysql-test/t/repair_part1.test include/sql_common.h: Declare not_error_sqlstate scripts/Makefile.am: Added back fill_help_tables.sql
* client.c:unknown2003-06-041-0/+4
| | | | | | | | Missed file from earlier commit sql-common/client.c: Missed file from earlier commit
* Windows build fixups (Fix for slave_net_timeout)unknown2003-06-031-1/+1
| | | | | | | | | VC++Files/libmysqld/libmysqld.dsp: Remove the old files from Embedded library sql/slave.h: Fix for client.c - slave_net_timeout sql-common/client.c: Fix warning
* Fix windows build after applyiing the changes from new client.c(sql-common)unknown2003-06-031-1/+205
| | | | | | | | | | | | | | | | | | | | | NOTE: Still the build fails to compile core server on Windows due to slave_net_timeout linker error from client.obj and make sure to have the next changeset, which fixes this. sql/item_geofunc.cc: Fix warnings sql/sql_help.cc: Fix compiler errors sql-common/client.c: Delete and move redefination of shared memory stuff libmysql/libmysql.c: Fix for redefination stuff from client.c VC++Files/client/mysqlclient.dsp: add client.c VC++Files/libmysql/libmysql.dsp: add client.c VC++Files/sql/mysqld.dsp: add client.c and remove old convert.cpp and mini_client.c
* SCRUM:unknown2003-06-031-33/+32
| | | | | | | | | | | | | | | | | | | | | | | | splittiln common client's parts include/sql_common.h: superfluous #ifdef-s removed libmysql/client_settings.h: superfluous #ifdef-s removed libmysql/libmysql.c: some litter removed libmysqld/lib_sql.cc: here we had wrong parameters mysys/default.c: this is not needed anymore - calling code fixed sql-common/client.c: code trimmed and simplified sql/client_settings.h: code trimmed sql/repl_failsafe.cc: option's initialization added sql/slave.cc: option's initialization added
* SCRUM:unknown2003-05-311-259/+325
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here is another pack of changes about gathering common client code in sql-common/client.c. Now i symlink the client.c from sql/ and libmysql/. These directories have client_settings.h files to be included to client.c. It contains defines and declarations to compile client.c in appropriate manner. Also i've added include/sql_common.h, containing declarations of what is exported from client.c I removed as many #ifdef-s from client.c as i dared to. I think it's better push it with some extra #ifdef-s now (of course, if everythihg besides it is ok) so other people can check the code. Makefile.am: symlinking of sql-common/client.c was added include/mysql.h: MYSQL_CLIENT define moved here from libmysql/Makefile libmysql/Makefile.am: ../libmysql/client_settings.h added to the list of necessary h-files libmysql/Makefile.shared: client.lo added to the list of objects libmysql/libmysql.c: a lot of changes about separating code between libmysql.c and client.c mysys/default.c: changed to keep compiler happy sql-common/client.c: a lot of changes about code separating sql/Makefile.am: mini_client.h has to be removed sql/repl_failsafe.cc: mysql_real_connect prototype was unified, so we've got to set connection timeout separately sql/slave.cc: trimming code to the changed function's prototypes sql/sql_repl.cc: mini_client isn't needed anymore
* SCRUMunknown2003-05-021-0/+2299
| | | | | | | | | | | | | | | | | | | common parts of libmysql.c and sql/mini_client.cc moved to sql-common/client.c names of functions now are same in both cases libmysql/libmysql.c: many parts moved to sql-common/client.c libmysqld/Makefile.am: superfluous files removed sql/mini_client.cc: most of the file moved to sql-common/client.c sql/mini_client.h: mc_ prefixes were deleted sql/repl_failsafe.cc: mc_ prefixes removed sql/slave.cc: _mc prefixes removed
* SCRUMunknown2003-04-231-0/+64
Protocol_cursor class and sql-common/ directory Makefile.am: pack.c added to linked sources include/mysql.h: net_field_length_ll declaration added include/mysql_com.h: net_field_length declaration added libmysql/Makefile.am: sql-common files symlinked libmysql/Makefile.shared: pack.lo target added libmysql/libmysql.c: net_field_length removed from here sql/Makefile.am: pack.c added to the sources sql/mini_client.cc: mc_net_field_length functions replaced with net_field_length sql/protocol.h: Protocol_cursor class added