[Pkg-mysql-commits] r1154 - in trunk: . debian debian/additions/mysqlreport debian/patches debian/po
Monty Taylor
mtaylor-guest at alioth.debian.org
Wed Feb 20 15:18:20 UTC 2008
tags 458798 pending
tags 460402 pending
tags 460873 pending
tags 462158 pending
tags 462265 pending
tags 463137 pending
thanks
Author: mtaylor-guest
Date: 2008-02-20 15:18:20 +0000 (Wed, 20 Feb 2008)
New Revision: 1154
Added:
trunk/debian/patches/51_incorrect-order.dpatch
trunk/debian/patches/60_raise-max-keylength.dpatch
Removed:
trunk/debian/patches/51_mysqlcheck-result.dpatch
trunk/debian/patches/92_SECURITY_CVE-2007-6303.dpatch
trunk/debian/patches/93_SECURITY_CVE-2007-6304.dpatch
Modified:
trunk/
trunk/debian/additions/mysqlreport/mysqlreport
trunk/debian/changelog
trunk/debian/control
trunk/debian/mysql-server-5.0.mysql-ndb-mgm.init
trunk/debian/mysql-server-5.0.mysql-ndb.init
trunk/debian/mysql-server-5.0.mysql.init
trunk/debian/patches/00list
trunk/debian/patches/52_ndb-gcc-4.2.dpatch
trunk/debian/patches/53_integer-gcc-4.2.dpatch
trunk/debian/patches/54_ssl-client-support.dpatch
trunk/debian/po/ja.po
trunk/debian/rules
Log:
Merged.
Property changes on: trunk
___________________________________________________________________
Name: bzr:revision-info
- timestamp: 2008-02-18 15:39:22.894000053 -0300
committer: Monty Taylor <monty at inaugust.com>
properties:
branch-nick: trunk
+ timestamp: 2008-02-18 15:42:24.339999914 -0300
committer: Monty Taylor <monty at inaugust.com>
properties:
branch-nick: trunk
Name: bzr:ancestry:v3-trunk0
- svn-v3-trunk0:bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:1093
monty at inaugust.com-20071219005821-v5qtsv9qvi70s0mt
monty at inaugust.com-20071227223102-6uiuykhyivk9r6q9
svn-v3-trunk0:bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:1115
+ svn-v3-trunk0:bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:1093
monty at inaugust.com-20071219005821-v5qtsv9qvi70s0mt
monty at inaugust.com-20071227223102-6uiuykhyivk9r6q9
svn-v3-trunk0:bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:1115
svn-v3-trunk0:bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:1150
Name: bzr:file-ids
- debian/patches/55_testsuite-2008.dpatch 1115 at bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:debian%2Fpatches%2F55_testsuite-2008.dpatch
+ debian/patches/60_raise-max-keylength.dpatch 1135 at bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:debian%2Fpatches%2F60_raise-max-keylength.dpatch
debian/patches/51_incorrect-order.dpatch 1138 at bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:debian%2Fpatches%2F51_incorrect-order.dpatch
Name: bzr:revision-id:v3-trunk0
- 588 monty at inaugust.com-20071218115655-e9a3qdeanxkm37q0
589 monty at inaugust.com-20071219010144-z07rx72f4aryuxd5
590 monty at inaugust.com-20071219010251-1xj8ebk20xcavzzz
591 monty at inaugust.com-20071219133703-cfc7gcr1mfrbff5k
594 monty at inaugust.com-20071219160333-4t3d5sm5ou2cnx42
600 monty at inaugust.com-20071227231232-38mmb4bf89bai9tz
601 monty at inaugust.com-20071227231533-6u75bgvr52589l9d
602 monty at inaugust.com-20071227232516-5e1uuemjok6gax36
603 monty at inaugust.com-20071227232613-mvmphhlfm3ucfjre
604 monty at inaugust.com-20071227232728-26ik99mzw0yhq4vi
605 monty at inaugust.com-20071227234930-zlri2er7sq9obnot
606 monty at inaugust.com-20071228004201-2uib1ipksw8yeodu
607 monty at inaugust.com-20080218183922-0rfctqrxnkvqirvz
+ 588 monty at inaugust.com-20071218115655-e9a3qdeanxkm37q0
589 monty at inaugust.com-20071219010144-z07rx72f4aryuxd5
590 monty at inaugust.com-20071219010251-1xj8ebk20xcavzzz
591 monty at inaugust.com-20071219133703-cfc7gcr1mfrbff5k
594 monty at inaugust.com-20071219160333-4t3d5sm5ou2cnx42
600 monty at inaugust.com-20071227231232-38mmb4bf89bai9tz
601 monty at inaugust.com-20071227231533-6u75bgvr52589l9d
602 monty at inaugust.com-20071227232516-5e1uuemjok6gax36
603 monty at inaugust.com-20071227232613-mvmphhlfm3ucfjre
604 monty at inaugust.com-20071227232728-26ik99mzw0yhq4vi
605 monty at inaugust.com-20071227234930-zlri2er7sq9obnot
606 monty at inaugust.com-20071228004201-2uib1ipksw8yeodu
607 monty at inaugust.com-20080218183922-0rfctqrxnkvqirvz
608 monty at inaugust.com-20080218184224-jq7u016hfc6gvt16
Name: svk:merge
- bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:/trunk:1093
bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:/trunk:1115
+ bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:/trunk:1093
bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:/trunk:1115
bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:/trunk:1150
Modified: trunk/debian/additions/mysqlreport/mysqlreport
===================================================================
--- trunk/debian/additions/mysqlreport/mysqlreport 2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/additions/mysqlreport/mysqlreport 2008-02-20 15:18:20 UTC (rev 1154)
@@ -1,10 +1,10 @@
#!/usr/bin/perl -w
-# mysqlreport v3.2 May 26 2007
+# mysqlreport v3.4a Jan 23 2008
# http://hackmysql.com/mysqlreport
# mysqlreport makes an easy-to-read report of important MySQL status values.
-# Copyright (C) 2006 Daniel Nichter
+# Copyright 2006-2008 Daniel Nichter
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -37,10 +37,10 @@
my (%stats, %vars); # SHOW STATUS, SHOW VARIABLES
my (%DMS_vals, %Com_vals, %ib_vals);
my ($dbh, $query);
-my ($questions, $key_read_ratio, $key_write_ratio, $dms);
+my ($questions, $key_read_ratio, $key_write_ratio, $dms, $slow_query_t);
my ($key_cache_block_size, $key_buffer_used, $key_buffer_usage);
my ($qc_mem_used, $qc_hi_r, $qc_ip_r); # Query Cache
-my ($need_myisam_vals, $need_innodb_vals);
+my $have_innodb_vals;
my ($ib_bp_used, $ib_bp_total, $ib_bp_read_ratio);
my ($relative_live, $relative_infiles);
my $real_uptime;
@@ -54,16 +54,6 @@
"port=s",
"socket=s",
"no-mycnf",
- "dtq|tdq|dq",
- "dms",
- "com:i",
- "sas",
- "tab",
- "qcache",
- "id-only|ido|innodb-only",
- "id|innodb",
- "dpr|drp",
- "all",
"infile|in=s",
"outfile=s",
"flush-status",
@@ -99,11 +89,9 @@
else { $mycnf{'pass'} = $op{'password'}; } # Use password given on command line
}
-if($op{'all'} and not defined $op{'com'}) { $op{'com'} = 3; }
-if(defined $op{'com'} and $op{'com'} == 0) { $op{'com'} = 3; }
+$op{'com'} ||= 3;
+$op{'c'} ||= 1; # Used in collect_reports() if --r given integer value
-$op{'c'} ||= 1; # Used in collect_reports() if --r given integer value
-
if(defined $op{'r'})
{
if($op{r}) { $relative_live = 1; }
@@ -160,8 +148,7 @@
$dbh = DBI->connect($dsn, $mycnf{'user'}, $mycnf{'pass'}) or die;
}
-# Determine if we need values from MyISAM, InnoDB, or both
-which_vals();
+$have_innodb_vals = 1; # This might be set to 0 later in get_MySQL_version()
if(defined $op{'r'})
{
@@ -189,8 +176,8 @@
get_Com_values();
- set_myisam_vals() if $need_myisam_vals;
- set_ib_vals() if $need_innodb_vals;
+ set_myisam_vals();
+ set_ib_vals() if $have_innodb_vals;
write_report();
}
@@ -205,7 +192,7 @@
sub show_help_and_exit
{
print <<"HELP";
-mysqlreport v3.2 May 26 2007
+mysqlreport v3.4a Jan 23 2008
mysqlreport makes an easy-to-read report of important MySQL status values.
Command line options (abbreviations work):
@@ -221,25 +208,14 @@
--flush-status Issue FLUSH STATUS; after getting current values
--relative X Generate relative reports. If X is an integer,
reports are live from the MySQL server X seconds apart.
- If X is a list of infiles, reports are generated
- from the infiles in the order that the infiles are given.
+ If X is a list of infiles (file1 file2 etc.),
+ reports are generated from the infiles in the order
+ that they are given.
--report-count N Collect N number of live relative reports (default 1)
--detach Fork and detach from terminal (run in background)
--help Prints this
--debug Print debugging information
- Extra Reports:
- --dtq Show Distribution of Total Questions
- --dms Show DMS details
- --com N Show top N number of non-DMS questions
- --sas Show SELECT and Sort report
- --qcache Show Query Cache report
- --tab Show Thread, Aborts, and Bytes reports
- --innodb Show InnoDB report
- --innodb-only Show only InnoDB report (hide ALL other reports)
- --dpr Show Data, Pages, Rows report in InnoDB report
- --all Show ALL extra reports (if possible)
-
Visit http://hackmysql.com/mysqlreport for more information.
HELP
@@ -262,15 +238,6 @@
close MYCNF;
}
-sub which_vals
-{
- $need_myisam_vals = 1;
- $need_innodb_vals = 1; # This could be set to 0 later in get_vals_vars()
-
- $need_myisam_vals = 0, return if have_op 'id-only';
- $need_innodb_vals = 0, return if (!$op{'id'} && !$op{'id-only'} && !$op{'all'});
-}
-
sub collect_reports
{
my $i;
@@ -282,10 +249,10 @@
%stats_past = %stats;
- set_myisam_vals() if $need_myisam_vals;
- set_ib_vals() if $need_innodb_vals;
+ set_myisam_vals();
+ set_ib_vals() if $have_innodb_vals;
- print "#\n# Begining report @ 0 0:0:0\n#\n";
+ print "#\n# Beginning report, 0 0:0:0\n#\n";
write_report();
@@ -293,7 +260,7 @@
{
sleep($op{'r'});
- print "\n#\n# Interval report " , $i + 1 , " @ +", sec_to_dhms(($i + 1) * $op{'r'}), "\n#\n";
+ print "\n#\n# Interval report " , $i + 1 , ", +", sec_to_dhms(($i + 1) * $op{'r'}), "\n#\n";
get_vals();
@@ -320,8 +287,11 @@
$n_stats = 0;
# Count number of status value sets
- $n_stats++ while $slurp =~ /Variable_name[\s|]+Value/g;
+ $n_stats++ while $slurp =~ /Aborted_clients/g;
+ print "read_relative_infiles: found $n_stats sets of status values in file '$infile'\n"
+ if $op{debug};
+
if($n_stats == 1)
{
read_infile($infile);
@@ -338,9 +308,13 @@
# Create a tmp file for each set of status values
for($i = 0; $i < $n_stats; $i++)
{
- my ($fh, $name) = tempfile() or die("Cannot open temporary file for writing: $!\n");
+ my ($fh, $name) = tempfile()
+ or die("read_relative_infiles: cannot open temporary file for writing: $!\n");
+
push(@tmpfile_fh, $fh);
push(@tmpfile_name, $name);
+
+ print "read_relative_infiles: created tmp file '$name'\n" if $op{debug};
}
$i = 0;
@@ -358,15 +332,15 @@
print;
- if(/Variable_name[\s|]+Value/)
+ if(/Aborted_clients/)
{
# The infile should begin with manually inserted system
# var values (like key_buffer_size = 128M). Therefore,
- # the first occurance of /Variable_name[\s|]+Value/ indicates
+ # the first occurance of /Aborted_clients/ indicates
# the first set of status values only if no sets have
# occured yet ($stat_n = 0). In this case, the following
# status values are printed to the current fh along with
- # the system var values read so far until /Variable_name[\s|]+Value/
+ # the system var values read so far until /Aborted_clients/
# occurs again. Then begins the second and subsequent sets
# of status values.
next if $stat_n++ == 0;
@@ -388,6 +362,9 @@
if($WIN) { `del $tmpfile_name[$i]`; }
else { `rm -f $tmpfile_name[$i]`; }
+
+ print "read_relative_infiles: deleted tmp file '$tmpfile_name[$i]'\n"
+ if $op{debug};
}
} # if($n_stats > 1)
@@ -404,16 +381,19 @@
%stats_past = %stats;
- set_myisam_vals() if $need_myisam_vals;
- set_ib_vals() if $need_innodb_vals;
+ set_myisam_vals();
+ set_ib_vals() if $have_innodb_vals;
- print "#\n# Begining report @ 0 0:0:0\n#\n";
+ print "#\n# Beginning report, 0 0:0:0\n#\n";
write_report();
}
else
{
- print "\n#\n# Interval report $report_n @ +" , sec_to_dhms($stats{Uptime} - $stats_past{Uptime}), "\n#\n";
+ print "\n#\n# Interval report ", $report_n - 1, ", +",
+ sec_to_dhms($stats{Uptime} - $stats_past{Uptime}),
+ "\n#\n";
+
write_relative_report();
}
}
@@ -463,6 +443,9 @@
$vars{'max_connections'} = 100 if !exists $vars{'max_connections'};
$vars{'key_buffer_size'} = 8388600 if !exists $vars{'key_buffer_size'}; # 8M
$vars{'thread_cache_size'} = 0 if !exists $vars{'thread_cache_size'};
+ $vars{'tmp_table_size'} = 0 if !exists $vars{'tmp_table_size'};
+ $vars{'long_query_time'} = '?' if !exists $vars{'long_query_time'};
+ $vars{'log_slow_queries'} = '?' if !exists $vars{'log_slow_queries'};
# One should also add:
# key_cache_block_size
@@ -484,9 +467,16 @@
}
# Explicit var = val (e.g. key_buffer_size = 128M)
- $vars{$1} = ($3 ? $2 * 1024 * 1024 : $2) and next if(/^\s*(\w+)\s*=\s*([0-9.]+)(M*)\s*$/);
-
- # print "Unrecognized line in infile: $_\n";
+ if( /^\s*(\w+)\s*=\s*([0-9.]+)(M*)\s*$/ )
+ {
+ $vars{$1} = ($3 ? $2 * 1024 * 1024 : $2);
+ print "read_infile: read '$_' as $1 = $vars{$1}\n" if $op{debug};
+ next;
+ }
+ else
+ {
+ print "read_infile: unrecognized line: '$_'\n" if $op{debug};
+ }
}
close INFILE;
@@ -518,7 +508,7 @@
# Innodb_ status values were added in 5.0.2
if($major <= 4 || $patch < 2)
{
- $need_innodb_vals = 0;
+ $have_innodb_vals = 0;
print "get_MySQL_version: no InnoDB reports because MySQL version is older than 5.0.2\n" if $op{debug};
}
}
@@ -563,6 +553,9 @@
);
$dms = $DMS_vals{SELECT} + $DMS_vals{INSERT} + $DMS_vals{REPLACE} + $DMS_vals{UPDATE} + $DMS_vals{DELETE};
+
+ $slow_query_t = "($vars{long_query_time})";
+
}
sub set_ib_vals
@@ -573,9 +566,10 @@
$ib_bp_total = $stats{'Innodb_buffer_pool_pages_total'} * $stats{'Innodb_page_size'};
- $ib_bp_read_ratio = sprintf "%.3f",
+ $ib_bp_read_ratio = sprintf "%.2f",
($stats{'Innodb_buffer_pool_read_requests'} ?
- $stats{'Innodb_buffer_pool_reads'} / $stats{'Innodb_buffer_pool_read_requests'} :
+ 100 - ($stats{'Innodb_buffer_pool_reads'} /
+ $stats{'Innodb_buffer_pool_read_requests'}) * 100 :
0);
}
@@ -595,8 +589,8 @@
}
# These values are either "at present" or "high water marks".
- # IMO, it is more logical not to relativize these values. Doing
- # otherwise causes them to display strange and misleading values.
+ # Therefore, it is more logical to not relativize these values.
+ # Doing otherwise causes strange and misleading values.
$stats{'Key_blocks_used'} = $stats_present{'Key_blocks_used'};
$stats{'Open_tables'} = $stats_present{'Open_tables'};
$stats{'Max_used_connections'} = $stats_present{'Max_used_connections'};
@@ -606,13 +600,34 @@
$stats{'Qcache_free_blocks'} = $stats_present{'Qcache_free_blocks'};
$stats{'Qcache_total_blocks'} = $stats_present{'Qcache_total_blocks'};
$stats{'Qcache_free_memory'} = $stats_present{'Qcache_free_memory'};
+ if($have_innodb_vals)
+ {
+ $stats{'Innodb_page_size'} = $stats_present{'Innodb_page_size'};
+ $stats{'Innodb_buffer_pool_pages_data'} = $stats_present{'Innodb_buffer_pool_pages_data'};
+ $stats{'Innodb_buffer_pool_pages_dirty'} = $stats_present{'Innodb_buffer_pool_pages_dirty'};
+ $stats{'Innodb_buffer_pool_pages_free'} = $stats_present{'Innodb_buffer_pool_pages_free'};
+ $stats{'Innodb_buffer_pool_pages_latched'} = $stats_present{'Innodb_buffer_pool_pages_latched'};
+ $stats{'Innodb_buffer_pool_pages_misc'} = $stats_present{'Innodb_buffer_pool_pages_misc'};
+ $stats{'Innodb_buffer_pool_pages_total'} = $stats_present{'Innodb_buffer_pool_pages_total'};
+ $stats{'Innodb_data_pending_fsyncs'} = $stats_present{'Innodb_data_pending_fsyncs'};
+ $stats{'Innodb_data_pending_reads'} = $stats_present{'Innodb_data_pending_reads'};
+ $stats{'Innodb_data_pending_writes'} = $stats_present{'Innodb_data_pending_writes'};
+ # Innodb_row_lock_ values were added in MySQL 5.0.3
+ if((($minor == 0 && $patch >= 3) || $minor > 0))
+ {
+ $stats{'Innodb_row_lock_current_waits'} = $stats_present{'Innodb_row_lock_current_waits'};
+ $stats{'Innodb_row_lock_time_avg'} = $stats_present{'Innodb_row_lock_time_avg'};
+ $stats{'Innodb_row_lock_time_max'} = $stats_present{'Innodb_row_lock_time_max'};
+ }
+ }
+
get_Com_values();
%stats_past = %stats_present;
- set_myisam_vals() if $need_myisam_vals;
- set_ib_vals() if $need_innodb_vals;
+ set_myisam_vals();
+ set_ib_vals() if $have_innodb_vals;
write_report();
}
@@ -620,21 +635,19 @@
sub write_report
{
$~ = 'MYSQL_TIME', write;
- if($need_myisam_vals)
- {
- $~ = 'KEY_BUFF_MAX', write;
- if($key_buffer_usage != -1) { $~ = 'KEY_BUFF_USAGE', write }
- $~ = 'KEY_RATIOS', write;
- if($op{'dtq'} or $op{'all'}) { write_DTQ(); }
- $~ = 'SLOW_DMS', write;
- if($op{'dms'} or $op{'all'}) { write_DMS(); }
- if($op{'com'} or $op{'all'}) { write_Com(); }
- if($op{'sas'} or $op{'all'}) { $~ = 'SAS', write; }
- if($op{'qcache'} or $op{'all'}) { write_qcache(); }
- $~ = 'REPORT_END', write;
- if($op{'tab'} or $op{'all'}) { $~ = 'TAB', write; }
- }
- write_InnoDB() if $need_innodb_vals;
+ $~ = 'KEY_BUFF_MAX', write;
+ if($key_buffer_usage != -1) { $~ = 'KEY_BUFF_USAGE', write }
+ $~ = 'KEY_RATIOS', write;
+ write_DTQ();
+ $~ = 'SLOW_DMS', write;
+ write_DMS();
+ write_Com();
+ $~ = 'SAS', write;
+ write_qcache();
+ $~ = 'REPORT_END', write;
+ $~ = 'TAB', write;
+
+ write_InnoDB() if $have_innodb_vals;
}
sub sec_to_dhms # Seconds to days hours:minutes:seconds
@@ -848,11 +861,9 @@
write;
}
- if($op{'dpr'} || $op{'all'}) # Data, Pages, Rows
- {
- $~ = 'IB_DPR';
- write;
- }
+ # Data, Pages, Rows
+ $~ = 'IB_DPR';
+ write;
}
sub have_op
@@ -940,8 +951,8 @@
.
format SLOW_DMS =
-Slow @>>>>>>>> @>>>>>/s @>>>>>> @>>>>> %DMS: @>>>>>
-make_short($stats{'Slow_queries'}), t($stats{'Slow_queries'}), ($op{'dtq'} || $op{'all'} ? '' : '%Total:'), perc($stats{'Slow_queries'}, $questions), perc($stats{'Slow_queries'}, $dms)
+Slow @<<<<< @>>>>>>>> @>>>>>/s @>>>>> %DMS: @>>>>> Log: @>>
+$slow_query_t, make_short($stats{'Slow_queries'}), t($stats{'Slow_queries'}), perc($stats{'Slow_queries'}, $questions), perc($stats{'Slow_queries'}, $dms), $vars{'log_slow_queries'}
DMS @>>>>>>>> @>>>>>/s @>>>>>
make_short($dms), t($dms), perc($dms, $questions)
.
@@ -1023,8 +1034,8 @@
__ Created Temp ________________________________________________________
Disk table @>>>>>>>> @>>>>>/s
make_short($stats{'Created_tmp_disk_tables'}), t($stats{'Created_tmp_disk_tables'})
-Table @>>>>>>>> @>>>>>/s
-make_short($stats{'Created_tmp_tables'}), t($stats{'Created_tmp_tables'})
+Table @>>>>>>>> @>>>>>/s Size: @>>>>>
+make_short($stats{'Created_tmp_tables'}), t($stats{'Created_tmp_tables'}), make_short($vars{'tmp_table_size'}, 1, 1)
File @>>>>>>>> @>>>>>/s
make_short($stats{'Created_tmp_files'}), t($stats{'Created_tmp_files'})
.
@@ -1059,7 +1070,7 @@
__ InnoDB Buffer Pool __________________________________________________
Usage @>>>>>> of @>>>>>> %Used: @>>>>>
make_short($ib_bp_used, 1), make_short($ib_bp_total, 1), perc($ib_bp_used, $ib_bp_total)
-Read ratio @>>>>>>
+Read hit @>>>>>%
$ib_bp_read_ratio;
Pages
Free @>>>>>>>> %Total: @>>>>>
@@ -1138,4 +1149,3 @@
Updated @>>>>>>>> @>>>>>/s
make_short($stats{'Innodb_rows_updated'}), t($stats{'Innodb_rows_updated'})
.
-
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/changelog 2008-02-20 15:18:20 UTC (rev 1154)
@@ -1,9 +1,64 @@
-mysql-dfsg-5.0 (5.0.51-3) UNRELEASED; urgency=low
+mysql-dfsg-5.0 (5.0.51a-4) UNRELEASED; urgency=low
* Added Sphinx SE integration
-- Monty Taylor <monty at inaugust.com> Wed, 02 Jan 2008 09:25:11 -0600
+mysql-dfsg-5.0 (5.0.51a-3) unstable; urgency=low
+
+ * Disable patch 60_raise-max-keylength.dpatch in default build, but still
+ ship it in the source package.
+
+ -- Norbert Tretkowski <nobse at debian.org> Sun, 17 Feb 2008 18:54:42 +0100
+
+mysql-dfsg-5.0 (5.0.51a-2) unstable; urgency=low
+
+ * Replace 54_ssl-client-support.dpatch added in 5.0.51-2 with patch from
+ upstream.
+ * Ignore errors in testsuite on powerpc.
+
+ -- Norbert Tretkowski <nobse at debian.org> Sun, 17 Feb 2008 12:42:58 +0100
+
+mysql-dfsg-5.0 (5.0.51a-1) unstable; urgency=low
+
+ [ Norbert Tretkowski ]
+ * New upstream security hotfix release. Low priority upload anyway because
+ 5.0.51-3 already contained all security fixes.
+ * Remove patches:
+ + debian/patches/51_mysqlcheck-result.dpatch
+ + debian/patches/92_SECURITY_CVE-2007-6303.dpatch
+ + debian/patches/93_SECURITY_CVE-2007-6304.dpatch
+ + debian/patches/94_SECURITY_CVE-2008-0226+0227.dpatch
+ * Add recommendation on libhtml-template-perl to -server package, used by
+ ndb_size. (closes: #462265)
+ * New patch 60_raise-max-keylength.dpatch to raise the maximum key length to
+ 4005 bytes or 1335 UTF-8 characters. (closes: #463137)
+ * New patch 51_sort-order.dpatch from 5.0.52 to fix incorrect order when
+ using range conditions on 2 tables or more.
+ * Support DEB_BUILD_OPTIONS option 'nocheck' to skip tests.
+ * Update mysqlreport to 3.4a release.
+
+ [ Luk Claes ]
+ * Updated Japanese debconf translation. (closes: #462158)
+
+ -- Norbert Tretkowski <nobse at debian.org> Wed, 06 Feb 2008 11:57:45 +0100
+
+mysql-dfsg-5.0 (5.0.51-3) unstable; urgency=high
+
+ * SECURITY:
+ Fix for CVE-2008-0226 and CVE-2008-0227: Three vulnerabilities in yaSSL
+ versions 1.7.5 and earlier were discovered that could lead to a server
+ crash or execution of unauthorized code. The exploit requires a server
+ with yaSSL enabled and TCP/IP connections enabled, but does not require
+ valid MySQL account credentials. The exploit does not apply to OpenSSL.
+ (closes: #460873)
+ * Fix LSB header in init scripts (patch from Petter Reinholdtsen).
+ (closes: #458798)
+ * Run testsuite on all archs, but ignore errors on alpha, arm, armel, hppa,
+ mipsel and sparc. (closes: #460402)
+
+ -- Norbert Tretkowski <nobse at debian.org> Wed, 23 Jan 2008 11:37:11 +0100
+
mysql-dfsg-5.0 (5.0.51-2) unstable; urgency=low
[ Monty Taylor ]
@@ -24,7 +79,7 @@
* New patch 54_ssl-client-support.dpatch to fix SSL client support.
* Don't run testsuite on alpha, arm, hppa, mipsel and sparc.
- -- Norbert Tretkowski <nobse at debian.org> Wed, 02 Jan 2008 13:55:39 +0100
+ -- Norbert Tretkowski <nobse at debian.org> Wed, 02 Jan 2008 18:40:04 +0100
mysql-dfsg-5.0 (5.0.51-1) unstable; urgency=low
Modified: trunk/debian/control
===================================================================
--- trunk/debian/control 2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/control 2008-02-20 15:18:20 UTC (rev 1154)
@@ -69,7 +69,7 @@
Package: mysql-server-5.0
Architecture: any
Suggests: tinyca
-Recommends: mailx
+Recommends: mailx, libhtml-template-perl
Pre-Depends: mysql-common (>= ${source:Version}), adduser (>= 3.40), debconf
Depends: mysql-client-5.0 (>= ${binary:Version}), libdbi-perl, perl (>= 5.6), ${shlibs:Depends}, ${misc:Depends}, psmisc, passwd, lsb-base (>= 3.0-10)
Conflicts: mysql-server (<< ${source:Version})
Modified: trunk/debian/mysql-server-5.0.mysql-ndb-mgm.init
===================================================================
--- trunk/debian/mysql-server-5.0.mysql-ndb-mgm.init 2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/mysql-server-5.0.mysql-ndb-mgm.init 2008-02-20 15:18:20 UTC (rev 1154)
@@ -2,10 +2,10 @@
#
### BEGIN INIT INFO
# Provides: mysql-ndb-mgm
-# Required-Start: $syslog
-# Required-Stop: $syslog mysql
-# Should-Start: $local_fs $remote_fs $network $named $time
-# Should-Stop: $local_fs $remote_fs $network $named $time
+# Required-Start: $remote_fs $syslog
+# Required-Stop: $remote_fs $syslog
+# Should-Start: $network $named $time
+# Should-Stop: $network $named $time
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop the mysql database cluster management daemon
Modified: trunk/debian/mysql-server-5.0.mysql-ndb.init
===================================================================
--- trunk/debian/mysql-server-5.0.mysql-ndb.init 2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/mysql-server-5.0.mysql-ndb.init 2008-02-20 15:18:20 UTC (rev 1154)
@@ -2,10 +2,10 @@
#
### BEGIN INIT INFO
# Provides: mysql-ndb
-# Required-Start: $syslog mysql mysql-ndb-mgm
-# Required-Stop: $syslog mysql mysql-ndb-mgm
-# Should-Start: $local_fs $remote_fs $network $named $time
-# Should-Stop: $local_fs $remote_fs $network $named $time
+# Required-Start: $remote_fs $syslog mysql-ndb-mgm
+# Required-Stop: $remote_fs $syslog mysql-ndb-mgm
+# Should-Start: $network $named $time
+# Should-Stop: $network $named $time
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop the mysql database cluster server daemon
Modified: trunk/debian/mysql-server-5.0.mysql.init
===================================================================
--- trunk/debian/mysql-server-5.0.mysql.init 2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/mysql-server-5.0.mysql.init 2008-02-20 15:18:20 UTC (rev 1154)
@@ -2,10 +2,10 @@
#
### BEGIN INIT INFO
# Provides: mysql
-# Required-Start: $syslog mysql-ndb-mgm
-# Required-Stop: $syslog
-# Should-Start: $local_fs $remote_fs $network $named $time
-# Should-Stop: $local_fs $remote_fs $network $named $time
+# Required-Start: $remote_fs $syslog mysql-ndb
+# Required-Stop: $remote_fs $syslog mysql-ndb
+# Should-Start: $network $named $time
+# Should-Stop: $network $named $time
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop the mysql database server daemon
Modified: trunk/debian/patches/00list
===================================================================
--- trunk/debian/patches/00list 2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/patches/00list 2008-02-20 15:18:20 UTC (rev 1154)
@@ -7,15 +7,14 @@
44_scripts__mysql_config__libs.dpatch
45_warn-CLI-passwords.dpatch
50_fix_mysqldump.dpatch
-51_mysqlcheck-result.dpatch
+51_incorrect-order.dpatch
52_ndb-gcc-4.2.dpatch
53_integer-gcc-4.2.dpatch
54_ssl-client-support.dpatch
55_testsuite-2008.dpatch
+#60_raise-max-keylength.dpatch
86_PATH_MAX.dpatch
88_sphinx_se.dpatch
89_ndb__staticlib.dpatch
90_upstreamdebiandir.dpatch
91_SECURITY_CVE-2007-5925.dpatch
-92_SECURITY_CVE-2007-6303.dpatch
-93_SECURITY_CVE-2007-6304.dpatch
Added: trunk/debian/patches/51_incorrect-order.dpatch
===================================================================
--- trunk/debian/patches/51_incorrect-order.dpatch (rev 0)
+++ trunk/debian/patches/51_incorrect-order.dpatch 2008-02-20 15:18:20 UTC (rev 1154)
@@ -0,0 +1,115 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 51_incorrect-order.dpatch by Norbert Tretkowski <nobse at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: http://lists.mysql.com/commits/37246
+
+ at DPATCH@
+diff -Nrup a/mysql-test/r/select.result b/mysql-test/r/select.result
+--- a/mysql-test/r/select.result 2007-09-13 17:31:07 +04:00
++++ b/mysql-test/r/select.result 2007-11-07 14:00:41 +03:00
+@@ -4096,4 +4096,43 @@ SELECT `x` FROM v3;
+ x
+ 1
+ DROP VIEW v1, v2, v3;
++CREATE TABLE t1 (c11 INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY);
++CREATE TABLE t2 (c21 INT UNSIGNED NOT NULL,
++c22 INT DEFAULT NULL,
++KEY(c21, c22));
++CREATE TABLE t3 (c31 INT UNSIGNED NOT NULL DEFAULT 0,
++c32 INT DEFAULT NULL,
++c33 INT NOT NULL,
++c34 INT UNSIGNED DEFAULT 0,
++KEY (c33, c34, c32));
++INSERT INTO t1 values (),(),(),(),();
++INSERT INTO t2 SELECT a.c11, b.c11 FROM t1 a, t1 b;
++INSERT INTO t3 VALUES (1, 1, 1, 0),
++(2, 2, 0, 0),
++(3, 3, 1, 0),
++(4, 4, 0, 0),
++(5, 5, 1, 0);
++SELECT c32 FROM t1, t2, t3 WHERE t1.c11 IN (1, 3, 5) AND
++t3.c31 = t1.c11 AND t2.c21 = t1.c11 AND
++t3.c33 = 1 AND t2.c22 in (1, 3)
++ORDER BY c32;
++c32
++1
++1
++3
++3
++5
++5
++SELECT c32 FROM t1, t2, t3 WHERE t1.c11 IN (1, 3, 5) AND
++t3.c31 = t1.c11 AND t2.c21 = t1.c11 AND
++t3.c33 = 1 AND t2.c22 in (1, 3)
++ORDER BY c32 DESC;
++c32
++5
++5
++3
++3
++1
++1
++DROP TABLE t1, t2, t3;
+ End of 5.0 tests
+diff -Nrup a/mysql-test/t/select.test b/mysql-test/t/select.test
+--- a/mysql-test/t/select.test 2007-09-15 09:02:02 +04:00
++++ b/mysql-test/t/select.test 2007-11-07 14:00:41 +03:00
+@@ -3484,4 +3484,40 @@ DROP VIEW v1, v2, v3;
+
+ --enable_ps_protocol
+
++#
++# Bug #30666: Incorrect order when using range conditions on 2 tables or more
++#
++
++CREATE TABLE t1 (c11 INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY);
++CREATE TABLE t2 (c21 INT UNSIGNED NOT NULL,
++ c22 INT DEFAULT NULL,
++ KEY(c21, c22));
++CREATE TABLE t3 (c31 INT UNSIGNED NOT NULL DEFAULT 0,
++ c32 INT DEFAULT NULL,
++ c33 INT NOT NULL,
++ c34 INT UNSIGNED DEFAULT 0,
++ KEY (c33, c34, c32));
++
++INSERT INTO t1 values (),(),(),(),();
++INSERT INTO t2 SELECT a.c11, b.c11 FROM t1 a, t1 b;
++INSERT INTO t3 VALUES (1, 1, 1, 0),
++ (2, 2, 0, 0),
++ (3, 3, 1, 0),
++ (4, 4, 0, 0),
++ (5, 5, 1, 0);
++
++# Show that ORDER BY produces the correct results order
++SELECT c32 FROM t1, t2, t3 WHERE t1.c11 IN (1, 3, 5) AND
++ t3.c31 = t1.c11 AND t2.c21 = t1.c11 AND
++ t3.c33 = 1 AND t2.c22 in (1, 3)
++ ORDER BY c32;
++
++# Show that ORDER BY DESC produces the correct results order
++SELECT c32 FROM t1, t2, t3 WHERE t1.c11 IN (1, 3, 5) AND
++ t3.c31 = t1.c11 AND t2.c21 = t1.c11 AND
++ t3.c33 = 1 AND t2.c22 in (1, 3)
++ ORDER BY c32 DESC;
++
++DROP TABLE t1, t2, t3;
++
+ --echo End of 5.0 tests
+diff -Nrup a/sql/sql_select.cc b/sql/sql_select.cc
+--- a/sql/sql_select.cc 2007-10-02 18:45:48 +04:00
++++ b/sql/sql_select.cc 2007-11-07 14:00:42 +03:00
+@@ -6071,10 +6071,9 @@ make_join_readinfo(JOIN *join, ulonglong
+ ordered. If there is a temp table the ordering is done as a last
+ operation and doesn't prevent join cache usage.
+ */
+- if (!ordered_set && !join->need_tmp &&
+- ((table == join->sort_by_table &&
+- (!join->order || join->skip_sort_order)) ||
+- (join->sort_by_table == (TABLE *) 1 && i != join->const_tables)))
++ if (!ordered_set && !join->need_tmp &&
++ (table == join->sort_by_table ||
++ (join->sort_by_table == (TABLE *) 1 && i != join->const_tables)))
+ ordered_set= 1;
+
+ switch (tab->type) {
Deleted: trunk/debian/patches/51_mysqlcheck-result.dpatch
===================================================================
--- trunk/debian/patches/51_mysqlcheck-result.dpatch 2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/patches/51_mysqlcheck-result.dpatch 2008-02-20 15:18:20 UTC (rev 1154)
@@ -1,20 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 51_mysqlcheck-result.dpatch by Norbert Tretkowski <nobse at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
- at DPATCH@
-diff -Nrup a/mysql-test/r/mysqlcheck.result b/mysql-test/r/mysqlcheck.result
---- a/mysql-test/r/mysqlcheck.result 2007-04-17 00:00:13 +05:00
-+++ b/mysql-test/r/mysqlcheck.result 2007-11-22 14:10:16 +04:00
-@@ -49,7 +49,8 @@ insert into t_bug25347 values (1),(2),(3
- flush tables;
- removing and creating
- d_bug25347.t_bug25347
--error : Incorrect file format 't_bug25347'
-+Error : Incorrect file format 't_bug25347'
-+error : Corrupt
- insert into t_bug25347 values (4),(5),(6);
- ERROR HY000: Incorrect file format 't_bug25347'
- d_bug25347.t_bug25347
Modified: trunk/debian/patches/52_ndb-gcc-4.2.dpatch
===================================================================
--- trunk/debian/patches/52_ndb-gcc-4.2.dpatch 2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/patches/52_ndb-gcc-4.2.dpatch 2008-02-20 15:18:20 UTC (rev 1154)
@@ -2,7 +2,7 @@
## 52_ndb-gcc-4.2.dpatch by Norbert Tretkowski <nobse at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
+## DP: http://bugs.mysql.com/bug.php?id=31761
@DPATCH@
--- 1.8/ndb/include/kernel/AttributeHeader.hpp 2007-10-23 16:46:03 +02:00
Modified: trunk/debian/patches/53_integer-gcc-4.2.dpatch
===================================================================
--- trunk/debian/patches/53_integer-gcc-4.2.dpatch 2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/patches/53_integer-gcc-4.2.dpatch 2008-02-20 15:18:20 UTC (rev 1154)
@@ -2,7 +2,7 @@
## 53_integer-gcc-4.2.dpatch by Norbert Tretkowski <nobse at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
+## DP: http://bugs.mysql.com/bug.php?id=31799
@DPATCH@
--- 1.9/strings/int2str.c 2007-10-24 09:26:32 +02:00
Modified: trunk/debian/patches/54_ssl-client-support.dpatch
===================================================================
--- trunk/debian/patches/54_ssl-client-support.dpatch 2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/patches/54_ssl-client-support.dpatch 2008-02-20 15:18:20 UTC (rev 1154)
@@ -5,16 +5,76 @@
## DP: http://bugs.mysql.com/bug.php?id=33292
@DPATCH@
-diff -ru mysql-5.0.51.org/vio/viossl.c mysql-5.0.51/vio/viossl.c
---- mysql-5.0.51.org/vio/viossl.c 2007-11-15 15:07:13.000000000 +0100
-+++ mysql-5.0.51/vio/viossl.c 2007-12-19 15:21:53.211570804 +0100
-@@ -199,6 +199,9 @@
+
+diff -Nrup a/vio/viossl.c b/vio/viossl.c
+--- a/vio/viossl.c 2007-08-28 11:34:42 +02:00
++++ b/vio/viossl.c 2008-02-07 08:48:27 +01:00
+@@ -172,20 +172,15 @@ void vio_ssl_delete(Vio *vio)
+ vio_delete(vio);
+ }
+
+-int sslaccept(struct st_VioSSLFd *ptr, Vio *vio, long timeout)
+-{
+- DBUG_ENTER("sslaccept");
+- DBUG_RETURN(sslconnect(ptr, vio, timeout));
+-}
+-
+
+-int sslconnect(struct st_VioSSLFd *ptr, Vio *vio, long timeout)
++static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
++ int (*connect_accept_func)(SSL*))
+ {
+ SSL *ssl;
+ my_bool unused;
+ my_bool was_blocking;
+
+- DBUG_ENTER("sslconnect");
++ DBUG_ENTER("ssl_do");
+ DBUG_PRINT("enter", ("ptr: 0x%lx, sd: %d ctx: 0x%lx",
+ (long) ptr, vio->sd, (long) ptr->ssl_context));
+
+@@ -204,13 +199,9 @@ int sslconnect(struct st_VioSSLFd *ptr,
+ SSL_SESSION_set_timeout(SSL_get_session(ssl), timeout);
+ SSL_set_fd(ssl, vio->sd);
+
+- /*
+- SSL_do_handshake will select between SSL_connect
+- or SSL_accept depending on server or client side
+- */
+- if (SSL_do_handshake(ssl) < 1)
++ if (connect_accept_func(ssl) < 1)
+ {
+- DBUG_PRINT("error", ("SSL_do_handshake failure"));
++ DBUG_PRINT("error", ("SSL_connect/accept failure"));
+ report_errors(ssl);
+ SSL_free(ssl);
vio_blocking(vio, was_blocking, &unused);
- DBUG_RETURN(1);
- }
+@@ -259,6 +250,20 @@ int sslconnect(struct st_VioSSLFd *ptr,
+ }
+
+
++int sslaccept(struct st_VioSSLFd *ptr, Vio *vio, long timeout)
++{
++ DBUG_ENTER("sslaccept");
++ DBUG_RETURN(ssl_do(ptr, vio, timeout, SSL_accept));
++}
+
-+ SSL_set_connect_state(ssl);
+
- DBUG_PRINT("info", ("ssl: 0x%lx timeout: %ld", (long) ssl, timeout));
- SSL_clear(ssl);
- SSL_SESSION_set_timeout(SSL_get_session(ssl), timeout);
++int sslconnect(struct st_VioSSLFd *ptr, Vio *vio, long timeout)
++{
++ DBUG_ENTER("sslconnect");
++ DBUG_RETURN(ssl_do(ptr, vio, timeout, SSL_connect));
++}
++
++
+ int vio_ssl_blocking(Vio *vio __attribute__((unused)),
+ my_bool set_blocking_mode,
+ my_bool *old_mode)
+@@ -268,5 +273,7 @@ int vio_ssl_blocking(Vio *vio __attribut
+ /* Return error if we try to change to non_blocking mode */
+ return (set_blocking_mode ? 0 : 1);
+ }
++
++
+
+ #endif /* HAVE_OPENSSL */
Added: trunk/debian/patches/60_raise-max-keylength.dpatch
===================================================================
--- trunk/debian/patches/60_raise-max-keylength.dpatch (rev 0)
+++ trunk/debian/patches/60_raise-max-keylength.dpatch 2008-02-20 15:18:20 UTC (rev 1154)
@@ -0,0 +1,495 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 60_raise-max-keylength.dpatch by Norbert Tretkowski <nobse at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Raises the maximum key length to 4005 bytes or 1335 UTF-8 characters,
+## DP: which is the maximum raise possible without changing other parameters.
+
+ at DPATCH@
+diff -Nrup a/include/myisam.h b/include/myisam.h
+--- a/include/myisam.h 2006-12-23 20:04:05 +01:00
++++ b/include/myisam.h 2008-01-30 18:26:56 +01:00
+@@ -48,15 +48,27 @@ extern "C" {
+ #define MI_MAX_KEY MAX_INDEXES /* Max allowed keys */
+ #endif
+
+-#define MI_MAX_POSSIBLE_KEY_BUFF (1024+6+6) /* For myisam_chk */
+ /*
+ The following defines can be increased if necessary.
+ But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and MI_MAX_KEY_LENGTH.
+ */
+-#define MI_MAX_KEY_LENGTH 1000 /* Max length in bytes */
+ #define MI_MAX_KEY_SEG 16 /* Max segments for key */
++ /*
++ Max key length computes from max key block. At least 4 keys should
++ go into a key block. Each key has a length (1 or 3 bytes), a data
++ file pointer (max 8 bytes), optionally a key file pointer (max 8
++ bytes), optional length per key segment (max 3 bytes), and an
++ optional null byte per key segment. The key_length computation in
++ mi_create() adds another data pointer per key (max 8 bytes). A block
++ has a 2 byte length and optionally a key file pointer. See
++ myisamdef.h:MI_BLOCK_SIZE() and mi_create(). With
++ MI_MAX_KEY_BLOCK_LENGTH = 16384 and MI_MAX_KEY_SEG = 16 we have
++ (16384-2-8)/4-8-8-(8+(3+1)*16) = 4005 bytes.
++ */
++#define MI_MAX_KEY_LENGTH 4005 /* Max key length in bytes */
+
+ #define MI_MAX_KEY_BUFF (MI_MAX_KEY_LENGTH+MI_MAX_KEY_SEG*6+8+8)
++#define MI_MAX_POSSIBLE_KEY_BUFF (MI_MAX_KEY_LENGTH+24+6+6) /* For myisam_chk */
+ #define MI_MAX_MSG_BUF 1024 /* used in CHECK TABLE, REPAIR TABLE */
+ #define MI_NAME_IEXT ".MYI"
+ #define MI_NAME_DEXT ".MYD"
+diff -Nrup a/mysql-test/r/ctype_utf8.result b/mysql-test/r/ctype_utf8.result
+--- a/mysql-test/r/ctype_utf8.result 2007-10-30 09:20:28 +01:00
++++ b/mysql-test/r/ctype_utf8.result 2008-01-30 18:26:56 +01:00
+@@ -240,8 +240,10 @@ select hex(s1) from t1;
+ hex(s1)
+ 41
+ drop table t1;
+-create table t1 (a text character set utf8, primary key(a(360)));
+-ERROR 42000: Specified key was too long; max key length is 1000 bytes
++create table t1 (a text character set utf8, primary key(a(1336)));
++ERROR 42000: Specified key was too long; max key length is 4005 bytes
++create table t1 (a text character set utf8, primary key(a(1335)));
++drop table t1;
+ CREATE TABLE t1 ( a varchar(10) ) CHARACTER SET utf8;
+ INSERT INTO t1 VALUES ( 'test' );
+ SELECT a.a, b.a FROM t1 a, t1 b WHERE a.a = b.a;
+diff -Nrup a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result
+--- a/mysql-test/r/innodb.result 2007-12-13 11:49:11 +01:00
++++ b/mysql-test/r/innodb.result 2008-01-30 18:26:56 +01:00
+@@ -2773,7 +2773,7 @@ c varchar(255) character set utf8,
+ d varchar(255) character set utf8,
+ e varchar(255) character set utf8,
+ key (a,b,c,d,e)) engine=innodb;
+-ERROR 42000: Specified key was too long; max key length is 3072 bytes
++ERROR 42000: Specified key was too long; max key length is 3500 bytes
+ create table t1 (s1 varbinary(2),primary key (s1)) engine=innodb;
+ create table t2 (s1 binary(2),primary key (s1)) engine=innodb;
+ create table t3 (s1 varchar(2) binary,primary key (s1)) engine=innodb;
+diff -Nrup a/mysql-test/r/myisam.result b/mysql-test/r/myisam.result
+--- a/mysql-test/r/myisam.result 2008-01-16 12:15:56 +01:00
++++ b/mysql-test/r/myisam.result 2008-01-30 18:26:56 +01:00
+@@ -322,11 +322,34 @@ CHECK TABLE t1;
+ Table Op Msg_type Msg_text
+ test.t1 check status OK
+ drop table t1;
+-CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255), KEY t1 (a, b, c, d, e));
+-ERROR 42000: Specified key was too long; max key length is 1000 bytes
+-CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255));
+-ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e);
+-ERROR 42000: Specified key was too long; max key length is 1000 bytes
++CREATE TABLE t1 (
++a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++m varchar(255), n varchar(255), o varchar(255), p varchar(181),
++KEY t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p));
++ERROR 42000: Specified key was too long; max key length is 4005 bytes
++CREATE TABLE t1 (
++a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++m varchar(255), n varchar(255), o varchar(255), p varchar(181));
++ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p);
++ERROR 42000: Specified key was too long; max key length is 4005 bytes
++DROP TABLE t1;
++CREATE TABLE t1 (
++a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++m varchar(255), n varchar(255), o varchar(255), p varchar(180),
++KEY t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p));
++DROP TABLE t1;
++CREATE TABLE t1 (
++a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++m varchar(255), n varchar(255), o varchar(255), p varchar(180));
++ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p);
+ DROP TABLE t1;
+ CREATE TABLE t1 (a int not null, b int, c int, key(b), key(c), key(a,b), key(c,a));
+ INSERT into t1 values (0, null, 0), (0, null, 1), (0, null, 2), (0, null,3), (1,1,4);
+@@ -1093,6 +1116,186 @@ length(c1) c1
+ 2 A
+ 2 B
+ DROP TABLE t1;
++CREATE TABLE t1 (
++c1 VARCHAR(255) NOT NULL,
++c2 VARCHAR(255) NOT NULL,
++c3 VARCHAR(255) NOT NULL,
++c4 VARCHAR(255) NOT NULL,
++c5 VARCHAR(255) NOT NULL,
++c6 VARCHAR(61),
++KEY i1 (c1, c2, c3, c4, c5, c6)) DEFAULT CHARSET=UTF8;
++ERROR 42000: Specified key was too long; max key length is 4005 bytes
++CREATE TABLE t1 (
++c1 VARCHAR(255) NOT NULL,
++c2 VARCHAR(255) NOT NULL,
++c3 VARCHAR(255) NOT NULL,
++c4 VARCHAR(255) NOT NULL,
++c5 VARCHAR(255) NOT NULL,
++c6 VARCHAR(60),
++KEY i1 (c1, c2, c3, c4, c5, c6)) DEFAULT CHARSET=UTF8;
++INSERT INTO t1 VALUES
++(REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '1')),
++(REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '7')),
++(REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '5')),
++(REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '8')),
++(REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '6')),
++(REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '5'));
++CHECK TABLE t1 EXTENDED;
++Table Op Msg_type Msg_text
++test.t1 check status OK
++OPTIMIZE TABLE t1;
++Table test.t1
++Op optimize
++Msg_type status
++Msg_text OK
++SHOW CREATE TABLE t1;
++Table t1
++Create Table CREATE TABLE `t1` (
++ `c1` varchar(255) NOT NULL,
++ `c2` varchar(255) NOT NULL,
++ `c3` varchar(255) NOT NULL,
++ `c4` varchar(255) NOT NULL,
++ `c5` varchar(255) NOT NULL,
++ `c6` varchar(60) default NULL,
++ KEY `i1` (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`)
++) ENGINE=MyISAM DEFAULT CHARSET=utf8
++SHOW TABLE STATUS LIKE 't1';
++Name t1
++Engine MyISAM
++Version 10
++Row_format Dynamic
++Rows 6
++Avg_row_length #
++Data_length #
++Max_data_length #
++Index_length #
++Data_free 0
++Auto_increment NULL
++Create_time #
++Update_time #
++Check_time #
++Collation utf8_general_ci
++Checksum NULL
++Create_options
++Comment
++SHOW INDEX FROM t1;
++Table t1
++Non_unique 1
++Key_name i1
++Seq_in_index 1
++Column_name c1
++Collation A
++Cardinality 1
++Sub_part NULL
++Packed NULL
++Null
++Index_type BTREE
++Comment
++Table t1
++Non_unique 1
++Key_name i1
++Seq_in_index 2
++Column_name c2
++Collation A
++Cardinality 1
++Sub_part NULL
++Packed NULL
++Null
++Index_type BTREE
++Comment
++Table t1
++Non_unique 1
++Key_name i1
++Seq_in_index 3
++Column_name c3
++Collation A
++Cardinality 1
++Sub_part NULL
++Packed NULL
++Null
++Index_type BTREE
++Comment
++Table t1
++Non_unique 1
++Key_name i1
++Seq_in_index 4
++Column_name c4
++Collation A
++Cardinality 1
++Sub_part NULL
++Packed NULL
++Null
++Index_type BTREE
++Comment
++Table t1
++Non_unique 1
++Key_name i1
++Seq_in_index 5
++Column_name c5
++Collation A
++Cardinality 1
++Sub_part NULL
++Packed NULL
++Null
++Index_type BTREE
++Comment
++Table t1
++Non_unique 1
++Key_name i1
++Seq_in_index 6
++Column_name c6
++Collation A
++Cardinality 6
++Sub_part NULL
++Packed NULL
++Null YES
++Index_type BTREE
++Comment
++EXPLAIN SELECT SUBSTR(c6, 50) FROM t1
++ORDER BY c1, c2, c3, c4, c5, c6;
++id 1
++select_type SIMPLE
++table t1
++type index
++possible_keys NULL
++key i1
++key_len 4018
++ref NULL
++rows 6
++Extra Using index
++SELECT SUBSTR(c6, 50) FROM t1 ORDER BY c1, c2, c3, c4, c5, c6;
++SUBSTR(c6, 50)
++MMMMMMMMMM1
++MMMMMMMMMM5
++MMMMMMMMMM5
++MMMMMMMMMM6
++MMMMMMMMMM7
++MMMMMMMMMM8
++DELETE FROM t1 WHERE c6 LIKE '%5' LIMIT 1;
++UPDATE t1 SET c6 = CONCAT(REPEAT('M', 59), '9') WHERE c6 LIKE '%1';
++SELECT SUBSTR(c6, 50) FROM t1 ORDER BY c1, c2, c3, c4, c5, c6;
++SUBSTR(c6, 50)
++MMMMMMMMMM5
++MMMMMMMMMM6
++MMMMMMMMMM7
++MMMMMMMMMM8
++MMMMMMMMMM9
++CHECK TABLE t1 EXTENDED;
++Table Op Msg_type Msg_text
++test.t1 check status OK
++REPAIR TABLE t1 EXTENDED;
++Table Op Msg_type Msg_text
++test.t1 repair status OK
++CHECK TABLE t1 EXTENDED;
++Table Op Msg_type Msg_text
++test.t1 check status OK
++DROP TABLE t1;
+ End of 4.1 tests
+ set storage_engine=MyISAM;
+ drop table if exists t1,t2,t3;
+@@ -1668,7 +1871,7 @@ a b
+ drop table t1;
+ create table t1 (v varchar(65530), key(v));
+ Warnings:
+-Warning 1071 Specified key was too long; max key length is 1000 bytes
++Warning 1071 Specified key was too long; max key length is 4005 bytes
+ drop table if exists t1;
+ create table t1 (v varchar(65536));
+ Warnings:
+diff -Nrup a/mysql-test/r/type_blob.result b/mysql-test/r/type_blob.result
+--- a/mysql-test/r/type_blob.result 2007-11-19 18:34:12 +01:00
++++ b/mysql-test/r/type_blob.result 2008-01-30 18:26:56 +01:00
+@@ -356,16 +356,24 @@ HELLO MY 1
+ a 1
+ hello 1
+ drop table t1;
+-create table t1 (a text, unique (a(2100)));
+-ERROR 42000: Specified key was too long; max key length is 1000 bytes
+-create table t1 (a text, key (a(2100)));
++create table t1 (a text, unique (a(4006)));
++ERROR 42000: Specified key was too long; max key length is 4005 bytes
++create table t1 (a text, unique (a(4005)));
++show create table t1;
++Table Create Table
++t1 CREATE TABLE `t1` (
++ `a` text,
++ UNIQUE KEY `a` (`a`(4005))
++) ENGINE=MyISAM DEFAULT CHARSET=latin1
++drop table t1;
++create table t1 (a text, key (a(4006)));
+ Warnings:
+-Warning 1071 Specified key was too long; max key length is 1000 bytes
++Warning 1071 Specified key was too long; max key length is 4005 bytes
+ show create table t1;
+ Table Create Table
+ t1 CREATE TABLE `t1` (
+ `a` text,
+- KEY `a` (`a`(1000))
++ KEY `a` (`a`(4005))
+ ) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ drop table t1;
+ CREATE TABLE t1 (
+diff -Nrup a/mysql-test/t/ctype_utf8.test b/mysql-test/t/ctype_utf8.test
+--- a/mysql-test/t/ctype_utf8.test 2007-10-30 09:20:28 +01:00
++++ b/mysql-test/t/ctype_utf8.test 2008-01-30 18:26:56 +01:00
+@@ -162,9 +162,12 @@ drop table t1;
+ #
+ # Bug 2699
+ # UTF8 breaks primary keys for cols > 333 characters
++# Limit raised to 1335 UTF-8 chars by fix for Bug#4541. See myisam.test.
+ #
+ --error 1071
+-create table t1 (a text character set utf8, primary key(a(360)));
++create table t1 (a text character set utf8, primary key(a(1336)));
++create table t1 (a text character set utf8, primary key(a(1335)));
++drop table t1;
+
+
+ #
+diff -Nrup a/mysql-test/t/myisam.test b/mysql-test/t/myisam.test
+--- a/mysql-test/t/myisam.test 2008-01-16 12:15:56 +01:00
++++ b/mysql-test/t/myisam.test 2008-01-30 18:26:56 +01:00
+@@ -334,13 +334,36 @@ drop table t1;
+
+ #
+ # Test of creating table with too long key
++# Limit raised to 4005 bytes by fix for Bug#4541. See myisam.test.
+ #
+-
+ --error 1071
+-CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255), KEY t1 (a, b, c, d, e));
+-CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255));
++CREATE TABLE t1 (
++ a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++ e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++ i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++ m varchar(255), n varchar(255), o varchar(255), p varchar(181),
++ KEY t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p));
++CREATE TABLE t1 (
++ a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++ e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++ i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++ m varchar(255), n varchar(255), o varchar(255), p varchar(181));
+ --error 1071
+-ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e);
++ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p);
++DROP TABLE t1;
++CREATE TABLE t1 (
++ a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++ e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++ i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++ m varchar(255), n varchar(255), o varchar(255), p varchar(180),
++ KEY t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p));
++DROP TABLE t1;
++CREATE TABLE t1 (
++ a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++ e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++ i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++ m varchar(255), n varchar(255), o varchar(255), p varchar(180));
++ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p);
+ DROP TABLE t1;
+
+ #
+@@ -1016,6 +1039,59 @@ SELECT DISTINCT length(c1), c1 FROM t1 W
+ SELECT DISTINCT COUNT(*) FROM t1 IGNORE INDEX (c1) WHERE c1 = '';
+ SELECT DISTINCT length(c1), c1 FROM t1 IGNORE INDEX (c1) WHERE c1 = '';
+ SELECT DISTINCT length(c1), c1 FROM t1 ORDER BY c1;
++DROP TABLE t1;
++
++#
++# Bug#4541 - "Specified key was too long; max key length is 1000 bytes"
++# with utf8
++# Raised limit for max key length from 1000 to 4005 bytes.
++# This is maximum without changing other limits (e.g. MI_MAX_KEY_BLOCK_LENGTH)
++#
++--error 1071
++CREATE TABLE t1 (
++ c1 VARCHAR(255) NOT NULL,
++ c2 VARCHAR(255) NOT NULL,
++ c3 VARCHAR(255) NOT NULL,
++ c4 VARCHAR(255) NOT NULL,
++ c5 VARCHAR(255) NOT NULL,
++ c6 VARCHAR(61),
++ KEY i1 (c1, c2, c3, c4, c5, c6)) DEFAULT CHARSET=UTF8;
++CREATE TABLE t1 (
++ c1 VARCHAR(255) NOT NULL,
++ c2 VARCHAR(255) NOT NULL,
++ c3 VARCHAR(255) NOT NULL,
++ c4 VARCHAR(255) NOT NULL,
++ c5 VARCHAR(255) NOT NULL,
++ c6 VARCHAR(60),
++ KEY i1 (c1, c2, c3, c4, c5, c6)) DEFAULT CHARSET=UTF8;
++INSERT INTO t1 VALUES
++ (REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++ REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '1')),
++ (REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++ REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '7')),
++ (REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++ REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '5')),
++ (REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++ REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '8')),
++ (REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++ REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '6')),
++ (REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++ REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '5'));
++CHECK TABLE t1 EXTENDED;
++query_vertical OPTIMIZE TABLE t1;
++query_vertical SHOW CREATE TABLE t1;
++--replace_column 6 # 7 # 8 # 9 # 12 # 13 # 14 #
++query_vertical SHOW TABLE STATUS LIKE 't1';
++query_vertical SHOW INDEX FROM t1;
++query_vertical EXPLAIN SELECT SUBSTR(c6, 50) FROM t1
++ ORDER BY c1, c2, c3, c4, c5, c6;
++SELECT SUBSTR(c6, 50) FROM t1 ORDER BY c1, c2, c3, c4, c5, c6;
++DELETE FROM t1 WHERE c6 LIKE '%5' LIMIT 1;
++UPDATE t1 SET c6 = CONCAT(REPEAT('M', 59), '9') WHERE c6 LIKE '%1';
++SELECT SUBSTR(c6, 50) FROM t1 ORDER BY c1, c2, c3, c4, c5, c6;
++CHECK TABLE t1 EXTENDED;
++REPAIR TABLE t1 EXTENDED;
++CHECK TABLE t1 EXTENDED;
+ DROP TABLE t1;
+
+ --echo End of 4.1 tests
+diff -Nrup a/mysql-test/t/type_blob.test b/mysql-test/t/type_blob.test
+--- a/mysql-test/t/type_blob.test 2007-11-19 18:34:12 +01:00
++++ b/mysql-test/t/type_blob.test 2008-01-30 18:26:56 +01:00
+@@ -131,9 +131,15 @@ select c,count(*) from t1 group by c;
+ select d,count(*) from t1 group by d;
+ drop table t1;
+
++#
++# Limit raised to 4005 bytes by fix for Bug#4541. See myisam.test.
++#
+ -- error 1071
+-create table t1 (a text, unique (a(2100))); # should give an error
+-create table t1 (a text, key (a(2100))); # key is auto-truncated
++create table t1 (a text, unique (a(4006))); # should give an error
++create table t1 (a text, unique (a(4005))); # should give an error
++show create table t1;
++drop table t1;
++create table t1 (a text, key (a(4006))); # key is auto-truncated
+ show create table t1;
+ drop table t1;
+
+diff -Nrup a/sql/unireg.h b/sql/unireg.h
+--- a/sql/unireg.h 2007-08-02 22:57:41 +02:00
++++ b/sql/unireg.h 2008-01-30 18:26:56 +01:00
+@@ -49,7 +49,7 @@
+ #define MAX_SYS_VAR_LENGTH 32
+ #define MAX_KEY MAX_INDEXES /* Max used keys */
+ #define MAX_REF_PARTS 16 /* Max parts used as ref */
+-#define MAX_KEY_LENGTH 3072 /* max possible key */
++#define MAX_KEY_LENGTH 4005 /* myisamdef.h */ /* max possible key */
+ #if SIZEOF_OFF_T > 4
+ #define MAX_REFLENGTH 8 /* Max length for record ref */
+ #else
Deleted: trunk/debian/patches/92_SECURITY_CVE-2007-6303.dpatch
===================================================================
--- trunk/debian/patches/92_SECURITY_CVE-2007-6303.dpatch 2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/patches/92_SECURITY_CVE-2007-6303.dpatch 2008-02-20 15:18:20 UTC (rev 1154)
@@ -1,168 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 92_SECURITY_CVE-2007-6303.dpatch by Norbert Tretkowski <nobse at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix for CVE-2007-6303: ALTER VIEW retained the original DEFINER value,
-## DP: even when altered by another user, which could allow that user to gain
-## DP: the access rights of the view. Now ALTER VIEW is allowed only to the
-## DP: original definer or users with the SUPER privilege. (closes: #455737)
-
- at DPATCH@
-diff -Nrup a/mysql-test/r/view_grant.result b/mysql-test/r/view_grant.result
---- a/mysql-test/r/view_grant.result 2007-11-15 15:28:37.000000000 +0100
-+++ b/mysql-test/r/view_grant.result 2007-09-29 03:06:40.000000000 +0200
-@@ -776,15 +776,60 @@ GRANT CREATE VIEW ON db26813.v2 TO u2681
- GRANT DROP, CREATE VIEW ON db26813.v3 TO u26813 at localhost;
- GRANT SELECT ON db26813.t1 TO u26813 at localhost;
- ALTER VIEW v1 AS SELECT f2 FROM t1;
--ERROR 42000: CREATE VIEW command denied to user 'u26813'@'localhost' for table 'v1'
-+ERROR 42000: Access denied; you need the SUPER privilege for this operation
- ALTER VIEW v2 AS SELECT f2 FROM t1;
--ERROR 42000: DROP command denied to user 'u26813'@'localhost' for table 'v2'
-+ERROR 42000: Access denied; you need the SUPER privilege for this operation
- ALTER VIEW v3 AS SELECT f2 FROM t1;
-+ERROR 42000: Access denied; you need the SUPER privilege for this operation
- SHOW CREATE VIEW v3;
- View Create View
--v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`f2` AS `f2` from `t1`
-+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`f1` AS `f1` from `t1`
- DROP USER u26813 at localhost;
- DROP DATABASE db26813;
-+#
-+# Bug#29908: A user can gain additional access through the ALTER VIEW.
-+#
-+CREATE DATABASE mysqltest_29908;
-+USE mysqltest_29908;
-+CREATE TABLE t1(f1 INT, f2 INT);
-+CREATE USER u29908_1 at localhost;
-+CREATE DEFINER = u29908_1 at localhost VIEW v1 AS SELECT f1 FROM t1;
-+CREATE DEFINER = u29908_1 at localhost SQL SECURITY INVOKER VIEW v2 AS
-+SELECT f1 FROM t1;
-+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v1 TO u29908_1 at localhost;
-+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_1 at localhost;
-+GRANT SELECT ON mysqltest_29908.t1 TO u29908_1 at localhost;
-+CREATE USER u29908_2 at localhost;
-+GRANT DROP, CREATE VIEW ON mysqltest_29908.v1 TO u29908_2 at localhost;
-+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_2 at localhost;
-+GRANT SELECT ON mysqltest_29908.t1 TO u29908_2 at localhost;
-+ALTER VIEW v1 AS SELECT f2 FROM t1;
-+ERROR 42000: Access denied; you need the SUPER privilege for this operation
-+ALTER VIEW v2 AS SELECT f2 FROM t1;
-+ERROR 42000: Access denied; you need the SUPER privilege for this operation
-+SHOW CREATE VIEW v2;
-+View Create View
-+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f1` AS `f1` from `t1`
-+ALTER VIEW v1 AS SELECT f2 FROM t1;
-+SHOW CREATE VIEW v1;
-+View Create View
-+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f2` AS `f2` from `t1`
-+ALTER VIEW v2 AS SELECT f2 FROM t1;
-+SHOW CREATE VIEW v2;
-+View Create View
-+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f2` AS `f2` from `t1`
-+ALTER VIEW v1 AS SELECT f1 FROM t1;
-+SHOW CREATE VIEW v1;
-+View Create View
-+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
-+ALTER VIEW v2 AS SELECT f1 FROM t1;
-+SHOW CREATE VIEW v2;
-+View Create View
-+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f1` AS `f1` from `t1`
-+DROP USER u29908_1 at localhost;
-+DROP USER u29908_2 at localhost;
-+DROP DATABASE mysqltest_29908;
-+#######################################################################
- DROP DATABASE IF EXISTS mysqltest1;
- DROP DATABASE IF EXISTS mysqltest2;
- CREATE DATABASE mysqltest1;
-diff -Nrup a/mysql-test/t/view_grant.test b/mysql-test/t/view_grant.test
---- a/mysql-test/t/view_grant.test 2007-11-15 15:28:37.000000000 +0100
-+++ b/mysql-test/t/view_grant.test 2007-09-29 03:06:22.000000000 +0200
-@@ -1034,10 +1034,11 @@ GRANT SELECT ON db26813.t1 TO u26813 at loc
-
- connect (u1,localhost,u26813,,db26813);
- connection u1;
----error 1142
-+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
- ALTER VIEW v1 AS SELECT f2 FROM t1;
----error 1142
-+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
- ALTER VIEW v2 AS SELECT f2 FROM t1;
-+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
- ALTER VIEW v3 AS SELECT f2 FROM t1;
-
- connection root;
-@@ -1047,6 +1048,51 @@ DROP USER u26813 at localhost;
- DROP DATABASE db26813;
- disconnect u1;
-
-+--echo #
-+--echo # Bug#29908: A user can gain additional access through the ALTER VIEW.
-+--echo #
-+connection root;
-+CREATE DATABASE mysqltest_29908;
-+USE mysqltest_29908;
-+CREATE TABLE t1(f1 INT, f2 INT);
-+CREATE USER u29908_1 at localhost;
-+CREATE DEFINER = u29908_1 at localhost VIEW v1 AS SELECT f1 FROM t1;
-+CREATE DEFINER = u29908_1 at localhost SQL SECURITY INVOKER VIEW v2 AS
-+ SELECT f1 FROM t1;
-+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v1 TO u29908_1 at localhost;
-+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_1 at localhost;
-+GRANT SELECT ON mysqltest_29908.t1 TO u29908_1 at localhost;
-+CREATE USER u29908_2 at localhost;
-+GRANT DROP, CREATE VIEW ON mysqltest_29908.v1 TO u29908_2 at localhost;
-+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_2 at localhost;
-+GRANT SELECT ON mysqltest_29908.t1 TO u29908_2 at localhost;
-+
-+connect (u2,localhost,u29908_2,,mysqltest_29908);
-+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
-+ALTER VIEW v1 AS SELECT f2 FROM t1;
-+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
-+ALTER VIEW v2 AS SELECT f2 FROM t1;
-+SHOW CREATE VIEW v2;
-+
-+connect (u1,localhost,u29908_1,,mysqltest_29908);
-+ALTER VIEW v1 AS SELECT f2 FROM t1;
-+SHOW CREATE VIEW v1;
-+ALTER VIEW v2 AS SELECT f2 FROM t1;
-+SHOW CREATE VIEW v2;
-+
-+connection root;
-+ALTER VIEW v1 AS SELECT f1 FROM t1;
-+SHOW CREATE VIEW v1;
-+ALTER VIEW v2 AS SELECT f1 FROM t1;
-+SHOW CREATE VIEW v2;
-+
-+DROP USER u29908_1 at localhost;
-+DROP USER u29908_2 at localhost;
-+DROP DATABASE mysqltest_29908;
-+disconnect u1;
-+disconnect u2;
-+--echo #######################################################################
-+
- #
- # BUG#24040: Create View don't succed with "all privileges" on a database.
- #
-diff -Nrup a/sql/sql_view.cc b/sql/sql_view.cc
---- a/sql/sql_view.cc 2007-09-03 11:22:54 +04:00
-+++ b/sql/sql_view.cc 2007-09-20 18:03:16 +04:00
-@@ -223,9 +223,6 @@ bool mysql_create_view(THD *thd, TABLE_L
- {
- LEX *lex= thd->lex;
- bool link_to_local;
--#ifndef NO_EMBEDDED_ACCESS_CHECKS
-- bool definer_check_is_needed= mode != VIEW_ALTER || lex->definer;
--#endif
- /* first table in list is target VIEW name => cut off it */
- TABLE_LIST *view= lex->unlink_first_table(&link_to_local);
- TABLE_LIST *tables= lex->query_tables;
-@@ -280,7 +277,7 @@ bool mysql_create_view(THD *thd, TABLE_L
- - same as current user
- - current user has SUPER_ACL
- */
-- if (definer_check_is_needed &&
-+ if (lex->definer &&
- (strcmp(lex->definer->user.str, thd->security_ctx->priv_user) != 0 ||
- my_strcasecmp(system_charset_info,
- lex->definer->host.str,
Deleted: trunk/debian/patches/93_SECURITY_CVE-2007-6304.dpatch
===================================================================
--- trunk/debian/patches/93_SECURITY_CVE-2007-6304.dpatch 2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/patches/93_SECURITY_CVE-2007-6304.dpatch 2008-02-20 15:18:20 UTC (rev 1154)
@@ -1,26 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 93_SECURITY_CVE-2007-6304.dpatch by Norbert Tretkowski <nobse at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix for CVE-2007-6304: When using a FEDERATED table, the local server can
-## DP: be forced to crash if the remote server returns a result with fewer columns
-## DP: than expected. (closes: #455737)
-
- at DPATCH@
-diff -Nrup a/sql/ha_federated.cc b/sql/ha_federated.cc
---- a/sql/ha_federated.cc 2007-07-26 05:22:50 +05:00
-+++ b/sql/ha_federated.cc 2007-10-15 10:11:50 +05:00
-@@ -2528,7 +2528,12 @@ int ha_federated::info(uint flag)
- status_query_string.length(0);
-
- result= mysql_store_result(mysql);
-- if (!result)
-+
-+ /*
-+ We're going to use fields num. 4, 12 and 13 of the resultset,
-+ so make sure we have these fields.
-+ */
-+ if (!result || (mysql_num_fields(result) < 14))
- goto error;
-
- if (!mysql_num_rows(result))
Modified: trunk/debian/po/ja.po
===================================================================
--- trunk/debian/po/ja.po 2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/po/ja.po 2008-02-20 15:18:20 UTC (rev 1154)
@@ -1,365 +1,203 @@
-#
-# Translators, if you are not familiar with the PO format, gettext
-# documentation is worth reading, especially sections dedicated to
-# this format, e.g. by running:
-# info -n '(gettext)PO Files'
-# info -n '(gettext)Header Entry'
-#
-# Some information specific to po-debconf are available at
-# /usr/share/doc/po-debconf/README-trans
-# or http://www.debian.org/intl/l10n/po-debconf/README-trans
-#
-# Developers do not need to manually edit POT or PO files.
-#
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: mysql-dfsg-5.0 5.0.32-6\n"
-"Report-Msgid-Bugs-To: pkg-mysql-maint at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2007-05-08 20:33+0200\n"
-"PO-Revision-Date: 2007-02-18 22:25+0900\n"
-"Last-Translator: Hideki Yamane (Debian-JP) <henrich at debian.or.jp>\n"
-"Language-Team: Japanese <debian-japanese at lists.debian.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:2001
-#, fuzzy
-#| msgid "Do you really want to downgrade?"
-msgid "Really proceed with downgrade?"
-msgstr "本当にダウングレードしますか?"
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:2001
-msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
-msgstr ""
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:2001
-#, fuzzy
-#| msgid ""
-#| "WARNING: The file /var/lib/mysql/debian-*.flag exists. This indicates "
-#| "that a mysql-server package with a higher version has been installed "
-#| "before. It can not be guaranteed that this version can use its data."
-msgid ""
-"Such file is an indication that a mysql-server package with a higher version "
-"has been installed earlier."
-msgstr ""
-"警告: /var/lib/mysql/debian-*.flag ファイルが存在しています。これは、以前によ"
-"り新しいバージョンの mysql-server パッケージがインストールされていたことを示"
-"します。データをこのバージョンで使えるかどうか、保証できません。"
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:2001
-msgid ""
-"There is no guarantee that the version you're currently installing will be "
-"able to use the current databases."
-msgstr ""
-
-#. Type: note
-#. Description
-#: ../mysql-server-5.0.templates:3001
-#, fuzzy
-#| msgid "Important note for NIS/YP users!"
-msgid "Important note for NIS/YP users"
-msgstr "NIS/YP ユーザへ重要な注意!"
-
-#. Type: note
-#. Description
-#: ../mysql-server-5.0.templates:3001
-msgid ""
-"To use MySQL, the following entries for users and groups should be added to "
-"the system:"
-msgstr ""
-
-#. Type: note
-#. Description
-#: ../mysql-server-5.0.templates:3001
-msgid ""
-"You should also check the permissions and the owner of the /var/lib/mysql "
-"directory:"
-msgstr ""
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:4001
-msgid "Remove all MySQL databases?"
-msgstr ""
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:4001
-msgid ""
-"The /var/lib/mysql directory which contains the MySQL databases is about to "
-"be removed."
-msgstr ""
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:4001
-#, fuzzy
-#| msgid ""
-#| "The script is about to remove the data directory /var/lib/mysql. If it is "
-#| "planned to just install a higher MySQL version or if a different mysql-"
-#| "server package is already using it, the data should be kept."
-msgid ""
-"If you're removing the MySQL package in order to later install a more recent "
-"version or if a different mysql-server package is already using it, the data "
-"should be kept."
-msgstr ""
-"このスクリプトはデータのディレクトリ /var/lib/mysql を削除するためのもので"
-"す。単に新しいバージョンの MySQL をインストールしようとしている、あるいは別"
-"の mysql-server パッケージを既に使っている場合、データは保持する必要がありま"
-"す。"
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:5001
-#, fuzzy
-#| msgid "Should MySQL start on boot?"
-msgid "Start the MySQL server on boot?"
-msgstr "MySQL をシステム起動時に開始しますか?"
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:5001
-#, fuzzy
-#| msgid ""
-#| "The MySQL can start automatically on boot time or only if you manually "
-#| "type '/etc/init.d/mysql start'."
-msgid ""
-"The MySQL server can be launched automatically at boot time or manually with "
-"the '/etc/init.d/mysql start' command."
-msgstr ""
-"MySQL の起動方法について、システム起動時に自動的に開始するか、あるいは '/etc/"
-"init.d/mysql start' と手で入力した時のみ起動するかを選べます。"
-
-#. Type: password
-#. Description
-#: ../mysql-server-5.0.templates:6001
-#, fuzzy
-#| msgid "New password for MySQL \"root\" user:"
-msgid "New password for the MySQL \"root\" user:"
-msgstr "MySQL の \"root\" ユーザに対する新しいパスワード:"
-
-#. Type: password
-#. Description
-#: ../mysql-server-5.0.templates:6001
-#, fuzzy
-#| msgid ""
-#| "It is highly recommended that you set a password for the MySQL "
-#| "administrative \"root\" user."
-msgid ""
-"While not mandatory, it is highly recommended that you set a password for "
-"the MySQL administrative \"root\" user."
-msgstr ""
-"MySQL を管理する \"root\" ユーザのパスワードを設定することを強くお勧めしま"
-"す。"
-
-#. Type: password
-#. Description
-#: ../mysql-server-5.0.templates:6001
-msgid "If that field is left blank, the password will not be changed."
-msgstr ""
-
-#. Type: error
-#. Description
-#: ../mysql-server-5.0.templates:7001
-#, fuzzy
-#| msgid "Unable to set password for MySQL \"root\" user"
-msgid "Unable to set password for the MySQL \"root\" user"
-msgstr "MySQL の \"root\" ユーザのパスワードを設定できません"
-
-#. Type: error
-#. Description
-#: ../mysql-server-5.0.templates:7001
-#, fuzzy
-#| msgid ""
-#| "It seems an error occurred while setting the password for the MySQL "
-#| "administrative user. This may have happened because the user already has "
-#| "a password, or because there was a problem communicating with the MySQL "
-#| "server."
-msgid ""
-"An error occurred while setting the password for the MySQL administrative "
-"user. This may have happened because the account already has a password, or "
-"because of a communication problem with the MySQL server."
-msgstr ""
-"MySQL の管理者ユーザに対してパスワードを設定しようとした際、エラーが発生した"
-"ようです。これは既に管理者ユーザにパスワードが設定されていたか、MySQL サーバ"
-"との接続に問題があったためだと思われます。"
-
-#. Type: error
-#. Description
-#: ../mysql-server-5.0.templates:7001
-msgid "You should check the account's password after the package installation."
-msgstr ""
-
-#. Type: error
-#. Description
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:7001 ../mysql-server-5.0.templates:8001
-#, fuzzy
-#| msgid ""
-#| "See /usr/share/doc/mysql-server-5.0/README.Debian for more information."
-msgid ""
-"Please read the /usr/share/doc/mysql-server-5.0/README.Debian file for more "
-"information."
-msgstr ""
-"詳細は /usr/share/doc/mysql-server-5.0/README.Debian を参照してください。"
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:8001
-msgid "Support MySQL connections from hosts running Debian \"sarge\" or older?"
-msgstr ""
-"Debian \"Sarge\" あるいはそれよりも古いバージョンが稼働しているホストからの "
-"MySQL 接続をサポートしますか?"
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:8001
-#, fuzzy
-#| msgid ""
-#| "The way passwords were stored was not very secure. This has been improved "
-#| "with the drawback that clients (e.g. PHP) from hosts running Debian 3.1 "
-#| "Sarge will not be able to connect to account which are new or whose "
-#| "password have been changed. See /usr/share/doc/mysql-server-5.0/README."
-#| "Debian."
-msgid ""
-"In old versions of MySQL clients on Debian, passwords were not stored "
-"securely. This has been improved since then, however clients (such as PHP) "
-"from hosts running Debian 3.1 Sarge will not be able to connect to recent "
-"accounts or accounts whose password have been changed."
-msgstr ""
-"パスワードの保存方法は、あまり安全な方法で行われていませんでした。これは改善"
-"されましたが、Debian 3.1 Sarge が稼働しているホストからクライアント (PHP な"
-"ど) が新しいアカウントやパスワードが変更されたアカウントには接続できなくなる"
-"という欠点もでています。詳細については /usr/share/doc/mysql-server-5.0/"
-"README.Debian を参照してください。"
-
-#~ msgid ""
-#~ "To use mysql you must install an equivalent user and group to the "
-#~ "following and ensure yourself that /var/lib/mysql has the right "
-#~ "permissions (the uid/gid may be different)."
-#~ msgstr ""
-#~ "mysql を利用するには 以下のユーザとグループを作成し、/var/lib/mysql が正し"
-#~ "い権限になっているかどうかを確認する必要があります (おそらく uid/gid が違"
-#~ "います)。"
-
-#~ msgid ""
-#~ "/etc/passwd: mysql:x:100:101:MySQL Server:/var/lib/mysql:/bin/false"
-#~ msgstr ""
-#~ "/etc/passwd: mysql:x:100:101:MySQL Server:/var/lib/mysql:/bin/false"
-
-#~ msgid "/etc/group: mysql:x:101:"
-#~ msgstr "/etc/group: mysql:x:101:"
-
-#~ msgid "/var/lib/mysql: drwxr-xr-x mysql mysql"
-#~ msgstr "/var/lib/mysql: drwxr-xr-x mysql mysql"
-
-#~ msgid "Remove the databases used by all MySQL versions?"
-#~ msgstr "全バージョンの MySQL で利用されているデータベースを削除しますか?"
-
-#~ msgid ""
-#~ "If you do not provide a password no changes will be made to the account."
-#~ msgstr ""
-#~ "パスワードを入力しない場合、アカウントに対して変更は加えられません。"
-
-#~ msgid ""
-#~ "When installation finishes, you should verify that the account is "
-#~ "properly protected with a password (see README.Debian for more "
-#~ "information)."
-#~ msgstr ""
-#~ "インストールが終了した際、アカウントがパスワードできちんと保護されているか"
-#~ "どうかを確認してください (詳細については README.Debian を参照してくださ"
-#~ "い)。"
-
-#~ msgid "Cannot upgrade if ISAM tables are present!"
-#~ msgstr "ISAM テーブルがある場合はアップグレードできません!"
-
-#~ msgid ""
-#~ "Recent versions of MySQL can no longer use the old ISAM table format and "
-#~ "it is necessary to convert your tables to e.g. MyISAM before upgrading by "
-#~ "using \"mysql_convert_table_format\" or \"ALTER TABLE x ENGINE=MyISAM\". "
-#~ "The installation of mysql-server-5.0 will now abort. In case your old "
-#~ "mysql-server-4.1 gets removed nevertheless just reinstall it to convert "
-#~ "those tables."
-#~ msgstr ""
-#~ "MySQL の最近のバージョンでは以前の ISAM テーブル形式は利用できなくなってい"
-#~ "ます。そのため、例えば \"mysql_convert_table_format\" あるいは \"ALTER "
-#~ "TABLE x ENGINE=MyISAM\" としてアップグレード前に MyISAM にコンバートするこ"
-#~ "となどが必要です。mysql-server-5.0 のインストールを中断します。以前の "
-#~ "mysql-server-4.1 が削除されてしまった場合であっても、テーブルをコンバート"
-#~ "するために再インストールをしてください。"
-
-#~ msgid "Install Hints"
-#~ msgstr "インストールのヒント"
-
-#~ msgid ""
-#~ "On upgrades from MySQL 3.23, as shipped with Debian Woody, symlinks in "
-#~ "place of /var/lib/mysql or /var/log/mysql gets accidently removed and "
-#~ "have manually be restored."
-#~ msgstr ""
-#~ "Debian Woody でリリースされた MySQL 3.23 からのアップグレードでは、/var/"
-#~ "lib/mysql あるいは /var/log/mysql の代わりにシンボリックリンクは偶然にも削"
-#~ "除されてしまっているので、手動でのリストアが必要になります。"
-
-#~ msgid ""
-#~ "MySQL will only install if you have a non-numeric hostname that is "
-#~ "resolvable via the /etc/hosts file. E.g. if the \"hostname\" command "
-#~ "returns \"myhostname\" then there must be a line like \"10.0.0.1 "
-#~ "myhostname\"."
-#~ msgstr ""
-#~ "MySQL は /etc/hosts ファイル経由で解決できる「数字のみで構成されてない」ホ"
-#~ "スト名の場合のみ、インストールされます。つまり、\"hostname\" コマンドが "
-#~ "\"myhostname\" を返すなら、\"10.0.0.1 myhostname\" という行が /etc/hosts "
-#~ "ファイルにあるはずです。"
-
-#~ msgid ""
-#~ "A new mysql user \"debian-sys-maint\" will be created. This mysql account "
-#~ "is used in the start/stop and cron scripts. Don't delete."
-#~ msgstr ""
-#~ "新規に mysql ユーザとして \"debian-sys-maint\" が作成されます。この mysql "
-#~ "アカウントは start/stop 時と cron スクリプトで利用されます。消さないでくだ"
-#~ "さい。"
-
-#~ msgid ""
-#~ "Please remember to set a PASSWORD for the MySQL root user! If you use a /"
-#~ "root/.my.cnf, always write the \"user\" and the \"password\" lines in "
-#~ "there, never only the password!"
-#~ msgstr ""
-#~ "MySQL の root ユーザに対して「パスワードの設定」を忘れないでください! /"
-#~ "root/.my.cnf を使っている場合、このファイル中の \"user\" 行と \"password"
-#~ "\" 行を記述してください。決してパスワードだけではいけません!"
-
-#~ msgid ""
-#~ "Should I remove the complete /var/lib/mysql directory tree which is used "
-#~ "by all MySQL versions, not necessarily only the one you are about to "
-#~ "purge?"
-#~ msgstr ""
-#~ "これから purge しようとしているバージョンだけでは無く、全てのバージョンの "
-#~ "MySQL が /var/lib/mysql ディレクトリを使用しています。このディレクトリを完"
-#~ "全に削除しますか?"
-
-#~ msgid "Update Hints"
-#~ msgstr "更新のヒント"
-
-#~ msgid ""
-#~ "Rarely, e.g. on new major versions, the privilege system is improved. To "
-#~ "make use of it mysql_fix_privilege_tables must be executed manually. The "
-#~ "script is not supposed to give any user more rights that he had before,"
-#~ msgstr ""
-#~ "まれに、つまりは新しいメジャーバージョンにおいて、特権システムが改善されま"
-#~ "す。これを行うには、mysql_fix_privilege_table を手動で実行する必要がありま"
-#~ "す。スクリプトは、どのようなユーザに対しても、以前に保持していた以上の権限"
-#~ "を与えるようにはなっていません。"
-
-#~ msgid "Please also read http://www.mysql.com/doc/en/Upgrade.html"
-#~ msgstr "http://www.mysql.com/doc/ja/Upgrade.html も参照してください"
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mysql-dfsg-5.0 5.0.51-2\n"
+"Report-Msgid-Bugs-To: pkg-mysql-maint at lists.alioth.debian.org\n"
+"POT-Creation-Date: 2007-05-08 20:33+0200\n"
+"PO-Revision-Date: 2008-01-22 07:25+0900\n"
+"Last-Translator: Hideki Yamane (Debian-JP) <henrich at debian.or.jp>\n"
+"Language-Team: Japanese <debian-japanese at lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:2001
+msgid "Really proceed with downgrade?"
+msgstr "本当にダウングレードを実施しますか?"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:2001
+msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
+msgstr "/var/lib/mysql/debian-*.flag ファイルがこのシステム上に存在しています。"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:2001
+msgid ""
+"Such file is an indication that a mysql-server package with a higher version "
+"has been installed earlier."
+msgstr ""
+"このファイルは、より新しいバージョンの mysql-server パッケージが以前にインストール"
+"されていたことを示しています。"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:2001
+msgid ""
+"There is no guarantee that the version you're currently installing will be "
+"able to use the current databases."
+msgstr ""
+"現在のデータベースを今インストールしようとしているバージョンで使える保証はありません。"
+
+#. Type: note
+#. Description
+#: ../mysql-server-5.0.templates:3001
+msgid "Important note for NIS/YP users"
+msgstr "NIS/YP ユーザへの重要な注意"
+
+#. Type: note
+#. Description
+#: ../mysql-server-5.0.templates:3001
+msgid ""
+"To use MySQL, the following entries for users and groups should be added to "
+"the system:"
+msgstr ""
+"MySQL を使うには、システムに以下のユーザ/グループのエントリを追加する必要があります:"
+
+#. Type: note
+#. Description
+#: ../mysql-server-5.0.templates:3001
+msgid ""
+"You should also check the permissions and the owner of the /var/lib/mysql "
+"directory:"
+msgstr ""
+"/var/lib/mysql ディレクトリの権限と所有者も確認してください:"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:4001
+msgid "Remove all MySQL databases?"
+msgstr "MySQL データベースをすべて削除しますか?"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:4001
+msgid ""
+"The /var/lib/mysql directory which contains the MySQL databases is about to "
+"be removed."
+msgstr ""
+"MySQL データベースが格納されている /var/lib/mysql ディレクトリが削除されます。"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:4001
+msgid ""
+"If you're removing the MySQL package in order to later install a more recent "
+"version or if a different mysql-server package is already using it, the data "
+"should be kept."
+msgstr ""
+"より新しいバージョンの MySQL をインストールするために MySQL パッケージを削除する"
+"場合、あるいは別の mysql-server パッケージを既に使っている場合は、データを保持する"
+"必要があります。"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:5001
+msgid "Start the MySQL server on boot?"
+msgstr "MySQL サーバをシステム起動時に開始しますか?"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:5001
+msgid ""
+"The MySQL server can be launched automatically at boot time or manually with "
+"the '/etc/init.d/mysql start' command."
+msgstr ""
+"MySQL サーバをシステム起動時に自動的に開始するようにするか、あるいは "
+"'/etc/init.d/mysql start' と手動で起動するようにするかできます。"
+
+#. Type: password
+#. Description
+#: ../mysql-server-5.0.templates:6001
+msgid "New password for the MySQL \"root\" user:"
+msgstr "MySQL の \"root\" ユーザに対する新しいパスワード:"
+
+#. Type: password
+#. Description
+#: ../mysql-server-5.0.templates:6001
+msgid ""
+"While not mandatory, it is highly recommended that you set a password for "
+"the MySQL administrative \"root\" user."
+msgstr ""
+"強制ではないですが、MySQL を管理する \"root\" ユーザのパスワードを設定することを"
+"強くお勧めします。"
+
+#. Type: password
+#. Description
+#: ../mysql-server-5.0.templates:6001
+msgid "If that field is left blank, the password will not be changed."
+msgstr "入力が空の場合はパスワードは変更されません。"
+
+#. Type: error
+#. Description
+#: ../mysql-server-5.0.templates:7001
+msgid "Unable to set password for the MySQL \"root\" user"
+msgstr "MySQL の \"root\" ユーザのパスワードを設定できません"
+
+#. Type: error
+#. Description
+#: ../mysql-server-5.0.templates:7001
+msgid ""
+"An error occurred while setting the password for the MySQL administrative "
+"user. This may have happened because the account already has a password, or "
+"because of a communication problem with the MySQL server."
+msgstr ""
+"MySQL の管理者ユーザに対してパスワードを設定しようとした際、エラーが発生した"
+"ようです。これは既に管理者ユーザにパスワードが設定されていたか、MySQL サーバ"
+"との接続に問題があったためだと思われます。"
+
+#. Type: error
+#. Description
+#: ../mysql-server-5.0.templates:7001
+msgid "You should check the account's password after the package installation."
+msgstr "パッケージのインストール後、アカウントのパスワードをチェックしてください。"
+
+#. Type: error
+#. Description
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:7001 ../mysql-server-5.0.templates:8001
+msgid ""
+"Please read the /usr/share/doc/mysql-server-5.0/README.Debian file for more "
+"information."
+msgstr ""
+"詳細は /usr/share/doc/mysql-server-5.0/README.Debian ファイルを参照してください。"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:8001
+msgid "Support MySQL connections from hosts running Debian \"sarge\" or older?"
+msgstr ""
+"Debian \"Sarge\" あるいはそれよりも古いバージョンが稼働しているホストからの "
+"MySQL 接続をサポートしますか?"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:8001
+msgid ""
+"In old versions of MySQL clients on Debian, passwords were not stored "
+"securely. This has been improved since then, however clients (such as PHP) "
+"from hosts running Debian 3.1 Sarge will not be able to connect to recent "
+"accounts or accounts whose password have been changed."
+msgstr ""
+"以前の Debian の MySQL クライアントでは、パスワードは、あまり安全な方法で保存"
+"されてませんでした。これは改善されましたが、Debian 3.1 Sarge が稼働している"
+"ホストからクライアント (PHP など) が新しいアカウントやパスワードが変更された"
+"アカウントには接続できなくなります。"
+
Modified: trunk/debian/rules
===================================================================
--- trunk/debian/rules 2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/rules 2008-02-20 15:18:20 UTC (rev 1154)
@@ -29,8 +29,10 @@
USE_ASSEMBLER=--enable-assembler
endif
-ifneq ($(findstring $(ARCH), alpha arm hppa mipsel sparc),$(ARCH))
- RUN_TESTSUITE=1
+ifneq ($(findstring $(ARCH), alpha arm armel hppa mipsel powerpc sparc),)
+ TESTSUITE_FAIL_CMD=true
+else
+ TESTSUITE_FAIL_CMD=exit 1
endif
# This causes seg11 crashes if LDAP is used for groups in /etc/nsswitch.conf
@@ -123,11 +125,13 @@
$(MAKE) $(MAKE_J)
- if [ "$(RUN_TESTSUITE)" == "1" ] && [ ! -f testsuite-stamp ] ; then \
+ifeq ($(findstring $(DEB_BUILD_OPTIONS),nocheck),)
+ if [ ! -f testsuite-stamp ] ; then \
cd mysql-test ; \
- /usr/bin/perl ./mysql-test-run.pl --mysqld=--user=root --force ; \
- /usr/bin/perl ./mysql-test-run.pl --mysqld=--user=root --force --ps-protocol ; \
+ /usr/bin/perl ./mysql-test-run.pl --mysqld=--user=root --force || $(TESTSUITE_FAIL_CMD) ; \
+ /usr/bin/perl ./mysql-test-run.pl --mysqld=--user=root --force --ps-protocol || $(TESTSUITE_FAIL_CMD) ; \
fi
+endif
touch testsuite-stamp
More information about the Pkg-mysql-commits
mailing list