Below is the list of changes that have just been committed into a local
4.1 repository of bar. When bar does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.2474 06/05/04 11:55:09 bar@stripped +5 -0
Bugs#17647: Trouble with "create database"
Problem:
if a user was granted privileges on database "d1",
it also was able to act on "D1" (i.e. in upper case),
even on Unix with case sensitive file system.
Fix:
Initialize grant hash to use binary comparison
if lower_case_file_system is not set (on most unixes),
and case insensitive comparison otherwise (Windows, MacOSX).
mysql-test/t/lowercase_fs_off.test
1.1 06/05/04 11:55:04 bar@stripped +27 -0
Adding test case
mysql-test/t/lowercase_fs_off.test
1.0 06/05/04 11:55:04 bar@stripped +0 -0
BitKeeper file /usr/home/bar/mysql-4.1.b17647/mysql-test/t/lowercase_fs_off.test
mysql-test/r/lowercase_fs_off.result
1.1 06/05/04 11:55:03 bar@stripped +11 -0
Adding test case
mysql-test/r/case_sensitive_file_system.require
1.1 06/05/04 11:55:03 bar@stripped +2 -0
New BitKeeper file ``mysql-test/r/case_sensitive_file_system.require''
Backporting from 5.1
mysql-test/include/have_case_sensitive_file_system.inc
1.1 06/05/04 11:55:03 bar@stripped +4 -0
New BitKeeper file ``mysql-test/include/have_case_sensitive_file_system.inc''
Backporting from 5.1
sql/sql_acl.cc
1.175 06/05/04 11:55:03 bar@stripped +3 -1
Initialize hash to use binary comparison with case sensitive FS.
mysql-test/r/lowercase_fs_off.result
1.0 06/05/04 11:55:03 bar@stripped +0 -0
BitKeeper file /usr/home/bar/mysql-4.1.b17647/mysql-test/r/lowercase_fs_off.result
mysql-test/r/case_sensitive_file_system.require
1.0 06/05/04 11:55:03 bar@stripped +0 -0
BitKeeper file
/usr/home/bar/mysql-4.1.b17647/mysql-test/r/case_sensitive_file_system.require
mysql-test/include/have_case_sensitive_file_system.inc
1.0 06/05/04 11:55:03 bar@stripped +0 -0
BitKeeper file
/usr/home/bar/mysql-4.1.b17647/mysql-test/include/have_case_sensitive_file_system.inc
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: bar
# Host: bar.intranet.mysql.r18.ru
# Root: /usr/home/bar/mysql-4.1.b17647
--- 1.174/sql/sql_acl.cc 2006-03-06 14:02:54 +04:00
+++ 1.175/sql/sql_acl.cc 2006-05-04 11:55:03 +05:00
@@ -146,7 +146,9 @@ my_bool acl_init(bool dont_read_acl_tabl
acl_cache= new hash_filo(ACL_CACHE_SIZE, 0, 0,
(hash_get_key) acl_entry_get_key,
- (hash_free_key) free, system_charset_info);
+ (hash_free_key) free,
+ lower_case_file_system ?
+ system_charset_info : &my_charset_bin);
if (dont_read_acl_tables)
{
DBUG_RETURN(0); /* purecov: tested */
--- New file ---
+++ mysql-test/include/have_case_sensitive_file_system.inc 06/05/04 11:55:03
--require r/case_sensitive_file_system.require
--disable_query_log
show variables like "lower_case_file_system";
--enable_query_log
--- New file ---
+++ mysql-test/r/case_sensitive_file_system.require 06/05/04 11:55:03
Variable_name Value
lower_case_file_system OFF
--- New file ---
+++ mysql-test/r/lowercase_fs_off.result 06/05/04 11:55:03
create database d1;
grant all on d1.* to 'sample'@'localhost' identified by 'password';
flush privileges;
select database();
database()
d1
create database d2;
ERROR 42000: Access denied for user 'sample'@'localhost' to database 'd2'
create database D1;
ERROR 42000: Access denied for user 'sample'@'localhost' to database 'D1'
drop database if exists d1;
--- New file ---
+++ mysql-test/t/lowercase_fs_off.test 06/05/04 11:55:04
#
# Specific tests for case sensitive file systems
# i.e. lower_case_filesystem=OFF
#
-- source include/have_case_sensitive_file_system.inc
connect (master,localhost,root,,);
connection master;
create database d1;
grant all on d1.* to 'sample'@'localhost' identified by 'password';
flush privileges;
connect (sample,localhost,sample,password,d1);
connection sample;
select database();
--error 1044
create database d2;
--error 1044
create database D1;
disconnect sample;
connection master;
drop database if exists d1;
disconnect master;
connection default;
# End of 4.1 tests
| Thread |
|---|
| • bk commit into 4.1 tree (bar:1.2474) | bar | 4 May |