1--echo Preamble
2--source include/have_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#
13CREATE USER `user_localhost`@`localhost`;
14CREATE USER `user_127_0_0_1`@`127.0.0.1`;
15CREATE USER `user_::1`@`::1`;
16CREATE USER `user_0:0:0:0:0:0:0:1`@`0:0:0:0:0:0:0:1`;
17CREATE USER `user_0::0000:0000:0000:0000:0001`@`0000:0000:0000:0000:0000:0000:0000:0001`;
18CREATE USER `user_0:0:0:0:0:FFFF:127.0.0.1`@`0:0:0:0:0:FFFF:127.0.0.1`;
19CREATE USER `user_::FFFF:127.0.0.1`@`::FFFF:127.0.0.1`;
20
21--write_file $MYSQL_TMP_DIR/mysqlx-connection-info.tmp
22-->sql
23SELECT user();
24SELECT @@global.mysqlx_bind_address;
25SHOW STATUS LIKE 'mysqlx_address';
26-->endsql
27EOF
28
29--let $MYSQLXTEST_INFO= $MYSQLXTEST --file=$MYSQL_TMP_DIR/mysqlx-connection-info.tmp
30
31--echo #
32--echo #
33--echo # Server enabled with IPv4, test connectivity from localhosts
34--echo #
35--echo #
36--error 1
37--exec $MYSQLXTEST_INFO -u user_localhost --ipv=6 -h ::1
38--exec $MYSQLXTEST_INFO -u user_localhost --ipv=4 -h 127.0.0.1
39--error 1
40--exec $MYSQLXTEST_INFO -u user_127_0_0_1 --ipv=6 -h ::1
41--exec $MYSQLXTEST_INFO -u user_127_0_0_1 --ipv=4 -h 127.0.0.1
42--error 1
43--exec $MYSQLXTEST_INFO -u user_::1       --ipv=6 -h ::1
44--error 1
45--exec $MYSQLXTEST_INFO -u user_::1       --ipv=4 -h 127.0.0.1
46--error 1
47--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:0:0:1 --ipv=6 -h ::1
48--error 1
49--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:0:0:1 --ipv=4 -h 127.0.0.1
50--error 1
51--exec $MYSQLXTEST_INFO -u user_0::0000:0000:0000:0000:0001 --ipv=6 -h ::1
52--error 1
53--exec $MYSQLXTEST_INFO -u user_0::0000:0000:0000:0000:0001 --ipv=4 -h 127.0.0.1
54--error 1
55--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:FFFF:127.0.0.1 --ipv=6 -h ::1
56--error 1
57--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:FFFF:127.0.0.1 --ipv=4 -h 127.0.0.1
58--error 1
59--exec $MYSQLXTEST_INFO -u user_::FFFF:127.0.0.1 --ipv=6 -h ::1
60--error 1
61--exec $MYSQLXTEST_INFO -u user_::FFFF:127.0.0.1 --ipv=4 -h 127.0.0.1
62
63--echo #
64--echo #
65--echo # Server enabled with IPv4, test connectivity from mapped localhost-ips
66--echo #
67--echo #
68--exec $MYSQLXTEST_INFO -u user_localhost --ipv=6 -h ::FFFF:127.0.0.1
69--exec $MYSQLXTEST_INFO -u user_127_0_0_1 --ipv=6 -h ::FFFF:127.0.0.1
70--error 1
71--exec $MYSQLXTEST_INFO -u user_::1       --ipv=6 -h ::FFFF:127.0.0.1
72--error 1
73--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:0:0:1 --ipv=6 -h ::FFFF:127.0.0.1
74--error 1
75--exec $MYSQLXTEST_INFO -u user_0::0000:0000:0000:0000:0001 --ipv=6 -h ::FFFF:127.0.0.1
76--error 1
77--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:FFFF:127.0.0.1 --ipv=6 -h ::FFFF:127.0.0.1
78--error 1
79--exec $MYSQLXTEST_INFO -u user_::FFFF:127.0.0.1 --ipv=6 -h ::FFFF:127.0.0.1
80
81
82--let $restart_parameters = restart: --loose-mysqlx-bind-address=::
83--source include/restart_mysqld.inc
84
85--echo #
86--echo #
87--echo # Server enabled with IPv6 and IPv4, test connectivity from localhosts
88--echo #
89--echo #
90--exec $MYSQLXTEST_INFO -u user_localhost --ipv=6 -h ::1
91--exec $MYSQLXTEST_INFO -u user_localhost --ipv=4 -h 127.0.0.1
92--error 1
93--exec $MYSQLXTEST_INFO -u user_127_0_0_1 --ipv=6 -h ::1
94--exec $MYSQLXTEST_INFO -u user_127_0_0_1 --ipv=4 -h 127.0.0.1
95--exec $MYSQLXTEST_INFO -u user_::1       --ipv=6 -h ::1
96--error 1
97--exec $MYSQLXTEST_INFO -u user_::1       --ipv=4 -h 127.0.0.1
98--error 1
99--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:0:0:1 --ipv=6 -h ::1
100--error 1
101--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:0:0:1 --ipv=4 -h 127.0.0.1
102--error 1
103--exec $MYSQLXTEST_INFO -u user_0::0000:0000:0000:0000:0001 --ipv=6 -h ::1
104--error 1
105--exec $MYSQLXTEST_INFO -u user_0::0000:0000:0000:0000:0001 --ipv=4 -h 127.0.0.1
106--error 1
107--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:FFFF:127.0.0.1 --ipv=6 -h ::1
108--error 1
109--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:FFFF:127.0.0.1 --ipv=4 -h 127.0.0.1
110--error 1
111--exec $MYSQLXTEST_INFO -u user_::FFFF:127.0.0.1 --ipv=6 -h ::1
112--error 1
113--exec $MYSQLXTEST_INFO -u user_::FFFF:127.0.0.1 --ipv=4 -h 127.0.0.1
114
115--echo #
116--echo #
117--echo # Server enabled with IPv6 and IPv4, test connectivity from mapped localhost-ips
118--echo #
119--echo #
120--exec $MYSQLXTEST_INFO -u user_localhost --ipv=6 -h ::FFFF:127.0.0.1
121--exec $MYSQLXTEST_INFO -u user_127_0_0_1 --ipv=6 -h ::FFFF:127.0.0.1
122--error 1
123--exec $MYSQLXTEST_INFO -u user_::1       --ipv=6 -h ::FFFF:127.0.0.1
124--error 1
125--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:0:0:1 --ipv=6 -h ::FFFF:127.0.0.1
126--error 1
127--exec $MYSQLXTEST_INFO -u user_0::0000:0000:0000:0000:0001 --ipv=6 -h ::FFFF:127.0.0.1
128--error 1
129--exec $MYSQLXTEST_INFO -u user_0:0:0:0:0:FFFF:127.0.0.1 --ipv=6 -h ::FFFF:127.0.0.1
130--error 1
131--exec $MYSQLXTEST_INFO -u user_::FFFF:127.0.0.1 --ipv=6 -h ::FFFF:127.0.0.1
132
133
134## Cleanup
135--let $restart_parameters = restart:
136--source include/restart_mysqld.inc
137
138DROP USER `user_localhost`@`localhost`;
139DROP USER `user_127_0_0_1`@`127.0.0.1`;
140DROP USER `user_::1`@`::1`;
141DROP USER `user_0:0:0:0:0:0:0:1`@`0:0:0:0:0:0:0:1`;
142DROP USER `user_0::0000:0000:0000:0000:0001`@`0000:0000:0000:0000:0000:0000:0000:0001`;
143DROP USER `user_0:0:0:0:0:FFFF:127.0.0.1`@`0:0:0:0:0:FFFF:127.0.0.1`;
144DROP USER `user_::FFFF:127.0.0.1`@`::FFFF:127.0.0.1`;
145
146--remove_file $MYSQL_TMP_DIR/mysqlx-connection-info.tmp
147