# Can't be tested with embedded server
--source include/not_embedded.inc

# Save the initial number of concurrent sessions
--source include/count_sessions.inc

# Bug#8471 IP address with mask fail when skip-name-resolve is on
CREATE USER mysqltest_1@'127.0.0.1/255.255.255.255';
GRANT ALL ON test.* TO mysqltest_1@'127.0.0.1/255.255.255.255';
SHOW GRANTS FOR mysqltest_1@'127.0.0.1/255.255.255.255';
REVOKE ALL ON test.* FROM mysqltest_1@'127.0.0.1/255.255.255.255';
DROP USER mysqltest_1@'127.0.0.1/255.255.255.255';

# End of 4.1 tests

# Bug#13407 Remote connecting crashes server
# Server crashed when one used USER() function in connection for which
# was impossible to obtain peer hostname.
connect (con1, localhost, root, , test, $MASTER_MYPORT, );
--replace_column 1 #
SELECT USER();
# We are only interested in the fact that statement below doesn't
# crash server.
--disable_result_log
SHOW PROCESSLIST;
--enable_result_log
connection default;
disconnect con1;

# Wait till all disconnects are completed
--source include/wait_until_count_sessions.inc

--echo #
--echo # Bug #37168: Missing variable - skip_name_resolve
--echo #

SHOW VARIABLES LIKE 'skip_name_resolve';
SHOW GLOBAL VARIABLES LIKE 'skip_name_resolve';
SHOW SESSION VARIABLES LIKE 'skip_name_resolve';

SELECT @@skip_name_resolve;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@LOCAL.skip_name_resolve;
SELECT @@GLOBAL.skip_name_resolve;

--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@skip_name_resolve=0;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@LOCAL.skip_name_resolve=0;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.skip_name_resolve=0;

--echo #
--echo # End of 5.1 tests
--echo #

--echo #
--echo # MDEV-26081 set role crashes when a hostname cannot be resolved
--echo #

create user u1@`%`;
create role r1;
create role r2;
grant r2 to r1;
grant r1 to u1@`%`;

connect u1,127.0.0.1,u1,,,$MASTER_MYPORT;
error ER_INVALID_ROLE;
set role r2;
disconnect u1;
connection default;
drop user u1@`%`;
drop role r1, r2;

--echo #
--echo # End of 10.2 tests
--echo #