403Webshell
Server IP : 104.21.38.3  /  Your IP : 162.158.170.163
Web Server : Apache
System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64
User : www ( 1000)
PHP Version : 7.4.33
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /www/server/mysql/src/mysql-test/suite/auth_sec/t/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/mysql/src/mysql-test/suite/auth_sec/t/keyring_udf.test
--source include/not_embedded.inc

call mtr.add_suppression("Error while fetching key: key_id cannot be empty");
call mtr.add_suppression("Error while removing key: key_id cannot be empty");
call mtr.add_suppression("Error while generating key: invalid key_type");
call mtr.add_suppression("Error while generating key: key_id cannot be empty");
call mtr.add_suppression("Error while storing key: invalid key_type");
call mtr.add_suppression("Error while storing key: key_id cannot be empty");

--echo # Check what happens when we have not yet loaded keyring_udf or keyring_file
--source include/keyring_udf_missing_plugin.inc

#We need both plugins - keyring_file and keyring_udf in one place - to be able to load both plugins
if ($KEYRING_UDF_DIR != $KEYRING_PLUGIN_DIR)
{
  --replace_regex /\.dll/.so/
  --error 0,1
  --remove_file $KEYRING_UDF_DIR/$KEYRING_PLUGIN
  --replace_regex /\.dll/.so/
  --copy_file $KEYRING_PLUGIN_DIR/$KEYRING_PLUGIN $KEYRING_UDF_DIR/$KEYRING_PLUGIN
}
--echo # Re-starting mysql server with keyring_file plugin.
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-- send_shutdown
-- source include/wait_until_disconnected.inc
--exec echo "restart:--early-plugin-load="keyring_file=$KEYRING_PLUGIN" --keyring_file_data=$MYSQL_TMP_DIR/keyring/keyring" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
--disable_reconnect

--echo # Check what happens when we have not yet loaded keyring_udf
--source include/keyring_udf_missing_plugin.inc

--replace_regex /\.dll/.so/
eval INSTALL PLUGIN keyring_udf SONAME '$KEYRING_UDF';

--echo # Check if keys are available after server restart
--replace_regex /\.dll/.so/
eval create function keyring_key_store returns integer soname '$KEYRING_UDF';
--replace_regex /\.dll/.so/
eval create function keyring_key_generate returns integer soname '$KEYRING_UDF';

select keyring_key_generate('Rob_AES_128','AES',16);
select keyring_key_store('Rob_AES_128_store','AES',"0123456789012345");

drop function keyring_key_generate;
drop function keyring_key_store;

--echo # Re-starting mysql server with keyring_file plugin.
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-- send_shutdown
-- source include/wait_until_disconnected.inc
--exec echo "restart:--early-plugin-load="keyring_file=$KEYRING_PLUGIN" --keyring_file_data=$MYSQL_TMP_DIR/keyring/keyring" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
--disable_reconnect

--replace_regex /\.dll/.so/
eval create function keyring_key_fetch returns string soname '$KEYRING_UDF';
--replace_regex /\.dll/.so/
eval create function keyring_key_type_fetch returns string soname '$KEYRING_UDF';
--replace_regex /\.dll/.so/
eval create function keyring_key_length_fetch returns integer soname '$KEYRING_UDF';
--replace_regex /\.dll/.so/
eval create function keyring_key_remove returns integer soname '$KEYRING_UDF';

select keyring_key_fetch('Rob_AES_128') into @x;
select LENGTH(@x);
select keyring_key_length_fetch('Rob_AES_128');
select keyring_key_type_fetch('Rob_AES_128');
select keyring_key_remove('Rob_AES_128');

select keyring_key_fetch('Rob_AES_128_store') into @x;
select LENGTH(@x);
select keyring_key_length_fetch('Rob_AES_128_store');
select keyring_key_type_fetch('Rob_AES_128_store');
select keyring_key_remove('Rob_AES_128_store');

drop function keyring_key_fetch;
drop function keyring_key_type_fetch;
drop function keyring_key_length_fetch;
drop function keyring_key_remove;

--echo # Test cases for keyring_udf and keyring_file plugins loaded
--source include/keyring_udf_keyring_plugin_loaded.inc
--source include/keyring_udf_keyring_plugin_loaded_store_operations.inc

# Cases only possible for keyring_file
# Generate AES_512
select keyring_key_generate('Rob_AES_512','AES',64);
set @x= keyring_key_fetch('Rob_AES_512');
select LENGTH(@x);
select keyring_key_type_fetch('Rob_AES_512');
select keyring_key_length_fetch('Rob_AES_512');
select keyring_key_remove('Rob_AES_512');
# Store AES_512
select keyring_key_store('Rob_AES_512','AES',"0123456789012345678901234567890123456789012345678901234567890123");
set @x= keyring_key_fetch('Rob_AES_512');
select LENGTH(@x);
select keyring_key_type_fetch('Rob_AES_512');
select keyring_key_length_fetch('Rob_AES_512');
select keyring_key_remove('Rob_AES_512');
# Case only possible for keyring_file
# Generate DES 512
select keyring_key_generate('Rob_DSA_4096','DSA',512);
set @x= keyring_key_fetch('Rob_DSA_4096');
select LENGTH(@x);
select keyring_key_type_fetch('Rob_DSA_4096');
select keyring_key_length_fetch('Rob_DSA_4096');
select keyring_key_remove('Rob_DSA_4096');

UNINSTALL PLUGIN keyring_file;
--echo # Test cases for keyring_udf loaded and keyring_file plugin not loaded
--source include/keyring_udf_keyring_plugin_not_loaded.inc

--replace_regex /\.dll/.so/
eval INSTALL PLUGIN keyring_file SONAME '$KEYRING_PLUGIN';

UNINSTALL PLUGIN keyring_udf;
--echo # Test cases for keyring_udf not loaded and keyring_file plugin loaded
--source include/keyring_udf_keyring_udf_plugin_not_loaded.inc

drop function keyring_key_store;
drop function keyring_key_fetch;
drop function keyring_key_remove;
drop function keyring_key_generate;
drop function keyring_key_type_fetch;
drop function keyring_key_length_fetch;

Youez - 2016 - github.com/yon3zu
LinuXploit