Bug #57916 Fix the naming of the proxy_priv table
Submitted: 2 Nov 2010 8:46 Modified: 30 Dec 2010 18:55
Reporter: Georgi Kodinov Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Security: Privileges Severity:S3 (Non-critical)
Version:5.5.7 OS:Any
Assigned to: Georgi Kodinov CPU Architecture:Any

[2 Nov 2010 8:46] Georgi Kodinov
Description:
From Peter Gulutzan: 

With mysql-trunk-bugfixing, I see
"
mysql> show create table proxy_priv\G
*************************** 1. row ***************************
      Table: proxy_priv                                      
Create Table: CREATE TABLE `proxy_priv` (                     
 `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',       
 `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',       
 `Proxied_Host` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
 `Proxied_User` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
 `With_Grant` tinyint(1) NOT NULL DEFAULT '0',                
 PRIMARY KEY (`Host`,`User`,`Proxied_Host`,`Proxied_User`)    
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='User
proxy
privileges'                                                             
1 row in set (0.00 sec)                                                  
"

I see that `Host` is CHAR(60) but `Proxied_Host` is CHAR(16).
I suspect that you reversed the data types of Proxied_Host
and Proxied_User.

I see that you use the singular form 'proxy' for table name.
Until now we have used plural form:
columns_priv, procs_priv, tables_priv.

I see that you don't have Timestamp or Grantor columns.
Since these proved to be necessary for other _priv tables,
I wonder why they're not necessary here.

Please have a look at the results of
SELECT DISTINCT column_name
FROM information_schema.columns
WHERE table_schema='mysql' AND column_name like '%\_%';
Notice how, for every column name in the mysql
database that contains '_' followed by a word
(other than an abbreviation), the word is not
capitalized. Except for the three columns you added:
Proxied_Host, Proxied_User, With_Grant.
I like the conventional names better.

I won't try to guess why `With_Grant` exists.

How to repeat:
Look at the definition of the table proxy_priv

Suggested fix:
1. Fix the name of the table to proxies_priv
2. Fix the column names to be of the form Capitalized_lowecarse instead of Capitalized_Capitalized
3. Add Timestamp and Grantor columns
[2 Nov 2010 12:34] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/122526

3114 Georgi Kodinov	2010-11-02
      Bug #57916: Fix the naming of the proxy_priv table
      
      1. Fixed the name of the table to proxies_priv
      2. Fixed the column names to be of the form Capitalized_lowecarse instead of
      Capitalized_Capitalized
      3. Added Timestamp and Grantor columns
      4. Added tests to plugin_auth to check the table structure
      5. Updated the existing tests
[2 Nov 2010 15:40] Kristofer Pettersson
I note a Proxy_host definition which should be CHAR(60), otherwise the patch looks fine by me. Second review is needed though.
[2 Nov 2010 15:46] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/122564

3114 Georgi Kodinov	2010-11-02
      Bug #57916: Fix the naming of the proxy_priv table
      
      1. Fixed the name of the table to proxies_priv
      2. Fixed the column names to be of the form Capitalized_lowecarse instead of
      Capitalized_Capitalized
      3. Added Timestamp and Grantor columns
      4. Added tests to plugin_auth to check the table structure
      5. Updated the existing tests
[3 Nov 2010 11:27] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/122642

3117 Georgi Kodinov	2010-11-02
      Bug #57916: Fix the naming of the proxy_priv table
      
      1. Fixed the name of the table to proxies_priv
      2. Fixed the column names to be of the form Capitalized_lowecarse instead of
      Capitalized_Capitalized
      3. Added Timestamp and Grantor columns
      4. Added tests to plugin_auth to check the table structure
      5. Updated the existing tests
[3 Nov 2010 11:51] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/122651

3118 Georgi Kodinov	2010-11-03
      Addendum to bug #57916 : fixed the test suite to be less environment 
      dependent.
[11 Nov 2010 18:50] Paul DuBois
Does not appear in any released version. No changelog entry needed.
[13 Nov 2010 16:18] Bugs System
Pushed into mysql-trunk 5.6.99-m5 (revid:alexander.nozdrin@oracle.com-20101113155825-czmva9kg4n31anmu) (version source revid:alexander.nozdrin@oracle.com-20101113152450-2zzcm50e7i4j35v7) (merge vers: 5.6.1-m4) (pib:21)
[13 Nov 2010 16:34] Bugs System
Pushed into mysql-next-mr (revid:alexander.nozdrin@oracle.com-20101113160336-atmtmfb3mzm4pz4i) (version source revid:alexander.nozdrin@oracle.com-20101113152540-gxro4g0v29l27f5x) (pib:21)
[5 Dec 2010 12:40] Bugs System
Pushed into mysql-trunk 5.6.1 (revid:alexander.nozdrin@oracle.com-20101205122447-6x94l4fmslpbttxj) (version source revid:alexander.nozdrin@oracle.com-20101205122447-6x94l4fmslpbttxj) (merge vers: 5.6.1) (pib:23)
[16 Dec 2010 22:29] Bugs System
Pushed into mysql-5.5 5.5.9 (revid:jonathan.perkin@oracle.com-20101216101358-fyzr1epq95a3yett) (version source revid:jonathan.perkin@oracle.com-20101216101358-fyzr1epq95a3yett) (merge vers: 5.5.9) (pib:24)