1. 29 Sep, 2011 1 commit
    • Tatjana Azundris Nuernberg's avatar
      Bug#11765687 (MySQL58677): No privilege on table / view, but can know #rows /... · 8932ae21
      Tatjana Azundris Nuernberg authored
      Bug#11765687 (MySQL58677): No privilege on table / view, but can know #rows / underlying table's name
      
      1 - If a user had SHOW VIEW and SELECT privileges on a view and
      this view was referencing another view, EXPLAIN SELECT on the outer
      view (that the user had privileges on) could reveal the structure
      of the underlying "inner" view as well as the number of rows in
      the underlying tables, even if the user had privileges on none of
      these referenced objects.
      
      This happened because we used DEFINER's UID ("SUID") not just for
      the view given in EXPLAIN, but also when checking privileges on
      the underlying views (where we should use the UID of the EXPLAIN's
      INVOKER instead).
      
      We no longer run the EXPLAIN SUID (with DEFINER's privileges).
      This prevents a possible exploit and makes permissions more
      orthogonal.
      
      2 - EXPLAIN SELECT would reveal a view's structure even if the user
      did not have SHOW VIEW privileges for that view, as long as they
      had SELECT privilege on the underlying tables.
      
      Instead of requiring both SHOW VIEW privilege on a view and SELECT
      privilege on all underlying tables, we were checking for presence
      of either of them.
      
      We now explicitly require SHOW VIEW and SELECT privileges on
      the view we run EXPLAIN SELECT on, as well as all its
      underlying views. We also require SELECT on all relevant
      tables. 
      
      
      mysql-test/r/view_grant.result:
        add extensive tests to illustrate desired behavior and
        prevent regressions (as always).
      mysql-test/t/view_grant.test:
        add extensive tests to illustrate desired behavior and
        prevent regressions (as always).
      sql/sql_view.cc:
        We no longer run the EXPLAIN SUID (with DEFINER's privileges).
        To achieve this, we use a temporary, SUID-less TABLE_LIST for
        the views while checking privileges.
      8932ae21
  2. 17 Aug, 2011 1 commit
  3. 18 Jul, 2011 1 commit
  4. 15 Jul, 2011 1 commit
    • Tor Didriksen's avatar
      Bug#12406055 BUFFER OVERFLOW OF VARIABLE 'BUFF' IN STRING::SET_REAL · cfcd49b4
      Tor Didriksen authored
      The buffer was simply too small.
      In 5.5 and trunk, the size is 311 + 31,
      in 5.1 and below, the size is 331
      
      
      client/sql_string.cc:
        Increase buffer size in String::set(double, ...)
      include/m_string.h:
        Increase FLOATING_POINT_BUFFER
      mysql-test/r/type_float.result:
        New test cases.
      mysql-test/t/type_float.test:
        New test cases.
      sql/sql_string.cc:
        Increase buffer size in String::set(double, ...)
      sql/unireg.h:
        Move definition of FLOATING_POINT_BUFFER
      cfcd49b4
  5. 07 Jul, 2011 1 commit
  6. 06 Jul, 2011 1 commit
  7. 30 Jun, 2011 2 commits
  8. 29 Jun, 2011 1 commit
  9. 16 Jun, 2011 1 commit
  10. 10 Jun, 2011 2 commits
  11. 10 May, 2011 1 commit
  12. 06 May, 2011 1 commit
  13. 05 May, 2011 1 commit
  14. 04 May, 2011 3 commits
    • Georgi Kodinov's avatar
      Addendum to bug #11764517 : don't create links for --mem directory, move the --vardir instead. · 93f62d51
      Georgi Kodinov authored
      The new --secure-file-priv checks dereference any symlinks in the paths and compare the 
      resolved paths.
      Thus the 5.0 test suite must do as the 5.1 and up and avoid using symlinks.
      93f62d51
    • Tor Didriksen's avatar
      Bug#12329653 - EXPLAIN, UNION, PREPARED STATEMENT, CRASH, SQL_FULL_GROUP_BY · 1cf483aa
      Tor Didriksen authored
      The query was re-written *after* we had tagged it with NON_AGG_FIELD_USED.
      Remove the flag before continuing.
      
      
      mysql-test/r/explain.result:
        Update test case for Bug#48295.
      mysql-test/r/subselect.result:
        New test case.
      mysql-test/t/explain.test:
        Update test case for Bug#48295.
      mysql-test/t/subselect.test:
        New test case.
      sql/item.cc:
        Use accessor functions for non_agg_field_used/agg_func_used.
      sql/item_subselect.cc:
        Remove non_agg_field_used when we rewrite query '1 < some (...)' => '1 < max(...)'
      sql/item_sum.cc:
        Use accessor functions for non_agg_field_used/agg_func_used.
      sql/mysql_priv.h:
        Remove unused #defines.
      sql/sql_lex.cc:
        Initialize new member variables.
      sql/sql_lex.h:
        Replace full_group_by_flag with two boolean flags,
        and itroduce accessors for manipulating them.
      sql/sql_select.cc:
        Use accessor functions for non_agg_field_used/agg_func_used.
      1cf483aa
    • Georgi Kodinov's avatar
  15. 28 Apr, 2011 1 commit
    • Georgi Kodinov's avatar
      Bug #11764517: 57359: POSSIBLE TO CIRCUMVENT SECURE_FILE_PRIV · 59d75160
      Georgi Kodinov authored
        USING '..' ON WINDOWS
      
      Backport of the fix to 5.0 (to be null-merged to 5.1).
      Moved the test into the main test suite. 
      Made mysql-test-run.pl to not use symlinks for sdtdata as the symlinks
      are now properly recognized by secure_file_priv.
      Made sure the paths in load_file(), LOAD DATA and SELECT .. INTO OUTFILE 
      that are checked against secure_file_priv in a correct way similarly to 5.1 
      by the extended is_secure_file_path() backport before the comparison.
      Added an extensive test with all the variants of upper/lower case, 
      slash/backslash and case sensitivity.
      Added few comments to the code.
      59d75160
  16. 18 Apr, 2011 1 commit
  17. 13 Apr, 2011 1 commit
  18. 11 Apr, 2011 6 commits
  19. 07 Apr, 2011 1 commit
  20. 22 Mar, 2011 2 commits
    • Magne Mahre's avatar
      Post-push fix for Bug 11896296 · 326b97cf
      Magne Mahre authored
      Didn't build on Solaris.
      326b97cf
    • Magne Mahre's avatar
      Bug#11896296 REMOVE LGPL LICENSED FILES IN MYSQL 5.0 · 55e42237
      Magne Mahre authored
      The LGPL license is used in some legacy code, and to
      adhere to current licensing polity, we remove those
      files that are no longer used, and reorganize the
      remaining LGPL code so it will be GPL licensed from
      now on.
      
      Note:  This patch only removed LGPL licensed files
             in MySQL 5.0, and is the first of a set of
             patches to remove LGPL from all trees.
             (See Bug# 11840513 for details)
      
      
      
      include/my_compare.h:
        Mostly code moved in from my_handler
      include/my_global.h:
        AIX-only code.   Function used to be in my_port.c
        Inlining instead.
      libmysql/Makefile.shared:
        my_gethostbyname and my_port is removed
      myisam/mi_check.c:
        ha_find_null is moved from my_handler and made static.
      55e42237
  21. 21 Mar, 2011 3 commits
  22. 16 Mar, 2011 1 commit
  23. 09 Mar, 2011 2 commits
  24. 16 Feb, 2011 1 commit
  25. 10 Feb, 2011 1 commit
  26. 09 Feb, 2011 2 commits