diff options
author | unknown <bar@mysql.com> | 2006-07-07 12:17:00 +0500 |
---|---|---|
committer | unknown <bar@mysql.com> | 2006-07-07 12:17:00 +0500 |
commit | 28729caaf61f6cfb9a1a77c576a4fc70d7be3dc0 (patch) | |
tree | 494d6e5b006604ecebd7a3643581b51a2b9b3fbf | |
parent | 4cb0659de2b9d434cfe92b48b409dadee62fa7df (diff) | |
parent | af2f9b90fa7e90468eadfbb24256b0be87dd5184 (diff) | |
download | mariadb-git-28729caaf61f6cfb9a1a77c576a4fc70d7be3dc0.tar.gz |
Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/home/bar/mysql-4.1.b17647
sql/sql_acl.cc:
Auto merged
-rw-r--r-- | mysql-test/include/have_case_sensitive_file_system.inc | 4 | ||||
-rw-r--r-- | mysql-test/r/case_sensitive_file_system.require | 2 | ||||
-rw-r--r-- | mysql-test/r/lowercase_fs_off.result | 11 | ||||
-rw-r--r-- | mysql-test/t/lowercase_fs_off.test | 27 | ||||
-rw-r--r-- | sql/sql_acl.cc | 4 |
5 files changed, 47 insertions, 1 deletions
diff --git a/mysql-test/include/have_case_sensitive_file_system.inc b/mysql-test/include/have_case_sensitive_file_system.inc new file mode 100644 index 00000000000..730af975497 --- /dev/null +++ b/mysql-test/include/have_case_sensitive_file_system.inc @@ -0,0 +1,4 @@ +--require r/case_sensitive_file_system.require +--disable_query_log +show variables like "lower_case_file_system"; +--enable_query_log diff --git a/mysql-test/r/case_sensitive_file_system.require b/mysql-test/r/case_sensitive_file_system.require new file mode 100644 index 00000000000..d0bdc6bf4ce --- /dev/null +++ b/mysql-test/r/case_sensitive_file_system.require @@ -0,0 +1,2 @@ +Variable_name Value +lower_case_file_system OFF diff --git a/mysql-test/r/lowercase_fs_off.result b/mysql-test/r/lowercase_fs_off.result new file mode 100644 index 00000000000..f610b959a47 --- /dev/null +++ b/mysql-test/r/lowercase_fs_off.result @@ -0,0 +1,11 @@ +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; diff --git a/mysql-test/t/lowercase_fs_off.test b/mysql-test/t/lowercase_fs_off.test new file mode 100644 index 00000000000..7f7b573e7ee --- /dev/null +++ b/mysql-test/t/lowercase_fs_off.test @@ -0,0 +1,27 @@ +# +# 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 diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index 204a38dfb64..734bccb6b46 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -146,7 +146,9 @@ my_bool acl_init(bool dont_read_acl_tables) 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 */ |