1--echo Preamble
2--source include/check_ipv4_mapped.inc
3--source include/check_ipv6.inc
4--source ../include/xplugin_preamble.inc
5
6# User name is limited to 32 characters, the long IPv6 localhost form
7# must be truncated like following:
8#              333322222222221111111111000000000
9#              321098765432109876543210987654321
10#   user_0000:0000:0000:0000:0000:0000:0000:0001  - before
11#               user_0::0000:0000:0000:0000:0001  - after
12#
13call mtr.add_suppression("Plugin mysqlx reported: .+: Unsuccessful login attempt: Invalid user or password");
14CREATE USER `user_localhost`@`localhost`;
15CREATE USER `user_127_0_0_1`@`127.0.0.1`;
16CREATE USER `user_::1`@`::1`;
17CREATE USER `user_0:0:0:0:0:0:0:1`@`0:0:0:0:0:0:0:1`;
18CREATE USER `user_0::0000:0000:0000:0000:0001`@`0000:0000:0000:0000:0000:0000:0000:0001`;
19CREATE USER `user_0:0:0:0:0:FFFF:127.0.0.1`@`0:0:0:0:0:FFFF:127.0.0.1`;
20CREATE USER `user_::FFFF:127.0.0.1`@`::FFFF:127.0.0.1`;
21
22--write_file $MYSQL_TMP_DIR/mysqlx-connection-info.tmp
23-->sql
24SELECT user();
25SELECT @@global.mysqlx_bind_address;
26SHOW STATUS LIKE 'mysqlx_address';
27-->endsql
28EOF
29
30--let $MYSQLXTEST_INFO= $MYSQLXTEST --file=$MYSQL_TMP_DIR/mysqlx-connection-info.tmp
31
32--echo #
33--echo #
34--echo # Server enabled with IPv4, test connectivity from localhosts
35--echo #
36--echo #
37--error 1
38--exec $MYSQLXTEST_INFO -u user_localhost --ipv=6 -h ::1
39--exec $MYSQLXTEST_INFO -u user_localhost --ipv=4 -h 127.0.0.1
40--error 1
41--exec $MYSQLXTEST_INFO -u user_127_0_0_1 --ipv=6 -h ::1
42--exec $MYSQLXTEST_INFO -u user_127_0_0_1 --ipv=4 -h 127.0.0.1
43--error 1
44--exec $MYSQLXTEST_INFO -u user_::1       --ipv=6 -h ::1
45--error 1
46--exec $MYSQLXTEST_INFO -u user_::1       --ipv=4 -h 127.0.0.1
47--error 1
48--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:0:0:1 --ipv=6 -h ::1
49--error 1
50--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:0:0:1 --ipv=4 -h 127.0.0.1
51--error 1
52--exec $MYSQLXTEST_INFO -u user_0::0000:0000:0000:0000:0001 --ipv=6 -h ::1
53--error 1
54--exec $MYSQLXTEST_INFO -u user_0::0000:0000:0000:0000:0001 --ipv=4 -h 127.0.0.1
55--error 1
56--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:FFFF:127.0.0.1 --ipv=6 -h ::1
57--error 1
58--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:FFFF:127.0.0.1 --ipv=4 -h 127.0.0.1
59--error 1
60--exec $MYSQLXTEST_INFO -u user_::FFFF:127.0.0.1 --ipv=6 -h ::1
61--error 1
62--exec $MYSQLXTEST_INFO -u user_::FFFF:127.0.0.1 --ipv=4 -h 127.0.0.1
63
64--echo #
65--echo #
66--echo # Server enabled with IPv4, test connectivity from mapped localhost-ips
67--echo #
68--echo #
69--exec $MYSQLXTEST_INFO -u user_localhost --ipv=6 -h ::FFFF:127.0.0.1
70--exec $MYSQLXTEST_INFO -u user_127_0_0_1 --ipv=6 -h ::FFFF:127.0.0.1
71--error 1
72--exec $MYSQLXTEST_INFO -u user_::1       --ipv=6 -h ::FFFF:127.0.0.1
73--error 1
74--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:0:0:1 --ipv=6 -h ::FFFF:127.0.0.1
75--error 1
76--exec $MYSQLXTEST_INFO -u user_0::0000:0000:0000:0000:0001 --ipv=6 -h ::FFFF:127.0.0.1
77--error 1
78--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:FFFF:127.0.0.1 --ipv=6 -h ::FFFF:127.0.0.1
79--error 1
80--exec $MYSQLXTEST_INFO -u user_::FFFF:127.0.0.1 --ipv=6 -h ::FFFF:127.0.0.1
81
82
83--let $restart_parameters = restart: --loose-mysqlx-bind-address=::
84--source ../include/restart_mysqld_and_wait_for_xplugin.inc
85
86--echo #
87--echo #
88--echo # Server enabled with IPv6 and IPv4, test connectivity from localhosts
89--echo #
90--echo #
91--exec $MYSQLXTEST_INFO -u user_localhost --ipv=6 -h ::1
92--exec $MYSQLXTEST_INFO -u user_localhost --ipv=4 -h 127.0.0.1
93--error 1
94--exec $MYSQLXTEST_INFO -u user_127_0_0_1 --ipv=6 -h ::1
95--exec $MYSQLXTEST_INFO -u user_127_0_0_1 --ipv=4 -h 127.0.0.1
96--exec $MYSQLXTEST_INFO -u user_::1       --ipv=6 -h ::1
97--error 1
98--exec $MYSQLXTEST_INFO -u user_::1       --ipv=4 -h 127.0.0.1
99--error 1
100--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:0:0:1 --ipv=6 -h ::1
101--error 1
102--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:0:0:1 --ipv=4 -h 127.0.0.1
103--error 1
104--exec $MYSQLXTEST_INFO -u user_0::0000:0000:0000:0000:0001 --ipv=6 -h ::1
105--error 1
106--exec $MYSQLXTEST_INFO -u user_0::0000:0000:0000:0000:0001 --ipv=4 -h 127.0.0.1
107--error 1
108--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:FFFF:127.0.0.1 --ipv=6 -h ::1
109--error 1
110--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:FFFF:127.0.0.1 --ipv=4 -h 127.0.0.1
111--error 1
112--exec $MYSQLXTEST_INFO -u user_::FFFF:127.0.0.1 --ipv=6 -h ::1
113--error 1
114--exec $MYSQLXTEST_INFO -u user_::FFFF:127.0.0.1 --ipv=4 -h 127.0.0.1
115
116--echo #
117--echo #
118--echo # Server enabled with IPv6 and IPv4, test connectivity from mapped localhost-ips
119--echo #
120--echo #
121--exec $MYSQLXTEST_INFO -u user_localhost --ipv=6 -h ::FFFF:127.0.0.1
122--exec $MYSQLXTEST_INFO -u user_127_0_0_1 --ipv=6 -h ::FFFF:127.0.0.1
123--error 1
124--exec $MYSQLXTEST_INFO -u user_::1       --ipv=6 -h ::FFFF:127.0.0.1
125--error 1
126--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:0:0:1 --ipv=6 -h ::FFFF:127.0.0.1
127--error 1
128--exec $MYSQLXTEST_INFO -u user_0::0000:0000:0000:0000:0001 --ipv=6 -h ::FFFF:127.0.0.1
129--error 1
130--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:FFFF:127.0.0.1 --ipv=6 -h ::FFFF:127.0.0.1
131--error 1
132--exec $MYSQLXTEST_INFO -u user_::FFFF:127.0.0.1 --ipv=6 -h ::FFFF:127.0.0.1
133
134
135# Postamble
136UNINSTALL PLUGIN `mysqlx`;
137DROP USER `user_localhost`@`localhost`;
138DROP USER `user_127_0_0_1`@`127.0.0.1`;
139DROP USER `user_::1`@`::1`;
140DROP USER `user_0:0:0:0:0:0:0:1`@`0:0:0:0:0:0:0:1`;
141DROP USER `user_0::0000:0000:0000:0000:0001`@`0000:0000:0000:0000:0000:0000:0000:0001`;
142DROP USER `user_0:0:0:0:0:FFFF:127.0.0.1`@`0:0:0:0:0:FFFF:127.0.0.1`;
143DROP USER `user_::FFFF:127.0.0.1`@`::FFFF:127.0.0.1`;
144
145--remove_file $MYSQL_TMP_DIR/mysqlx-connection-info.tmp
146