1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

plugin renamed socket_peercred -> unix_socket.

test added.
This commit is contained in:
Sergei Golubchik
2011-12-30 13:57:03 +01:00
parent 1417606b1f
commit b8b7b4eb6b
3 changed files with 87 additions and 17 deletions

View File

@ -0,0 +1,30 @@
install plugin unix_socket soname 'auth_socket.so';
#
# with named user
#
create user USER identified via unix_socket;
#
# name match = ok
#
select user(), current_user(), database();
user() current_user() database()
USER@localhost USER@% test
#
# name does not match = failure
#
drop user USER;
#
# and now with anonymous user
#
grant SELECT ON test.* TO '' identified via unix_socket;
#
# name match = ok
#
select user(), current_user(), database();
user() current_user() database()
USER@localhost @% test
#
# name does not match = failure
#
delete from mysql.user where user='';
uninstall plugin unix_socket;

View File

@ -0,0 +1,56 @@
--source include/not_embedded.inc
if (!$AUTH_SOCKET_SO) {
skip No auth_socket plugin;
}
let $plugindir=`SELECT @@global.plugin_dir`;
eval install plugin unix_socket soname '$AUTH_SOCKET_SO';
--echo #
--echo # with named user
--echo #
--replace_result $USER USER
eval create user $USER identified via unix_socket;
--write_file $MYSQLTEST_VARDIR/tmp/peercred_test.txt
--replace_result $USER USER
select user(), current_user(), database();
EOF
--echo #
--echo # name match = ok
--echo #
--exec $MYSQL_TEST -u $USER --plugin-dir=$plugindir < $MYSQLTEST_VARDIR/tmp/peercred_test.txt
--echo #
--echo # name does not match = failure
--echo #
--error 1
--exec $MYSQL_TEST -u foobar --plugin-dir=$plugindir < $MYSQLTEST_VARDIR/tmp/peercred_test.txt
--replace_result $USER USER
eval drop user $USER;
--echo #
--echo # and now with anonymous user
--echo #
grant SELECT ON test.* TO '' identified via unix_socket;
--echo #
--echo # name match = ok
--echo #
--exec $MYSQL_TEST -u $USER --plugin-dir=$plugindir < $MYSQLTEST_VARDIR/tmp/peercred_test.txt
--echo #
--echo # name does not match = failure
--echo #
--error 1
--exec $MYSQL_TEST -u foobar --plugin-dir=$plugindir < $MYSQLTEST_VARDIR/tmp/peercred_test.txt
# restoring mysql.user to the original state.
delete from mysql.user where user='';
uninstall plugin unix_socket;
--remove_file $MYSQLTEST_VARDIR/tmp/peercred_test.txt