1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-28 13:01:41 +03:00

18 Commits

Author SHA1 Message Date
unknown
2c3cba310a merge commit
sql-common/client.c:
  comment fix
2003-07-31 15:47:00 +04:00
unknown
30ced7f7f6 Style fixes, comments for 4.1.1 authorization
Now special 1-byte packet is used for request of old password
Fixed bug with --skip-grant-tables and acl_getroot


include/mysql.h:
  removed scramble_323 member as now scramble_323 function does not count
  on trailing zero for scramble
include/mysql_com.h:
  updated declarations
libmysql/libmysql.c:
  now server sends special 1-byte packet instead of old scramble
  to re-request password.
  mysql->scramble_323 replaced with mysql->scramble
sql-common/client.c:
  now server sends special 1-byte packet instead of old scramble
  to re-request password.
  mysql->scramble_323 replaces with mysql->scramble
sql/password.c:
  comments beautified
  hash_password now accepts password length
sql/protocol.cc:
  added send_old_password_request function
sql/protocol.h:
  added send_old_password_request function
sql/sql_acl.cc:
  style fixes, bug with --skip-grant-tables and acl_getroot
  fixed
sql/sql_class.h:
  thd->scramble_323 removed as now
  old functions accept not null-terminated scrambles
sql/sql_crypt.cc:
  fixed with new hash_password proto
sql/sql_parse.cc:
  style fixes
  few comments added
2003-07-18 18:25:54 +04:00
unknown
78c3d9684c Preliminary support for options --secure-auth,
--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)
2003-07-08 02:36:14 +04:00
unknown
ccbcf1c9da 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')
2003-07-04 20:52:04 +04:00
unknown
dbb088b034 First version of new authentification procedure: now authentification is 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
2003-07-01 23:40:59 +04:00
unknown
fff1f663c2 Fixed some new memory leaks
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
2003-06-24 12:10:35 +03:00
unknown
19a4898c72 merge
sql-common/client.c:
  Auto merged
scripts/mysql_install_db.sh:
  Use local version
2003-06-16 01:13:23 +03:00
unknown
7ababc3bb4 Fix for compilation error.
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
2003-06-16 03:13:22 +05:00
unknown
ed1d28fdb6 Fixes for make_win_src_distributions
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
2003-06-15 23:24:37 +03:00
unknown
ccf59c3874 Cleanup after split of libmysql.c to client.c and libmysql.c. A 4.1 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
2003-06-14 11:37:42 +03:00
unknown
ac366a4ba5 client.c:
Compilation falure fix


sql-common/client.c:
  Compilation falure fix
2003-06-06 11:06:45 +05:00
unknown
824dd7f545 After merge fixes
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
2003-06-05 23:19:56 +03:00
unknown
020baadcfe client.c:
Missed file from earlier commit


sql-common/client.c:
  Missed file from earlier commit
2003-06-04 00:21:49 -07:00
unknown
b7eadb2a09 Windows build fixups (Fix for slave_net_timeout)
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
2003-06-03 22:57:42 -07:00
unknown
f403a2967b Fix windows build after applyiing the changes from new client.c(sql-common)
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
2003-06-03 20:59:32 -07:00
unknown
aed6de39b6 SCRUM:
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
2003-06-03 15:02:57 +05:00
unknown
62c7d2cd27 SCRUM:
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
2003-05-31 15:15:46 +05:00
unknown
a1e47ce8ee SCRUM
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
2003-05-02 21:07:41 +05:00