diff --git a/ChangeLog b/ChangeLog index 40280b3e53..4cb3b3cc3e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -15,6 +15,7 @@ phpMyAdmin - ChangeLog - issue #11589 Incorrect parameter in mysqli_fetch_fields() - issue #11592 Missing headers in zipped export - issue #11590 Parser: Array to string conversion +- issue #11597 Huge binary log growth on 4.5.x 4.5.1.0 (2015-10-23) - issue Invalid argument supplied for foreach() diff --git a/libraries/check_user_privileges.lib.php b/libraries/check_user_privileges.lib.php index 63f2c3e85a..b6c9851905 100644 --- a/libraries/check_user_privileges.lib.php +++ b/libraries/check_user_privileges.lib.php @@ -39,6 +39,22 @@ function PMA_checkRequiredPrivilegesForFlushing() */ function PMA_checkRequiredPrivilgesForAdjust() { + if (PMA\libraries\Util::cacheExists('db_priv')) { + $GLOBALS['db_priv'] = PMA\libraries\Util::cacheGet( + 'db_priv' + ); + $GLOBALS['col_priv'] = PMA\libraries\Util::cacheGet( + 'col_priv' + ); + $GLOBALS['table_priv'] = PMA\libraries\Util::cacheGet( + 'table_priv' + ); + $GLOBALS['proc_priv'] = PMA\libraries\Util::cacheGet( + 'proc_priv' + ); + return; + } + $privs_available = true; // FOR DB PRIVS $select_privs_available = $GLOBALS['dbi']->tryQuery( @@ -214,6 +230,12 @@ function PMA_checkRequiredPrivilgesForAdjust() // Save the value $GLOBALS['proc_priv'] = $privs_available; + // must also cacheUnset() them in + // libraries/plugins/auth/AuthenticationCookie.class.php + PMA\libraries\Util::cacheSet('proc_priv', $GLOBALS['proc_priv']); + PMA\libraries\Util::cacheSet('table_priv', $GLOBALS['table_priv']); + PMA\libraries\Util::cacheSet('col_priv', $GLOBALS['col_priv']); + PMA\libraries\Util::cacheSet('db_priv', $GLOBALS['db_priv']); } /** diff --git a/libraries/plugins/auth/AuthenticationCookie.php b/libraries/plugins/auth/AuthenticationCookie.php index 1a98ea7c7b..23d2a29416 100644 --- a/libraries/plugins/auth/AuthenticationCookie.php +++ b/libraries/plugins/auth/AuthenticationCookie.php @@ -444,6 +444,11 @@ class AuthenticationCookie extends AuthenticationPlugin Util::cacheUnset('db_to_create'); Util::cacheUnset('dbs_where_create_table_allowed'); Util::cacheUnset('dbs_to_test'); + Util::cacheUnset('db_priv'); + Util::cacheUnset('col_priv'); + Util::cacheUnset('table_priv'); + Util::cacheUnset('proc_priv'); + $GLOBALS['no_activity'] = true; $this->authFails(); if (! defined('TESTSUITE')) {