MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:bar Date:May 4 2006 6:55am
Subject:bk commit into 4.1 tree (bar:1.2474)
View as plain text  
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)bar4 May