An error occurred fetching the project authors.
  1. 26 Jul, 2008 1 commit
    • Alexey Botchkov's avatar
      Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. · c5132800
      Alexey Botchkov authored
            
            test_if_data_home_dir fixed to look into real path.
            Checks added to mi_open for symlinks into data home directory.
      modified:
        include/my_sys.h
        include/myisam.h
        myisam/mi_check.c
        myisam/mi_open.c
        myisam/mi_static.c
        myisam/myisamchk.c
        myisam/myisamdef.h
        mysql-test/r/symlink.result
        mysys/my_symlink.c
        sql/mysql_priv.h
        sql/mysqld.cc
        sql/sql_parse.cc
      
      per-file messages:
        include/my_sys.h
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          my_is_symlink interface added
        include/myisam.h
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          myisam_test_invalid_symlink interface added
        myisam/mi_check.c
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          mi_open_datafile calls modified
        myisam/mi_open.c
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          code added to mi_open to check for symlinks into data home directory.
          mi_open_datafile now accepts 'original' file path to check if it's
          an allowed symlink.
        myisam/mi_static.c
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          myisam_test_invlaid_symlink defined
        myisam/myisamchk.c
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          mi_open_datafile call modified
        myisam/myisamdef.h
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          mi_open_datafile interface modified - 'real_path' parameter added
        mysql-test/r/symlink.test
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          error codes corrected as some patch now rejected pointing inside datahome
        mysql-test/r/symlink.result
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          error messages corrected in the result
        mysys/my_symlink.c
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          my_is_symlink() implementsd
          my_realpath() now returns the 'realpath' even if a file isn't a symlink
        sql/mysql_priv.h
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          test_if_data_home_dir interface
        sql/mysqld.cc
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          myisam_test_invalid_symlik set with the 'test_if_data_home_dir'
        sql/sql_parse.cc
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          error messages corrected
          test_if_data_home_dir code fixed
      c5132800
  2. 09 Oct, 2006 1 commit
    • istruewing@chilla.local's avatar
      Bug#8283 - OPTIMIZE TABLE causes data loss · 5f08a831
      istruewing@chilla.local authored
      OPTIMIZE TABLE with myisam_repair_threads > 1 performs a non-quick 
      parallel repair. This means that it does not only rebuild all 
      indexes, but also the data file.
      
      Non-quick parallel repair works so that there is one thread per 
      index. The first of the threads rebuilds also the new data file.
      
      The problem was that all threads shared the read io cache on the
      old data file. If there were holes (deleted records) in the table,
      the first thread skipped them, writing only contiguous, non-deleted
      records to the new data file. Then it built the new index so that
      its entries pointed to the correct record positions. But the other
      threads didn't know the new record positions, but put the positions
      from the old data file into the index.
      
      The new design is so that there is a shared io cache which is filled
      by the first thread (the data file writer) with the new contiguous
      records and read by the other threads. Now they know the new record
      positions.
      
      Another problem was that for the parallel repair of compressed
      tables a common bit_buff and rec_buff was used. I changed it so
      that thread specific buffers are used for parallel repair.
      
      A similar problem existed for checksum calculation. I made this
      multi-thread safe too.
      5f08a831
  3. 22 Oct, 2005 1 commit
  4. 21 Oct, 2005 1 commit
  5. 20 Sep, 2005 1 commit
  6. 22 Sep, 2004 1 commit
    • sergefp@mysql.com's avatar
      Fix for BUG#4785: · 6e0ba8e6
      sergefp@mysql.com authored
       * myisampack leaves key_file_length value from original table
       * myisamchk uses this value when calculating key file pointer length
      6e0ba8e6
  7. 23 Jun, 2004 1 commit
    • serg@serg.mylan's avatar
      handler interface cleanups: · 3f1c4ba7
      serg@serg.mylan authored
        more logical table/index_flags
        return  HA_ERR_WRONG_COMMAND instead of abstract methods where appropriate
        max_keys and other limits renamed to max_supported_keys/etc
        max_keys/etc are now wrappers to max_supported_keys/etc 
        ha_index_init/ha_rnd_init/ha_index_end/ha_rnd_end are now wrappers to real {index,rnd}_{init,end} to enforce strict pairing
      3f1c4ba7
  8. 16 May, 2004 1 commit
    • monty@mishka.local's avatar
      key_cmp -> key_cmp_if_same · 314a8bf1
      monty@mishka.local authored
      New records_in_range() interface (similar to read_range())
      Macros for faster bitmap handling
      Simplify read_range() code (#WL1786)
      New general key_cmp() function to compare keys
      
      314a8bf1
  9. 01 May, 2004 1 commit
  10. 26 Apr, 2004 1 commit
  11. 20 Feb, 2004 1 commit
  12. 30 Dec, 2003 1 commit
    • monty@mysql.com's avatar
      Some small portability fixes. · c1dd070b
      monty@mysql.com authored
      Added support for lower_case_table_names=2, which is to be used on case insensitive file systems.
      This tells MySQL to preserve the used case of filenames and database names to make it esier to move files between cases sensitive can case insensitive file systems (like Windows and Linux)
      c1dd070b
  13. 23 Nov, 2003 1 commit
  14. 20 Nov, 2003 1 commit
  15. 18 Nov, 2003 1 commit
    • monty@mashka.mysql.fi's avatar
      CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS · cab1dc62
      monty@mashka.mysql.fi authored
      New multi-key-cache handling. This was needed becasue the old one didn't work reliable with MERGE tables.
      ALTER TABLE table_name ... CHARACTER SET  ... now changes all char/varchar/text columns to the given character set
      (One must use ALTER TABLE ... DEFAULT CHARACTER SET ... to change the default character set)
      Fixed that have_compress is detected properly (fixes problems with func_compress.test on platforms without zlib)
      New syntax for CACHE INDEX ('keys' is optional if no index name is given and one mentions the key cache name only ones)
      Removed compiler warnings
      Added mysql_set_server_option() to allow clients like PHP to easaily set/reset the multi-statement flag.
      cab1dc62
  16. 02 Oct, 2003 1 commit
  17. 05 Aug, 2003 1 commit
    • serg@serg.mylan's avatar
      table checksum background: · 79922d94
      serg@serg.mylan authored
         my_checksum() mysys function
         NISAM checksum code moved from mysys to isam/ - it's obsolete
         MyISAM checksum code moved to mysys
         table's checksum accessible from sql layer
         SHOW TABLE STATUS shows checksum (WL#646)
      code cleanup
      79922d94
  18. 02 Aug, 2003 1 commit
    • igor@rurik.mysql.com's avatar
      Many files: · 9306f55d
      igor@rurik.mysql.com authored
        Added key cache assignment
      mi_locking.c:
        Added key cache assignment: correction
      my_sys.h:
        Added key cache variable structure
      9306f55d
  19. 16 Jul, 2003 1 commit
  20. 12 Jun, 2003 1 commit
    • igor@rurik.mysql.com's avatar
      Many files: · f547f276
      igor@rurik.mysql.com authored
        New feature: preload indexes into key cache.
      mi_preload.c:
        new file
      Many files:
        Added preload statement.
      f547f276
  21. 24 Mar, 2003 1 commit
  22. 02 Mar, 2003 1 commit
  23. 21 Jan, 2003 1 commit
  24. 07 Dec, 2002 1 commit
  25. 17 Nov, 2002 1 commit
  26. 07 Nov, 2002 1 commit
  27. 08 Oct, 2002 1 commit
  28. 26 Jul, 2002 1 commit
  29. 25 Jul, 2002 1 commit
  30. 23 Jul, 2002 1 commit
    • monty@mashka.mysql.fi's avatar
      New SET syntax & system variables. · dddc20d9
      monty@mashka.mysql.fi authored
      Made a some new buffers thread specific and changeable.
      Resize of key_buffer.
      AUTO_COMMIT -> AUTOCOMMIT
      Fixed mutex bug in DROP DATABASE
      Fixed bug when using auto_increment as second part of a key where first part could include NULL.
      Split handler->extra() to extra() and extra_opt() to be able to support thread specific buffers.
      Don't write message to error log when slave reconnects becasue of timeout.
      Fixed possible update problem when using DELETE/UPDATE on small tables
      (In some cases we used index even if table scanning would be better)
      A lot of minior code cleanups
      dddc20d9
  31. 21 Jul, 2002 1 commit
  32. 14 Jul, 2002 1 commit
  33. 30 Jun, 2002 1 commit
  34. 28 Jun, 2002 1 commit
  35. 24 Jun, 2002 1 commit
  36. 19 Jun, 2002 1 commit
  37. 11 Jun, 2002 1 commit
  38. 25 Apr, 2002 2 commits
  39. 22 Mar, 2002 1 commit