diff options
author | taca <taca@pkgsrc.org> | 2008-09-18 11:51:37 +0000 |
---|---|---|
committer | taca <taca@pkgsrc.org> | 2008-09-18 11:51:37 +0000 |
commit | 06c6aabaa4e5dd2a94710c56a71fe2a982c3db48 (patch) | |
tree | 95aa07fdb4fbceb83da20a09a8431f8a42285329 /databases/mysql5-server/patches | |
parent | 9ae23cc08cb0311740847ac1bc7ca08b06646d8c (diff) | |
download | pkgsrc-06c6aabaa4e5dd2a94710c56a71fe2a982c3db48.tar.gz |
Update mysql5-server pacakge to 5.0.67.
This is security fix.
For complete changes, please refer
http://dev.mysql.com/doc/refman/5.0/en/releasenotes-cs-5-0-67.html.
Here is a part of it.
Functionality added or changed:
Security Enhancement:
To enable stricter control over the location from which user-defined
functions can be loaded, the plugin_dir system variable has been
backported from MySQL 5.1. If the value is non-empty, user-defined
function object files can be loaded only from the directory named by this
variable. If the value is empty, the behavior that is used before 5.0.67
applies: The UDF object files must be located in a directory that is
searched by your system's dynamic linker. (Bug#37428)
Important Change: Incompatible Change:
The FEDERATED storage engine is now disabled by default in the .cnf files
shipped with MySQL distributions (my-huge.cnf, my-medium.cnf, and so
forth). This affects server behavior only if you install one of these
files. (Bug#37069)
Cluster API: Important Change:
Because NDB_LE_MemoryUsage.page_size_kb shows memory page sizes in bytes
rather than kilobytes, it has been renamed to page_size_bytes. The name
page_size_kb is now deprecated and thus subject to removal in a future
release, although it currently remains supported for reasons of backward
compatibility. See The Ndb_logevent_type Type, for more information about
NDB_LE_MemoryUsage. (Bug#30271)
Important Change:
Some changes were made to CHECK TABLE ... FOR UPGRADE and REPAIR TABLE
with respect to detection and handling of tables with incompatible .frm
files (files created with a different version of the MySQL server). These
changes also affect mysqlcheck because that program uses CHECK TABLE and
REPAIR table, and thus also mysql_upgrade because that program invokes
mysqlcheck.
Diffstat (limited to 'databases/mysql5-server/patches')
-rw-r--r-- | databases/mysql5-server/patches/patch-ad | 28 | ||||
-rw-r--r-- | databases/mysql5-server/patches/patch-ag | 8 | ||||
-rw-r--r-- | databases/mysql5-server/patches/patch-ai | 8 | ||||
-rw-r--r-- | databases/mysql5-server/patches/patch-an | 26 | ||||
-rw-r--r-- | databases/mysql5-server/patches/patch-ca | 8 | ||||
-rw-r--r-- | databases/mysql5-server/patches/patch-cb | 8 | ||||
-rw-r--r-- | databases/mysql5-server/patches/patch-cc | 8 | ||||
-rw-r--r-- | databases/mysql5-server/patches/patch-da | 12 | ||||
-rw-r--r-- | databases/mysql5-server/patches/patch-db | 85 |
9 files changed, 39 insertions, 152 deletions
diff --git a/databases/mysql5-server/patches/patch-ad b/databases/mysql5-server/patches/patch-ad index 597f554facb..be6b60f53fb 100644 --- a/databases/mysql5-server/patches/patch-ad +++ b/databases/mysql5-server/patches/patch-ad @@ -1,8 +1,8 @@ -$NetBSD: patch-ad,v 1.3 2008/07/01 09:22:59 tron Exp $ +$NetBSD: patch-ad,v 1.4 2008/09/18 11:51:37 taca Exp $ ---- sql/mysqld.cc.orig 2007-11-15 14:06:16.000000000 +0000 -+++ sql/mysqld.cc 2008-06-30 15:54:35.000000000 +0100 -@@ -174,7 +174,7 @@ +--- sql/mysqld.cc.orig 2008-08-04 15:20:07.000000000 +0300 ++++ sql/mysqld.cc 2008-09-16 13:46:29.000000000 +0300 +@@ -181,7 +181,7 @@ int initgroups(const char *,unsigned int); #endif @@ -11,15 +11,7 @@ $NetBSD: patch-ad,v 1.3 2008/07/01 09:22:59 tron Exp $ #include <ieeefp.h> #ifdef HAVE_FP_EXCEPT // Fix type conflict typedef fp_except fp_except_t; -@@ -323,6 +323,7 @@ - static char *default_collation_name; - static char compiled_default_collation_name[]= MYSQL_DEFAULT_COLLATION_NAME; - static char mysql_data_home_buff[2]; -+char mysql_unpacked_real_data_home[FN_REFLEN]; - static I_List<THD> thread_cache; - - #ifndef EMBEDDED_LIBRARY -@@ -3543,7 +3544,7 @@ +@@ -3705,7 +3705,7 @@ init_ssl(); #ifdef HAVE_LIBWRAP @@ -28,13 +20,3 @@ $NetBSD: patch-ad,v 1.3 2008/07/01 09:22:59 tron Exp $ openlog(libwrapName, LOG_PID, LOG_AUTH); #endif -@@ -7565,6 +7566,9 @@ - pos[1]= 0; - } - convert_dirname(mysql_real_data_home,mysql_real_data_home,NullS); -+ (void) fn_format(buff, mysql_real_data_home, "", "", -+ (MY_RETURN_REAL_PATH|MY_RESOLVE_SYMLINKS)); -+ (void) unpack_dirname(mysql_unpacked_real_data_home, buff); - convert_dirname(language,language,NullS); - (void) my_load_path(mysql_home,mysql_home,""); // Resolve current dir - (void) my_load_path(mysql_real_data_home,mysql_real_data_home,mysql_home); diff --git a/databases/mysql5-server/patches/patch-ag b/databases/mysql5-server/patches/patch-ag index 30404561ceb..af5fe67e266 100644 --- a/databases/mysql5-server/patches/patch-ag +++ b/databases/mysql5-server/patches/patch-ag @@ -1,8 +1,8 @@ -$NetBSD: patch-ag,v 1.6 2007/03/11 18:42:49 adam Exp $ +$NetBSD: patch-ag,v 1.7 2008/09/18 11:51:37 taca Exp $ ---- man/Makefile.in.orig 2007-03-05 20:22:54.000000000 +0100 -+++ man/Makefile.in -@@ -348,7 +348,7 @@ yassl_h_ln_cmd = @yassl_h_ln_cmd@ +--- man/Makefile.in.orig 2008-08-04 15:22:07.000000000 +0300 ++++ man/Makefile.in 2008-09-16 13:48:02.000000000 +0300 +@@ -354,7 +354,7 @@ yassl_libs = @yassl_libs@ yassl_taocrypt_extra_cxxflags = @yassl_taocrypt_extra_cxxflags@ zlib_dir = @zlib_dir@ diff --git a/databases/mysql5-server/patches/patch-ai b/databases/mysql5-server/patches/patch-ai index 1ee4fd0978e..7aa38819cdc 100644 --- a/databases/mysql5-server/patches/patch-ai +++ b/databases/mysql5-server/patches/patch-ai @@ -1,7 +1,7 @@ -$NetBSD: patch-ai,v 1.2 2007/03/11 18:42:49 adam Exp $ +$NetBSD: patch-ai,v 1.3 2008/09/18 11:51:37 taca Exp $ ---- include/my_pthread.h.orig 2007-03-05 20:21:12.000000000 +0100 -+++ include/my_pthread.h +--- include/my_pthread.h.orig 2008-08-04 15:19:12.000000000 +0300 ++++ include/my_pthread.h 2008-09-16 13:48:57.000000000 +0300 @@ -18,7 +18,13 @@ #ifndef _my_pthread_h #define _my_pthread_h @@ -16,7 +16,7 @@ $NetBSD: patch-ai,v 1.2 2007/03/11 18:42:49 adam Exp $ #ifndef ETIME #define ETIME ETIMEDOUT /* For FreeBSD */ #endif -@@ -338,7 +344,11 @@ int sigwait(sigset_t *set, int *sig); +@@ -326,7 +332,11 @@ #endif #ifndef HAVE_NONPOSIX_SIGWAIT diff --git a/databases/mysql5-server/patches/patch-an b/databases/mysql5-server/patches/patch-an index ba061818df4..51b353b2ea4 100644 --- a/databases/mysql5-server/patches/patch-an +++ b/databases/mysql5-server/patches/patch-an @@ -1,8 +1,8 @@ -$NetBSD: patch-an,v 1.4 2007/12/14 13:36:54 tron Exp $ +$NetBSD: patch-an,v 1.5 2008/09/18 11:51:37 taca Exp $ ---- mysql-test/Makefile.in.orig 2007-11-15 14:08:22.000000000 +0000 -+++ mysql-test/Makefile.in 2007-12-14 00:01:23.000000000 +0000 -@@ -367,7 +367,7 @@ +--- mysql-test/Makefile.in.orig 2008-08-04 15:22:09.000000000 +0300 ++++ mysql-test/Makefile.in 2008-09-16 13:52:20.000000000 +0300 +@@ -371,7 +371,7 @@ @HAVE_NDBCLUSTER_DB_FALSE@USE_NDBCLUSTER = \"\" @HAVE_NDBCLUSTER_DB_TRUE@USE_NDBCLUSTER = \"--ndbcluster\" benchdir_root = $(prefix) @@ -11,7 +11,7 @@ $NetBSD: patch-an,v 1.4 2007/12/14 13:36:54 tron Exp $ EXTRA_SCRIPTS = mysql-test-run-shell.sh install_test_db.sh valgrind.supp $(PRESCRIPTS) EXTRA_DIST = $(EXTRA_SCRIPTS) suite GENSCRIPTS = mysql-test-run-shell mysql-test-run install_test_db mtr -@@ -743,14 +743,13 @@ +@@ -749,15 +749,14 @@ -rm -rf `find $(distdir)/suite -type d -name SCCS` install-data-local: @@ -22,14 +22,16 @@ $NetBSD: patch-an,v 1.4 2007/12/14 13:36:54 tron Exp $ - $(DESTDIR)$(testdir)/std_data \ - $(DESTDIR)$(testdir)/std_data/ndb_backup50_data_be \ - $(DESTDIR)$(testdir)/std_data/ndb_backup50_data_le \ -- $(DESTDIR)$(testdir)/lib -+ $(mkinstalldirs) $(DESTDIR)$(testdir)/t \ -+ $(mkinstalldirs) $(DESTDIR)$(testdir)/r \ -+ $(mkinstalldirs) $(DESTDIR)$(testdir)/include \ -+ $(mkinstalldirs) $(DESTDIR)$(testdir)/std_data \ -+ $(mkinstalldirs) $(DESTDIR)$(testdir)/std_data/ndb_backup50_data_be \ -+ $(mkinstalldirs) $(DESTDIR)$(testdir)/std_data/ndb_backup50_data_le \ +- $(DESTDIR)$(testdir)/lib \ +- $(DESTDIR)$(testdir)/std_data/funcs_1 ++ $(mkinstalldirs) $(DESTDIR)$(testdir)/t ++ $(mkinstalldirs) $(DESTDIR)$(testdir)/r ++ $(mkinstalldirs) $(DESTDIR)$(testdir)/include ++ $(mkinstalldirs) $(DESTDIR)$(testdir)/std_data ++ $(mkinstalldirs) $(DESTDIR)$(testdir)/std_data/ndb_backup50_data_be ++ $(mkinstalldirs) $(DESTDIR)$(testdir)/std_data/ndb_backup50_data_le + $(mkinstalldirs) $(DESTDIR)$(testdir)/lib ++ $(mkinstalldirs) $(DESTDIR)$(testdir)/std_data/funcs_1 $(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(testdir) -$(INSTALL_DATA) $(srcdir)/t/*.def $(DESTDIR)$(testdir)/t $(INSTALL_DATA) $(srcdir)/t/*.test $(DESTDIR)$(testdir)/t diff --git a/databases/mysql5-server/patches/patch-ca b/databases/mysql5-server/patches/patch-ca index 10b8178ccb7..4c9c8643b6e 100644 --- a/databases/mysql5-server/patches/patch-ca +++ b/databases/mysql5-server/patches/patch-ca @@ -1,12 +1,12 @@ -$NetBSD: patch-ca,v 1.1 2008/01/22 00:41:59 rillig Exp $ +$NetBSD: patch-ca,v 1.2 2008/09/18 11:51:37 taca Exp $ Before calling sigsend(), make sure the function actuall exists. Fixes the build on NetBSD >= 4.99.49, in which the macro P_MYID is defined somewhere unrelated to signals. ---- configure.in.orig 2007-11-15 15:06:32.000000000 +0100 -+++ configure.in 2008-01-22 01:11:07.000000000 +0100 -@@ -1955,7 +1955,7 @@ AC_CHECK_HEADERS(varargs.h stdarg.h dire +--- configure.in.orig 2008-08-04 15:19:07.000000000 +0300 ++++ configure.in 2008-09-16 13:52:59.000000000 +0300 +@@ -2001,7 +2001,7 @@ paths.h semaphore.h) # Already-done: strcasecmp diff --git a/databases/mysql5-server/patches/patch-cb b/databases/mysql5-server/patches/patch-cb index 52aab1edc87..20dafe5a192 100644 --- a/databases/mysql5-server/patches/patch-cb +++ b/databases/mysql5-server/patches/patch-cb @@ -1,10 +1,10 @@ -$NetBSD: patch-cb,v 1.1 2008/01/22 00:42:00 rillig Exp $ +$NetBSD: patch-cb,v 1.2 2008/09/18 11:51:37 taca Exp $ See patch-ca. ---- libmysqld/stacktrace.c.orig 2007-11-15 15:06:35.000000000 +0100 -+++ libmysqld/stacktrace.c 2008-01-22 01:16:41.000000000 +0100 -@@ -251,7 +251,7 @@ void write_core(int sig) +--- libmysqld/stacktrace.c.orig 2008-08-04 15:20:12.000000000 +0300 ++++ libmysqld/stacktrace.c 2008-09-16 13:53:23.000000000 +0300 +@@ -252,7 +252,7 @@ __gcov_flush(); #endif pthread_kill(pthread_self(), sig); diff --git a/databases/mysql5-server/patches/patch-cc b/databases/mysql5-server/patches/patch-cc index 0000de495a7..eaf5f2a633c 100644 --- a/databases/mysql5-server/patches/patch-cc +++ b/databases/mysql5-server/patches/patch-cc @@ -1,10 +1,10 @@ -$NetBSD: patch-cc,v 1.1 2008/01/22 00:42:00 rillig Exp $ +$NetBSD: patch-cc,v 1.2 2008/09/18 11:51:37 taca Exp $ See patch-ca. ---- sql/stacktrace.c.orig 2007-11-15 15:06:35.000000000 +0100 -+++ sql/stacktrace.c 2008-01-22 01:17:08.000000000 +0100 -@@ -251,7 +251,7 @@ void write_core(int sig) +--- sql/stacktrace.c.orig 2008-08-04 15:20:12.000000000 +0300 ++++ sql/stacktrace.c 2008-09-16 13:53:45.000000000 +0300 +@@ -252,7 +252,7 @@ __gcov_flush(); #endif pthread_kill(pthread_self(), sig); diff --git a/databases/mysql5-server/patches/patch-da b/databases/mysql5-server/patches/patch-da deleted file mode 100644 index 5bf92d88808..00000000000 --- a/databases/mysql5-server/patches/patch-da +++ /dev/null @@ -1,12 +0,0 @@ -$NetBSD: patch-da,v 1.1 2008/07/01 09:22:59 tron Exp $ - ---- sql/mysql_priv.h.orig 2008-06-30 16:02:02.000000000 +0100 -+++ sql/mysql_priv.h 2008-06-30 15:30:15.000000000 +0100 -@@ -1255,6 +1255,7 @@ - extern time_t server_start_time, flush_status_time; - extern char *mysql_data_home,server_version[SERVER_VERSION_LENGTH], - mysql_real_data_home[], *opt_mysql_tmpdir, mysql_charsets_dir[], -+ mysql_unpacked_real_data_home[], - def_ft_boolean_syntax[sizeof(ft_boolean_syntax)]; - #define mysql_tmpdir (my_tmpdir(&mysql_tmpdir_list)) - extern MY_TMPDIR mysql_tmpdir_list; diff --git a/databases/mysql5-server/patches/patch-db b/databases/mysql5-server/patches/patch-db deleted file mode 100644 index 9e5a15f682b..00000000000 --- a/databases/mysql5-server/patches/patch-db +++ /dev/null @@ -1,85 +0,0 @@ -$NetBSD: patch-db,v 1.1 2008/07/01 09:22:59 tron Exp $ - ---- sql/sql_parse.cc.orig 2008-06-30 16:02:02.000000000 +0100 -+++ sql/sql_parse.cc 2008-06-30 15:56:34.000000000 +0100 -@@ -77,6 +77,8 @@ - const char *table_name); - static bool check_show_create_table_access(THD *thd, TABLE_LIST *table); - -+static bool test_if_data_home_dir(const char *dir); -+ - const char *any_db="*any*"; // Special symbol for check_access - - const char *command_name[]={ -@@ -3001,6 +3003,20 @@ - "INDEX DIRECTORY option ignored"); - create_info.data_file_name= create_info.index_file_name= NULL; - #else -+ -+ if (test_if_data_home_dir(lex->create_info.data_file_name)) -+ { -+ my_error(ER_WRONG_ARGUMENTS,MYF(0),"DATA DIRECORY"); -+ res= -1; -+ break; -+ } -+ if (test_if_data_home_dir(lex->create_info.index_file_name)) -+ { -+ my_error(ER_WRONG_ARGUMENTS,MYF(0),"INDEX DIRECORY"); -+ res= -1; -+ break; -+ } -+ - /* Fix names if symlinked tables */ - if (append_file_to_dir(thd, &create_info.data_file_name, - create_table->table_name) || -@@ -7717,6 +7733,50 @@ - return new Item_func_not(expr); - } - -+ -+/* -+ Check if path does not contain mysql data home directory -+ -+ SYNOPSIS -+ test_if_data_home_dir() -+ dir directory -+ conv_home_dir converted data home directory -+ home_dir_len converted data home directory length -+ -+ RETURN VALUES -+ 0 ok -+ 1 error -+*/ -+ -+static bool test_if_data_home_dir(const char *dir) -+{ -+ char path[FN_REFLEN], conv_path[FN_REFLEN]; -+ uint dir_len, home_dir_len= strlen(mysql_unpacked_real_data_home); -+ DBUG_ENTER("test_if_data_home_dir"); -+ -+ if (!dir) -+ DBUG_RETURN(0); -+ -+ (void) fn_format(path, dir, "", "", -+ (MY_RETURN_REAL_PATH|MY_RESOLVE_SYMLINKS)); -+ dir_len= unpack_dirname(conv_path, dir); -+ -+ if (home_dir_len <= dir_len) -+ { -+ if (lower_case_file_system) -+ { -+ if (!my_strnncoll(default_charset_info, (const uchar*) conv_path, -+ home_dir_len, -+ (const uchar*) mysql_unpacked_real_data_home, -+ home_dir_len)) -+ DBUG_RETURN(1); -+ } -+ else if (!memcmp(conv_path, mysql_unpacked_real_data_home, home_dir_len)) -+ DBUG_RETURN(1); -+ } -+ DBUG_RETURN(0); -+} -+ - /* - Set the specified definer to the default value, which is the current user in - the thread. |