Commit graph

102 commits

Author SHA1 Message Date
evgen@moonbone.local
6c8f547644 grant.result, grant.test:
Corrected test case for the bug#27878.
2007-05-12 00:46:07 +04:00
evgen@moonbone.local
34f478121f Bug#27878: Unchecked privileges on a view referring to a table from another
database.

If a user has a right to update anything in the current database then the 
access was granted and further checks of access rights for underlying tables
wasn't done correctly. The check is done before a view is opened and thus no
check of access rights for underlying tables can be carried out.
This allows a user to update through a view a table from another database for
which he hasn't enough rights.

Now the mysql_update() and the mysql_test_update() functions are forces
re-checking of access rights after a view is opened.
2007-05-11 23:19:11 +04:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
49b187034d Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b27515/b27515.5.0
2007-04-24 14:08:03 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
d13861546e after-merge fix 2007-04-24 11:26:40 +05:00
anozdrin/alik@ibm.opbmk
5441aefd1d Fix for BUG#27337: Privileges are not properly restored.
The problem was that THD::db_access variable was not restored after
database switch in stored-routine-execution code.

The fix is to restore THD::db_access in this case.

Unfortunately, this fix requires additional changes,
because in prepare_schema_table(), called on the parsing stage, we checked
privileges. That was wrong according to our design, but this flaw haven't
struck so far, because it was masked. All privilege checkings must be
done on the execution stage in order to be compatible with prepared statements
and stored routines. So, this patch also contains patch for
prepare_schema_table(), which moves the checkings to the execution phase.
2007-04-03 15:11:34 +04:00
anozdrin/alik@booka.opbmk
30c8ec9fdc Fix for BUG#9504: Stored procedures: execute privilege doesn't
make 'use database' okay.

The problem was that we didn't check stored-routine privileges
in check_grant_db().

The patch adds this check.
2007-03-23 14:12:11 +03:00
kaa@polly.local
645de0c5d7 Added a test case for bug #6774 "Replication fails with Wrong usage of DB GRANT and GLOBAL PRIVILEGES" 2007-01-24 16:45:30 +03:00
kostja@bodhi.local
8566db3fc7 Remove the fix for Bug#10668 "CREATE USER does not enforce username
length limit", it's superseded by the fix for Bug#16899 "Possible buffer
overflow in handling of DEFINER-clause". Update test results.
2006-08-30 01:48:15 +04:00
kostja@bodhi.local
f8d34e1030 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-14897
2006-08-30 00:45:33 +04:00
anozdrin/alik@alik.
9af756efd3 Fix for BUG#16899: Possible buffer overflow in handling of DEFINER-clause
User name (host name) has limit on length. The server code relies on these
limits when storing the names. The problem was that sometimes these limits
were not checked properly, so that could lead to buffer overflow.

The fix is to check length of user/host name in parser and if string is too
long, throw an error.
2006-08-23 21:31:00 +04:00
cmiller@zippy.cornsilk.net
030ddb48f3 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/merge/tmp_merge
into  zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.0
2006-08-17 10:47:23 -04:00
cmiller@zippy.cornsilk.net
c627a6ce84 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/merge/tmp_merge
into  zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.0
2006-08-17 10:42:50 -04:00
holyfoot/hf@mysql.com/deer.(none)
81764f89cf Merge bk@192.168.21.1:mysql-5.0-kt
into  mysql.com:/home/hf/work/mysql-5.0.20910
2006-08-15 18:15:12 +05:00
svoj@may.pils.ru
07a1ed651f Extended a test case for bug#7391. 2006-08-11 14:41:07 +05:00
holyfoot/hf@mysql.com/deer.(none)
1ada6ca108 bug #20910 (NOT NULL column reported as NULL in SHOW FIELDS)
two test results changed after the patch
2006-08-10 14:50:54 +05:00
tnurnberg@mysql.com/salvation.intern.azundris.com
f25bf84cf4 grant.result:
manual merge
2006-08-07 04:13:05 +02:00
tnurnberg@mysql.com/salvation.intern.azundris.com
f17b889289 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/tnurnberg/work/mysql-5.0-maint-20214
2006-08-07 01:39:05 +02:00
tnurnberg@mysql.com/salvation.intern.azundris.com
35c523a6f8 Bug#20214: Incorrect error when user calls SHOW CREATE VIEW on non privileged view
"A SELECT privilege on a view is required for SHOW CREATE VIEW and it will stay
that way because of compatibility reasons." (see #20136)

a test case to illustrate how the ACLs work in this case (and ensure they will continue
to do so in the future)
2006-08-03 14:58:13 +02:00
jimw@rama.(none)
36a26abd8f Bug #10668: CREATE USER does not enforce username length limit
This appears to have just been an oversight -- CREATE USER was not enforcing
  the existing username limitations.
2006-07-24 16:45:26 -07:00
msvensson@neptunus.(none)
076ddbf840 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-05-29 15:06:37 +02:00
msvensson@neptunus.(none)
3e2c08cc99 Update after merge to 5.0 2006-05-29 15:05:31 +02:00
msvensson@neptunus.(none)
20e0714176 Merge neptunus.(none):/home/msvensson/mysql/bug16297/my50-bug16297
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-05-29 13:16:17 +02:00
gkodinov@mysql.com
a21a2b5bcd BUG#18681: View privileges are broken
The check for view security was lacking several points :
1. Check with the right set of permissions : for each table ref that
participates in a view there were the right credentials to use in it's
security_ctx member, but these weren't used for checking the credentials.
This makes hard enforcing the SQL SECURITY DEFINER|INVOKER property
consistently.
2. Because of the above the security checking for views was just ruled out
in explicit ways in several places.
3. The security was checked only for the columns of the tables that are
brought into the query from a view. So if there is no column reference
outside of the view definition it was not detecting the lack of access to
the tables in the view in SQL SECURITY INVOKER mode.

The fix below tries to fix the above 3 points.
2006-05-26 11:47:53 +03:00
msvensson@neptunus.(none)
7b2e709fb7 Bug#16297 In memory grant tables not flushed when users's hostname is ""
- In function 'handle_grant_struct' when searching the memory structures for an 
   entry to modify, convert all entries here host.hostname is NULL to "" and compare that 
   with the host passed in argument "user_from".
 - A user created with hostname "" is stored in "mysql.user" table as host="" but when loaded into 
   memory it'll be stored as host.hostname NULL. Specifiying "" as hostname means
   that "any host" can connect. Thus is's correct to turn on allow_all_hosts
   when such a user is found. 
 - Review and fix other places where host.hostname may be NULL.
2006-05-23 11:35:14 +02:00
gluh@eagle.intranet.mysql.r18.ru
f3ce98d2c9 post-merge fix 2006-03-06 15:14:15 +04:00
gluh@mysql.com
69e8b9d06e 4.1 -> 5.0 merge 2006-03-06 14:38:31 +04:00
gluh@eagle.intranet.mysql.r18.ru
f1eaf7e8ec Fix for bug#14385 GRANT and mapping to correct user account problems
Check if the host of table hash record exactly matches host from GRANT command
2006-03-06 14:03:40 +04:00
msvensson@neptunus.(none)
4bcf141799 Bug #15598 Server crashes in specific case during setting new password
- Comparing host string against NULL caused crash. 
- If host.hostname is NULL treat it as ""
2006-01-09 17:12:26 +01:00
msvensson@neptunus.(none)
7bda1e9191 Merge neptunus.(none):/home/msvensson/mysql/bug15598/my41-bug15598
into  neptunus.(none):/home/msvensson/mysql/bug15598/my50-bug15598
2006-01-09 11:16:29 +01:00
msvensson@neptunus.(none)
2a05a6ba87 Bug #15598 Server crashes in specific case during setting new password
- When acl_user->host.hostname is NULL compare it as ""
2006-01-09 10:31:07 +01:00
bar@mysql.com
814f6c6cf0 grant.result:
After merge fix.
2005-11-28 17:06:57 +04:00
monty@mysql.com
f5804869e3 Don't use PATH_MAX for FN_REFLEN as this uses too much stack space
Larger stack size neaded for open table on x86 64 bit
Fix failing test cases
Deleted symlink from bk
2005-11-24 02:36:28 +02:00
bar@mysql.com
8894bd8d55 Bug#14406 GRANTS ON objects with non-ascii names borked after FLUSH PRIVILEGES
ps_grant.result:
  Fixing result order.
grant.result:
  Adding test case,
  fixing result order.
grant.test:
  Adding test case.
sql_acl.cc:
  Fixed that my_charset_latin1 was incorrectly used instead of system_charset_info.
  This problem was previously fixed by Ingo in 5.0.
  This patch is basically a backport of the same changes into 4.1.
2005-11-14 16:36:06 +04:00
bar@mysql.com
d7bbabf989 grant.result:
After merge fix
2005-08-08 19:04:11 +05:00
bar@mysql.com
1b40adcb06 grant.result, grant.test:
fixing tests accordingly
item.cc:
  Bug #10892 user variables not auto cast for comparisons
  When mixing strings with different character sets,
  and coercibility is the same, we allow conversion
  if one character set is superset for other character set.
2005-08-04 15:25:03 +05:00
jimw@mysql.com
2669b86612 Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-07-05 15:23:13 -07:00
jimw@mysql.com
ac8f9d3864 Fix test cases 2005-07-05 15:19:04 -07:00
bell@sanja.is.com.ua
bfbd0e241b added processing of view grants to table grants (BUG#9795) 2005-07-05 13:36:36 +03:00
jimw@mysql.com
4429756e53 Fix crash when an entry was added to the mysql.tables_priv
table with an empty hostname. (Bug #11330)
2005-06-20 10:21:35 -07:00
jimw@mysql.com
b95cb4e654 Merge 2005-04-05 19:45:34 -07:00
jimw@mysql.com
5865330a9e Merge embedded server testing changes from 4.1. 2005-04-01 19:17:15 -08:00
mysqldev@mysql.com
ad26a667e6 sql_acl.cc, sql_acl.h, sql_parse.cc
New privilege CREATE USER (CREATE_USER_ACL, Create_user_priv) added
grant2.test:
  new tests (mostly backported from jani's patch)
system_mysql_db.result, sp.result, grant2.result, grant.result:
  results updated
2005-03-22 15:54:18 +01:00
jimw@mysql.com
3c5602faec Re-enable alter_table test for embedded server by moving grant-related test
to grant.test and using replace_column to neuter the Privileges column in
SHOW FULL COLUMNS.
2005-02-09 18:17:40 -08:00
jimw@mysql.com
01ddc370f0 Enable warnings for 'no default' fields being set to default when they
are not specified in an insert. Most of these changes are actually to
clean up the test suite to either specify defaults to avoid warnings,
or add the warnings to the results. Related to bug #5986.
2005-01-14 17:09:35 -08:00
serg@sergbook.mysql.com
a9c7fb9dfd post-merge 2004-12-31 17:59:43 +01:00
serg@sergbook.mysql.com
a04fc26c54 manually merged 2004-12-31 15:26:24 +01:00
dlenev@mysql.com
536cb92195 Manual merge. 2004-12-31 12:48:27 +03:00
monty@mysql.com
5e03ebbcad After merge fixes
Cleanup of mi_print_error() handling
Deleted 'merge' directory
2004-12-31 03:47:56 +02:00
monty@mysql.com
34d5331cee Merge with global tree 2004-12-31 00:50:30 +02:00
monty@mysql.com
d71c030587 After merge fixes 2004-12-31 00:44:00 +02:00