44 changed files with 555 additions and 108 deletions
-
2CMakeLists.txt
-
13cmake/FindGit.cmake
-
5cmake/FindJNI.cmake
-
5cmake/FindJava.cmake
-
6cmake/build_configurations/mysql_release.cmake
-
2cmake/cpack_rpm.cmake
-
4cmake/cpu_info.cmake
-
2dbug/CMakeLists.txt
-
4debian/mariadb-plugin-connect.install
-
41mysql-test/main/ctype_filename.result
-
35mysql-test/main/ctype_filename.test
-
2mysql-test/main/mysqld--help.result
-
2mysql-test/main/mysqld--help.test
-
21mysql-test/main/subselect4.result
-
27mysql-test/main/subselect4.test
-
2mysql-test/suite/binlog/r/binlog_admin_cmd_kill.result
-
5mysql-test/suite/binlog/t/binlog_admin_cmd_kill.test
-
4mysql-test/suite/galera/disabled.def
-
16mysql-test/suite/galera/r/MDEV-25562.result
-
23mysql-test/suite/galera/t/MDEV-25562.test
-
12mysql-test/suite/innodb_fts/r/innodb-fts-ddl.result
-
13mysql-test/suite/innodb_fts/r/misc_debug.result
-
1mysql-test/suite/innodb_fts/t/innodb-fts-ddl.opt
-
19mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test
-
15mysql-test/suite/innodb_fts/t/misc_debug.test
-
121mysql-test/suite/perfschema/r/hostcache_ipv4_auth_ed25519.result
-
56mysql-test/suite/perfschema/t/hostcache_ipv4_auth_ed25519.test
-
6plugin/auth_ed25519/server_ed25519.c
-
39scripts/wsrep_sst_common.sh
-
1sql/item.cc
-
39sql/item_subselect.cc
-
7sql/lock.cc
-
2sql/mysqld.cc
-
2sql/mysqld.h
-
5sql/sql_acl.cc
-
3sql/sql_class.h
-
2sql/sql_lex.cc
-
6sql/sql_parse.cc
-
8sql/sql_view.cc
-
4storage/connect/CMakeLists.txt
-
14storage/connect/javaconn.cpp
-
35storage/innobase/fts/fts0fts.cc
-
21storage/innobase/handler/ha_innodb.cc
-
11storage/mroonga/vendor/groonga/CMakeLists.txt
@ -0,0 +1,13 @@ |
|||
if(GIT_EXECUTABLE) |
|||
set(GIT_FOUND TRUE) |
|||
return() |
|||
endif() |
|||
if(DEFINED GIT_EXECUTABLE) |
|||
set(GIT_FOUND FALSE) |
|||
return() |
|||
endif() |
|||
|
|||
set(orig_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}) |
|||
unset(CMAKE_MODULE_PATH) |
|||
include(FindGit) |
|||
set(CMAKE_MODULE_PATH ${orig_CMAKE_MODULE_PATH}) |
@ -1,2 +1,6 @@ |
|||
etc/mysql/mariadb.conf.d/connect.cnf |
|||
usr/lib/mysql/plugin/ha_connect.so |
|||
usr/share/mysql/Mongo2.jar |
|||
usr/share/mysql/Mongo3.jar |
|||
usr/share/mysql/JavaWrappers.jar |
|||
usr/share/mysql/JdbcInterface.jar |
@ -0,0 +1,16 @@ |
|||
connection node_2; |
|||
connection node_1; |
|||
SET SESSION WSREP_ON=0; |
|||
FLUSH TABLES WITH READ LOCK AND DISABLE CHECKPOINT; |
|||
SET SESSION WSREP_ON=1; |
|||
UNLOCK TABLES; |
|||
SET GLOBAL wsrep_ignore_apply_errors=1; |
|||
CREATE TABLE t1 (a CHAR(1)) engine=innodb; |
|||
CREATE TABLE t1 (a CHAR(1)) engine=innodb; |
|||
ERROR 42S01: Table 't1' already exists |
|||
SHOW PROCEDURE STATUS WHERE db = 'test'; |
|||
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation |
|||
SET GLOBAL read_only=1; |
|||
SET GLOBAL wsrep_ignore_apply_errors=DEFAULT; |
|||
SET GLOBAL read_only=DEFAULT; |
|||
DROP TABLE t1; |
@ -0,0 +1,23 @@ |
|||
# |
|||
# MDEV-25562 Assertion `pause_seqno_.is_undefined() == false' failed in void wsrep::server_state::resume() |
|||
# |
|||
|
|||
--source include/galera_cluster.inc |
|||
--source include/have_innodb.inc |
|||
|
|||
SET SESSION WSREP_ON=0; |
|||
FLUSH TABLES WITH READ LOCK AND DISABLE CHECKPOINT; |
|||
SET SESSION WSREP_ON=1; |
|||
UNLOCK TABLES; |
|||
|
|||
SET GLOBAL wsrep_ignore_apply_errors=1; |
|||
CREATE TABLE t1 (a CHAR(1)) engine=innodb; |
|||
--error ER_TABLE_EXISTS_ERROR |
|||
CREATE TABLE t1 (a CHAR(1)) engine=innodb; |
|||
SHOW PROCEDURE STATUS WHERE db = 'test'; |
|||
SET GLOBAL read_only=1; |
|||
|
|||
SET GLOBAL wsrep_ignore_apply_errors=DEFAULT; |
|||
SET GLOBAL read_only=DEFAULT; |
|||
DROP TABLE t1; |
|||
|
@ -0,0 +1 @@ |
|||
--enable-plugin-innodb-sys-tables |
@ -0,0 +1,121 @@ |
|||
install soname 'auth_ed25519'; |
|||
flush status; |
|||
flush hosts; |
|||
flush user_resources; |
|||
flush privileges; |
|||
select `User`, `Host` from mysql.`user` where `host` like '%\\%%'; |
|||
User Host |
|||
select `User`, `Host` from mysql.`user` where `user` like '192.%'; |
|||
User Host |
|||
select `User`, `Host` from mysql.`user` where `user` like '2001:%'; |
|||
User Host |
|||
select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%'; |
|||
User Host |
|||
create user plug1@'santa.claus.ipv4.example.com' |
|||
identified with ed25519; |
|||
update mysql.global_priv set priv=json_set(priv, '$.authentication_string', 'foo') where user='plug1'; |
|||
flush privileges; |
|||
create user plug2@'santa.claus.ipv4.example.com' |
|||
identified with ED25519 as 'vubFBzIrapbfHct1/J72dnUryz5VS7lA6XHH8sIx4TI'; |
|||
set @saved_dbug = @@global.debug_dbug; |
|||
set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4"; |
|||
connect(127.0.0.1,plug1,foo,test,PORT,SOCKET); |
|||
connect con1, 127.0.0.1, plug1,foo,,$MASTER_MYPORT; |
|||
ERROR 28000: Access denied for user 'plug1'@'santa.claus.ipv4.example.com' (using password: YES) |
|||
# Dumping performance_schema.host_cache |
|||
IP 192.0.2.4 |
|||
HOST santa.claus.ipv4.example.com |
|||
HOST_VALIDATED YES |
|||
SUM_CONNECT_ERRORS 1 |
|||
COUNT_HOST_BLOCKED_ERRORS 0 |
|||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0 |
|||
COUNT_NAMEINFO_PERMANENT_ERRORS 0 |
|||
COUNT_FORMAT_ERRORS 0 |
|||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0 |
|||
COUNT_ADDRINFO_PERMANENT_ERRORS 0 |
|||
COUNT_FCRDNS_ERRORS 0 |
|||
COUNT_HOST_ACL_ERRORS 0 |
|||
COUNT_NO_AUTH_PLUGIN_ERRORS 0 |
|||
COUNT_AUTH_PLUGIN_ERRORS 0 |
|||
COUNT_HANDSHAKE_ERRORS 1 |
|||
COUNT_PROXY_USER_ERRORS 0 |
|||
COUNT_PROXY_USER_ACL_ERRORS 0 |
|||
COUNT_AUTHENTICATION_ERRORS 0 |
|||
COUNT_SSL_ERRORS 0 |
|||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0 |
|||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0 |
|||
COUNT_DEFAULT_DATABASE_ERRORS 0 |
|||
COUNT_INIT_CONNECT_ERRORS 0 |
|||
COUNT_LOCAL_ERRORS 0 |
|||
COUNT_UNKNOWN_ERRORS 0 |
|||
FIRST_ERROR_SEEN set |
|||
LAST_ERROR_SEEN set |
|||
connect(127.0.0.1,plug2,bar,test,PORT,SOCKET); |
|||
connect con1, 127.0.0.1, plug2,bar,,$MASTER_MYPORT; |
|||
ERROR 28000: Access denied for user 'plug2'@'santa.claus.ipv4.example.com' (using password: YES) |
|||
# Dumping performance_schema.host_cache |
|||
IP 192.0.2.4 |
|||
HOST santa.claus.ipv4.example.com |
|||
HOST_VALIDATED YES |
|||
SUM_CONNECT_ERRORS 1 |
|||
COUNT_HOST_BLOCKED_ERRORS 0 |
|||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0 |
|||
COUNT_NAMEINFO_PERMANENT_ERRORS 0 |
|||
COUNT_FORMAT_ERRORS 0 |
|||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0 |
|||
COUNT_ADDRINFO_PERMANENT_ERRORS 0 |
|||
COUNT_FCRDNS_ERRORS 0 |
|||
COUNT_HOST_ACL_ERRORS 0 |
|||
COUNT_NO_AUTH_PLUGIN_ERRORS 0 |
|||
COUNT_AUTH_PLUGIN_ERRORS 0 |
|||
COUNT_HANDSHAKE_ERRORS 1 |
|||
COUNT_PROXY_USER_ERRORS 0 |
|||
COUNT_PROXY_USER_ACL_ERRORS 0 |
|||
COUNT_AUTHENTICATION_ERRORS 1 |
|||
COUNT_SSL_ERRORS 0 |
|||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0 |
|||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0 |
|||
COUNT_DEFAULT_DATABASE_ERRORS 0 |
|||
COUNT_INIT_CONNECT_ERRORS 0 |
|||
COUNT_LOCAL_ERRORS 0 |
|||
COUNT_UNKNOWN_ERRORS 0 |
|||
FIRST_ERROR_SEEN set |
|||
LAST_ERROR_SEEN set |
|||
connect con1, 127.0.0.1, plug2,foo,,$MASTER_MYPORT; |
|||
select current_user(); |
|||
current_user() |
|||
plug2@santa.claus.ipv4.example.com |
|||
disconnect con1; |
|||
connection default; |
|||
# Dumping performance_schema.host_cache |
|||
IP 192.0.2.4 |
|||
HOST santa.claus.ipv4.example.com |
|||
HOST_VALIDATED YES |
|||
SUM_CONNECT_ERRORS 0 |
|||
COUNT_HOST_BLOCKED_ERRORS 0 |
|||
COUNT_NAMEINFO_TRANSIENT_ERRORS 0 |
|||
COUNT_NAMEINFO_PERMANENT_ERRORS 0 |
|||
COUNT_FORMAT_ERRORS 0 |
|||
COUNT_ADDRINFO_TRANSIENT_ERRORS 0 |
|||
COUNT_ADDRINFO_PERMANENT_ERRORS 0 |
|||
COUNT_FCRDNS_ERRORS 0 |
|||
COUNT_HOST_ACL_ERRORS 0 |
|||
COUNT_NO_AUTH_PLUGIN_ERRORS 0 |
|||
COUNT_AUTH_PLUGIN_ERRORS 0 |
|||
COUNT_HANDSHAKE_ERRORS 1 |
|||
COUNT_PROXY_USER_ERRORS 0 |
|||
COUNT_PROXY_USER_ACL_ERRORS 0 |
|||
COUNT_AUTHENTICATION_ERRORS 1 |
|||
COUNT_SSL_ERRORS 0 |
|||
COUNT_MAX_USER_CONNECTIONS_ERRORS 0 |
|||
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0 |
|||
COUNT_DEFAULT_DATABASE_ERRORS 0 |
|||
COUNT_INIT_CONNECT_ERRORS 0 |
|||
COUNT_LOCAL_ERRORS 0 |
|||
COUNT_UNKNOWN_ERRORS 0 |
|||
FIRST_ERROR_SEEN set |
|||
LAST_ERROR_SEEN set |
|||
drop user plug1@'santa.claus.ipv4.example.com'; |
|||
drop user plug2@'santa.claus.ipv4.example.com'; |
|||
set @@global.debug_dbug = @saved_dbug; |
|||
uninstall plugin ed25519; |
@ -0,0 +1,56 @@ |
|||
# |
|||
# Tests for the performance_schema host_cache. |
|||
# |
|||
# Test authorization with auth plugins. |
|||
# error reporting in: |
|||
# - column COUNT_AUTH_PLUGIN_ERRORS |
|||
# - column COUNT_PROXY_USER_ERRORS |
|||
# - column COUNT_PROXY_USER_ACL_ERRORS |
|||
|
|||
source include/not_embedded.inc; |
|||
source include/have_debug.inc; |
|||
source include/have_perfschema.inc; |
|||
source include/have_plugin_auth.inc; |
|||
source include/have_hostname_cache.inc; |
|||
|
|||
if (!$AUTH_ED25519_SO) { |
|||
skip No auth_ed25519 plugin; |
|||
} |
|||
install soname 'auth_ed25519'; |
|||
|
|||
# Enforce a clean state |
|||
source ../include/wait_for_pfs_thread_count.inc; |
|||
source ../include/hostcache_set_state.inc; |
|||
|
|||
create user plug1@'santa.claus.ipv4.example.com' |
|||
identified with ed25519; |
|||
update mysql.global_priv set priv=json_set(priv, '$.authentication_string', 'foo') where user='plug1'; |
|||
flush privileges; |
|||
|
|||
create user plug2@'santa.claus.ipv4.example.com' |
|||
identified with ED25519 as 'vubFBzIrapbfHct1/J72dnUryz5VS7lA6XHH8sIx4TI'; |
|||
|
|||
set @saved_dbug = @@global.debug_dbug; |
|||
set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4"; |
|||
|
|||
replace_result $MASTER_MYPORT PORT $MASTER_MYSOCK SOCKET; |
|||
error ER_ACCESS_DENIED_ERROR; |
|||
connect con1, 127.0.0.1, plug1,foo,,$MASTER_MYPORT; |
|||
source ../include/hostcache_dump.inc; |
|||
|
|||
replace_result $MASTER_MYPORT PORT $MASTER_MYSOCK SOCKET; |
|||
error ER_ACCESS_DENIED_ERROR; |
|||
connect con1, 127.0.0.1, plug2,bar,,$MASTER_MYPORT; |
|||
source ../include/hostcache_dump.inc; |
|||
|
|||
connect con1, 127.0.0.1, plug2,foo,,$MASTER_MYPORT; |
|||
select current_user(); |
|||
disconnect con1; |
|||
connection default; |
|||
source ../include/hostcache_dump.inc; |
|||
|
|||
drop user plug1@'santa.claus.ipv4.example.com'; |
|||
drop user plug2@'santa.claus.ipv4.example.com'; |
|||
|
|||
set @@global.debug_dbug = @saved_dbug; |
|||
uninstall plugin ed25519; |
Write
Preview
Loading…
Cancel
Save
Reference in new issue