From d13f2dfdeb2b23c6abfb608885e8717878122a7b Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 30 Sep 2001 10:46:20 +0800 Subject: SSL compiles and works as far as can see. Continue testing.. Docs/manual.ja.texi: e-mail address fixed include/mysqld_error.h: Added 3 new errormessages related to SSL mysql-test/install_test_db.sh: SSL fix scripts/mysql_install_db.sh: mysql.user table changes to conform SSL ACL sql/lex.h: Fixed GRANT+SSL clause sql/share/czech/errmsg.txt: Added 3 new errormessages related to SSL sql/share/danish/errmsg.txt: Added 3 new errormessages related to SSL sql/share/dutch/errmsg.txt: Added 3 new errormessages related to SSL sql/share/english/errmsg.txt: Added 3 new errormessages related to SSL sql/share/estonian/errmsg.txt: Added 3 new errormessages related to SSL sql/share/french/errmsg.txt: Added 3 new errormessages related to SSL sql/share/german/errmsg.txt: Added 3 new errormessages related to SSL sql/share/greek/errmsg.txt: Added 3 new errormessages related to SSL sql/share/hungarian/errmsg.txt: Added 3 new errormessages related to SSL sql/share/italian/errmsg.txt: Added 3 new errormessages related to SSL sql/share/japanese/errmsg.txt: Added 3 new errormessages related to SSL sql/share/korean/errmsg.txt: Added 3 new errormessages related to SSL sql/share/norwegian-ny/errmsg.txt: Added 3 new errormessages related to SSL sql/share/norwegian/errmsg.txt: Added 3 new errormessages related to SSL sql/share/polish/errmsg.txt: Added 3 new errormessages related to SSL sql/share/portuguese/errmsg.txt: Added 3 new errormessages related to SSL sql/share/romanian/errmsg.txt: Added 3 new errormessages related to SSL sql/share/russian/errmsg.txt: Added 3 new errormessages related to SSL sql/share/slovak/errmsg.txt: Added 3 new errormessages related to SSL sql/share/spanish/errmsg.txt: Added 3 new errormessages related to SSL sql/share/swedish/errmsg.txt: Added 3 new errormessages related to SSL sql/share/ukrainian/errmsg.txt: Added 3 new errormessages related to SSL Docs/manual.texi: SSL fixes BUILD/compile-pentium-max: SSL was missing here acinclude.m4: typo fix alignment fix client/mysql.cc: SSL fixes client/mysqladmin.c: SSL fixes client/mysqlcheck.c: SSL fixes client/mysqldump.c: SSL fixes client/mysqlimport.c: SSL fixes client/mysqlshow.c: SSL fixes include/mysql.h: SSL fixes include/sslopt-case.h: SSL fixes include/sslopt-longopts.h: SSL fixes include/sslopt-usage.h: SSL fixes include/sslopt-vars.h: SSL fixes include/violite.h: SSL fixes cleanups libmysql/libmysql.c: SSL fixes libmysqld/lib_sql.cc: SSL fixes sql/mini_client.cc: SSL fixes sql/mysqld.cc: SSL fixes cleanup new variables to SHOW STATUS sql/sql_acl.cc: SSL fixes sql/sql_acl.h: SSL fixes sql/sql_lex.h: SSL fixes sql/sql_parse.cc: SSL fixes sql/sql_show.cc: New functions added sql/structs.h: New functions added vio/test-ssl.c: SSL fixes vio/test-sslclient.c: SSL fixes vio/test-sslserver.c: SSL fixes vio/viosocket.c: SSL fixes vio/viossl.c: SSL fixes cleanup vio/viosslfactories.c: SSL fixes sql/sql_yacc.yy: SSL fixes --- client/mysql.cc | 4 +++- client/mysqladmin.c | 2 +- client/mysqlcheck.c | 2 +- client/mysqldump.c | 2 +- client/mysqlimport.c | 2 +- client/mysqlshow.c | 2 +- 6 files changed, 8 insertions(+), 6 deletions(-) (limited to 'client') diff --git a/client/mysql.cc b/client/mysql.cc index 6382fd66f35..dbaff8e57f5 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -24,6 +24,7 @@ * Jani Tolonen * Matt Wagner * Jeremy Cole + * Tonu Samuel * **/ @@ -1232,6 +1233,7 @@ You can turn off this feature to get a quicker startup with -A\n\n"); } } } + /* FIXME: free() on small chunks is sloooowwww. glibc bug */ if (field_names) { for (i=0; field_names[i]; i++) { for (j=0; field_names[i][j]; j++) { @@ -2219,7 +2221,7 @@ sql_real_connect(char *host,char *database,char *user,char *password, #ifdef HAVE_OPENSSL if (opt_use_ssl) mysql_ssl_set(&mysql, opt_ssl_key, opt_ssl_cert, opt_ssl_ca, - opt_ssl_capath); + opt_ssl_capath, opt_ssl_cipher); #endif if (safe_updates) { diff --git a/client/mysqladmin.c b/client/mysqladmin.c index ca568a914f2..87a5be2aad2 100644 --- a/client/mysqladmin.c +++ b/client/mysqladmin.c @@ -265,7 +265,7 @@ int main(int argc,char *argv[]) #ifdef HAVE_OPENSSL if (opt_use_ssl) mysql_ssl_set(&mysql, opt_ssl_key, opt_ssl_cert, opt_ssl_ca, - opt_ssl_capath); + opt_ssl_capath, opt_ssl_cipher); #endif /* HAVE_OPENSSL */ if (sql_connect(&mysql,host,user,opt_password,option_wait)) error = 1; diff --git a/client/mysqlcheck.c b/client/mysqlcheck.c index 0f7bfb37ecf..75190e34267 100644 --- a/client/mysqlcheck.c +++ b/client/mysqlcheck.c @@ -591,7 +591,7 @@ static int dbConnect(char *host, char *user, char *passwd) #ifdef HAVE_OPENSSL if (opt_use_ssl) mysql_ssl_set(&mysql_connection, opt_ssl_key, opt_ssl_cert, opt_ssl_ca, - opt_ssl_capath); + opt_ssl_capath, opt_ssl_cipher); #endif if (!(sock = mysql_real_connect(&mysql_connection, host, user, passwd, NULL, opt_mysql_port, opt_mysql_unix_port, 0))) diff --git a/client/mysqldump.c b/client/mysqldump.c index 9d80fd9a6c9..3c9e36e8a70 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -523,7 +523,7 @@ static int dbConnect(char *host, char *user,char *passwd) #ifdef HAVE_OPENSSL if (opt_use_ssl) mysql_ssl_set(&mysql_connection, opt_ssl_key, opt_ssl_cert, opt_ssl_ca, - opt_ssl_capath); + opt_ssl_capath, opt_ssl_cipher); #endif if (!(sock= mysql_real_connect(&mysql_connection,host,user,passwd, NULL,opt_mysql_port,opt_mysql_unix_port, diff --git a/client/mysqlimport.c b/client/mysqlimport.c index d8f763b9653..1883b2a062e 100644 --- a/client/mysqlimport.c +++ b/client/mysqlimport.c @@ -400,7 +400,7 @@ static MYSQL *db_connect(char *host, char *database, char *user, char *passwd) #ifdef HAVE_OPENSSL if (opt_use_ssl) mysql_ssl_set(&mysql_connection, opt_ssl_key, opt_ssl_cert, opt_ssl_ca, - opt_ssl_capath); + opt_ssl_capath, opt_ssl_cipher); #endif if (!(sock= mysql_real_connect(&mysql_connection,host,user,passwd, database,opt_mysql_port,opt_mysql_unix_port, diff --git a/client/mysqlshow.c b/client/mysqlshow.c index 8bce1203df8..9c682047c0e 100644 --- a/client/mysqlshow.c +++ b/client/mysqlshow.c @@ -87,7 +87,7 @@ int main(int argc, char **argv) #ifdef HAVE_OPENSSL if (opt_use_ssl) mysql_ssl_set(&mysql, opt_ssl_key, opt_ssl_cert, opt_ssl_ca, - opt_ssl_capath); + opt_ssl_capath, opt_ssl_cipher); #endif if (!(mysql_real_connect(&mysql,host,user,opt_password, argv[0],opt_mysql_port,opt_mysql_unix_port, -- cgit v1.2.1 From 3dbd178881d1d4c0fc7ee878c0fb6dab1fc5b10d Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 30 Sep 2001 18:35:08 +0300 Subject: Portability fix strings/Makefile.am: Add missing ctype-latin1_de.cc --- client/mysql.cc | 1 - 1 file changed, 1 deletion(-) (limited to 'client') diff --git a/client/mysql.cc b/client/mysql.cc index dbaff8e57f5..06b76ac81e9 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -75,7 +75,6 @@ extern "C" { #endif #undef bcmp // Fix problem with new readline -#undef bzero #if defined( __WIN__) || defined(OS2) #include #else -- cgit v1.2.1 From 9e72e1ef534384ab53a0c5943399c946856bef76 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 2 Oct 2001 05:53:00 +0300 Subject: Cleaned up SSL documentation Fixes for embedded server Made key_cache more configurable Fixed that one can change key blocksize in MyISAM A lot of optimizations to make MyISAM slightly faster Docs/manual.texi: Cleaned up SSL documentation client/mysql.cc: Fixes for embedded server client/mysqltest.c: Fixes for embedded server Removed memory and file leaks include/my_global.h: Added C_MODE_START / C_MODE_END macros include/my_sys.h: Made key_cache more configurable include/myisam.h: Fixed that one can change MyISAM key block size include/mysql.h: Fixes for embedded server libmysql/libmysql.c: Cleanup libmysqld/Makefile.am: Cleanup libmysqld/examples/test-run: Added --debug libmysqld/lib_sql.cc: Cleanup libmysqld/libmysqld.c: Cleanup myisam/ft_boolean_search.c: Optimized mi_key_cmp to be faster myisam/ft_nlq_search.c: Optimized mi_key_cmp to be faster myisam/ft_search.c: Optimized mi_key_cmp to be faster myisam/mi_changed.c: Optimized mi_key_cmp to be faster myisam/mi_check.c: Optimized mi_key_cmp to be faster myisam/mi_create.c: Fixed that one can change blocksize by changing myisam_block_size myisam/mi_delete.c: Optimized mi_key_cmp to be faster myisam/mi_delete_all.c: Optimized mi_key_cmp to be faster myisam/mi_dynrec.c: Speed optimizations myisam/mi_info.c: Speed optimizations myisam/mi_key.c: Speed optimizations myisam/mi_locking.c: Speed optimizations myisam/mi_open.c: Fixed that one can change blocksize by changing myisam_block_size myisam/mi_page.c: Fixed that one can change blocksize by changing myisam_block_size myisam/mi_range.c: Speed optimizations myisam/mi_rkey.c: Speed optimizations myisam/mi_rnext.c: Speed optimizations myisam/mi_rnext_same.c: Speed optimizations myisam/mi_rprev.c: Speed optimizations myisam/mi_rsame.c: Speed optimizations myisam/mi_search.c: Speed optimizations myisam/mi_static.c: Fixed that one can change blocksize by changing myisam_block_size myisam/mi_statrec.c: Speed optimizations myisam/mi_test2.c: Added more test options myisam/mi_test_all.res: Added more test options myisam/mi_test_all.sh: Added more test options myisam/mi_write.c: Speed optimizations myisam/myisamchk.c: Added options to change block size and repair checksums myisam/myisamdef.h: Speed optimizations mysys/Makefile.am: Added bit handling functions mysys/mf_keycache.c: Made key_cache more configurable mysys/my_init.c: made my_init_done global scripts/mysql_fix_privilege_tables.sh: Fixes for SSL scripts/mysql_install_db.sh: Fixes for SSL sql/derror.cc: Don't call exit, call unireg_abort() sql/item_cmpfunc.cc: Speed optimizations sql/item_cmpfunc.h: Speed optimizations sql/mysql_priv.h: Fixes for embedded server sql/mysqld.cc: Fixes for embedded server --- client/mysql.cc | 7 ++++--- client/mysqltest.c | 37 +++++++++++++++++++------------------ 2 files changed, 23 insertions(+), 21 deletions(-) (limited to 'client') diff --git a/client/mysql.cc b/client/mysql.cc index 06b76ac81e9..91711752b09 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -243,7 +243,8 @@ static COMMANDS commands[] = { }; static const char *load_default_groups[]= { "mysql","client",0 }; -static const char *server_default_groups[]= { "server", "mysql_SERVER", 0 }; +static const char *server_default_groups[]= +{ "server", "embedded", "mysql_SERVER", 0 }; #ifdef HAVE_READLINE extern "C" void add_history(char *command); /* From readline directory */ @@ -271,7 +272,6 @@ int main(int argc,char *argv[]) { char buff[80]; - mysql_server_init(0, NULL, server_default_groups); MY_INIT(argv[0]); DBUG_ENTER("main"); DBUG_PROCESS(argv[0]); @@ -302,6 +302,7 @@ int main(int argc,char *argv[]) !(status.line_buff=batch_readline_init(max_allowed_packet+512,stdin))) exit(1); glob_buffer.realloc(512); + mysql_server_init(0, NULL, server_default_groups); completion_hash_init(&ht,50); bzero((char*) &mysql, sizeof(mysql)); if (sql_connect(current_host,current_db,current_user,opt_password, @@ -368,7 +369,6 @@ int main(int argc,char *argv[]) if (opt_outfile) end_tee(); mysql_end(0); - mysql_server_end(); #ifndef _lint DBUG_RETURN(0); // Keep compiler happy #endif @@ -398,6 +398,7 @@ sig_handler mysql_end(int sig) my_free(current_db,MYF(MY_ALLOW_ZERO_PTR)); my_free(current_host,MYF(MY_ALLOW_ZERO_PTR)); my_free(current_user,MYF(MY_ALLOW_ZERO_PTR)); + mysql_server_end(); my_end(info_flag ? MY_CHECK_ERROR | MY_GIVE_INFO : 0); exit(status.exit_status); } diff --git a/client/mysqltest.c b/client/mysqltest.c index 9a2d3e4c137..5942843c6ce 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -306,17 +306,18 @@ static void close_cons() static void close_files() { - do + DBUG_ENTER("close_files"); + for (; cur_file != file_stack ; cur_file--) { if (*cur_file != stdin && *cur_file) my_fclose(*cur_file,MYF(0)); - } while (cur_file-- != file_stack); + } + DBUG_VOID_RETURN; } static void free_used_memory() { uint i; - DBUG_ENTER("free_used_memory"); close_cons(); close_files(); hash_free(&var_hash); @@ -336,8 +337,8 @@ static void free_used_memory() dynstr_free(&ds_res); my_free(pass,MYF(MY_ALLOW_ZERO_PTR)); free_defaults(default_argv); + mysql_server_end(); my_end(MY_CHECK_ERROR); - DBUG_VOID_RETURN; } static void die(const char* fmt, ...) @@ -1303,15 +1304,11 @@ int read_line(char* buf, int size) { if ((*cur_file) != stdin) my_fclose(*cur_file,MYF(0)); - + cur_file--; + lineno--; if (cur_file == file_stack) return 1; - else - { - cur_file--; - lineno--; - continue; - } + continue; } switch(state) { @@ -1592,7 +1589,7 @@ int parse_args(int argc, char **argv) result_file = optarg; break; case 'x': - if (!(*cur_file = my_fopen(optarg, O_RDONLY, MYF(MY_WME)))) + if (!(*++cur_file = my_fopen(optarg, O_RDONLY, MYF(MY_WME)))) die("Could not open %s: errno = %d", optarg, errno); break; case 'p': @@ -1949,9 +1946,10 @@ int main(int argc, char** argv) struct st_query* q; my_bool require_file=0, q_send_flag=0; char save_file[FN_REFLEN]; - mysql_server_init(sizeof(embedded_server_args) / sizeof(char *) - 1, - embedded_server_args, embedded_server_groups); MY_INIT(argv[0]); + { + DBUG_ENTER("main"); + DBUG_PROCESS(argv[0]); save_file[0]=0; TMPDIR[0]=0; @@ -1976,9 +1974,12 @@ int main(int argc, char** argv) *block_ok = 1; init_dynamic_string(&ds_res, "", 0, 65536); parse_args(argc, argv); + if (mysql_server_init(sizeof(embedded_server_args) / sizeof(char *) - 1, + embedded_server_args, embedded_server_groups)) + die("Can't initialize MySQL server"); init_var_hash(); - if (!*cur_file) - *cur_file = stdin; + if (cur_file == file_stack) + *++cur_file = stdin; *lineno=1; if (!( mysql_init(&cur_con->mysql))) @@ -2114,10 +2115,10 @@ int main(int argc, char** argv) printf("ok\n"); } - mysql_server_end(); free_used_memory(); exit(error ? 1 : 0); - return error ? 1 : 0; /* Keep compiler happy */ + DBUG_RETURN(error ? 1 : 0); /* Keep compiler happy */ + } } -- cgit v1.2.1 From 77b021005ef3648501b3413ac5bce4a7db495cf0 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 2 Oct 2001 21:08:08 +0300 Subject: Fixed bug in INSERT DELAYED Fixed some problems in SHOW CREATE TABLE Fixed calculation of checksums in myisamchk Docs/manual.texi: ChangelogWh client/mysql.cc: Added comment myisam/mi_check.c: Fixed calcualtion of checksums sql/sql_insert.cc: Fixed bug in INSERT DELAYED sql/sql_show.cc: Fixed some problems in SHOW CREATE TABLE --- client/mysql.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'client') diff --git a/client/mysql.cc b/client/mysql.cc index 96536c9d5f0..5ae8df39863 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -937,7 +937,7 @@ static bool add_line(String &buffer,char *line,char *in_string) { // mSQL or postgreSQL style command ? if (!(inchar = (uchar) *++pos)) break; // readline adds one '\' - if (*in_string || inchar == 'N') + if (*in_string || inchar == 'N') // \N is short for NULL { // Don't allow commands in string *out++='\\'; *out++= (char) inchar; -- cgit v1.2.1 From abf1b80cf457702fd883c3a17b1d9eaed1c7c6b6 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 2 Oct 2001 22:21:14 +0300 Subject: Fix for make dist Made replication test portable Fixed buffer overrun bug in replication client/Makefile.am: Fix for make dist mysql-test/t/rpl000017-slave.sh: Made replication test portable sql/slave.cc: Fixed buffer overrun bug strings/strmake.c: More documentation --- client/Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'client') diff --git a/client/Makefile.am b/client/Makefile.am index 380c9f2acbe..d1b16870f67 100644 --- a/client/Makefile.am +++ b/client/Makefile.am @@ -19,13 +19,13 @@ INCLUDES = -I$(srcdir)/../include \ -I../include -I$(srcdir)/.. -I$(top_srcdir) \ -I.. -noinst_HEADERS = client_priv.h LIBS = @CLIENT_LIBS@ LDADD = @CLIENT_EXTRA_LDFLAGS@ ../libmysql/libmysqlclient.la bin_PROGRAMS = mysql mysqladmin mysqlcheck mysqlshow \ mysqldump mysqlimport mysqltest mysqlbinlog noinst_PROGRAMS = insert_test select_test thread_test -noinst_HEADERS = sql_string.h completion_hash.h my_readline.h +noinst_HEADERS = sql_string.h completion_hash.h my_readline.h \ + client_priv.h mysql_SOURCES = mysql.cc readline.cc sql_string.cc completion_hash.cc mysql_LDADD = @readline_link@ @TERMCAP_LIB@ $(LDADD) $(CXXLDFLAGS) mysql_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) -- cgit v1.2.1