Skip to content

Commit 2345407

Browse files
MDEV-34716 Fix mysql.servers socket max length too short
The limit of socket length on unix according to libc is 108, see sockaddr_un::sun_path, but in the table it is a string of max length 64, which results in truncation of socket and failure to connect by plugins using servers such as spider.
1 parent 84df8d7 commit 2345407

16 files changed

+90
-14
lines changed

mysql-test/main/mysqldump-system,win.rdiff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
mysql.time_zone_transition 3719776009
77
-mysql.plugin 1587119305
88
+mysql.plugin 2184891911
9-
mysql.servers 2079085450
9+
mysql.servers 2180549486
1010
-mysql.func 3241572444
1111
+mysql.func 310494789
1212
mysql.innodb_table_stats 1972297402
@@ -17,7 +17,7 @@
1717
mysql.roles_mapping 2510045525
1818
mysql.time_zone_transition 3719776009
1919
-mysql.plugin 1587119305
20-
+mysql.plugin 2184891911
20+
+mysql.plugin 2180549486
2121
mysql.servers 2079085450
2222
-mysql.func 3241572444
2323
+mysql.func 310494789

mysql-test/main/mysqldump-system.result

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1865,7 +1865,7 @@ Table Checksum
18651865
mysql.roles_mapping 2510045525
18661866
mysql.time_zone_transition 3719776009
18671867
mysql.plugin 1587119305
1868-
mysql.servers 2079085450
1868+
mysql.servers 2180549486
18691869
mysql.func 3241572444
18701870
mysql.innodb_table_stats 1972297402
18711871
mysql.table_stats 1911089388
@@ -1900,7 +1900,7 @@ Table Checksum
19001900
mysql.roles_mapping 2510045525
19011901
mysql.time_zone_transition 3719776009
19021902
mysql.plugin 1587119305
1903-
mysql.servers 2079085450
1903+
mysql.servers 2180549486
19041904
mysql.func 3241572444
19051905
mysql.innodb_table_stats 1972297402
19061906
mysql.table_stats 1911089388

mysql-test/main/servers.result

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,8 @@ SELECT * FROM mysql.servers;
2424
Server_name Host Db Username Password Port Socket Wrapper Owner
2525
s1 3306 bar mysql
2626
DROP SERVER s1;
27+
CREATE SERVER s1 FOREIGN DATA WRAPPER mysql OPTIONS(SOCKET '/tmp/1234567890_1234567890_1234567890_1234567890_1234567890_1234567890.sock');
28+
SELECT Socket FROM mysql.servers where Server_name = 's1';
29+
Socket
30+
/tmp/1234567890_1234567890_1234567890_1234567890_1234567890_1234567890.sock
31+
DROP SERVER s1;

mysql-test/main/servers.test

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,7 @@ DROP SERVER s1;
2222
CREATE SERVER s1 FOREIGN DATA WRAPPER mysql OPTIONS(SOCKET 'bar');
2323
SELECT * FROM mysql.servers;
2424
DROP SERVER s1;
25+
26+
CREATE SERVER s1 FOREIGN DATA WRAPPER mysql OPTIONS(SOCKET '/tmp/1234567890_1234567890_1234567890_1234567890_1234567890_1234567890.sock');
27+
SELECT Socket FROM mysql.servers where Server_name = 's1';
28+
DROP SERVER s1;

mysql-test/main/system_mysql_db.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ servers CREATE TABLE `servers` (
130130
`Username` char(128) NOT NULL DEFAULT '',
131131
`Password` char(64) NOT NULL DEFAULT '',
132132
`Port` int(4) NOT NULL DEFAULT 0,
133-
`Socket` char(64) NOT NULL DEFAULT '',
133+
`Socket` char(108) NOT NULL DEFAULT '',
134134
`Wrapper` char(64) NOT NULL DEFAULT '',
135135
`Owner` varchar(512) NOT NULL DEFAULT '',
136136
PRIMARY KEY (`Server_name`)

mysql-test/main/system_mysql_db_fix40123.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ servers CREATE TABLE `servers` (
168168
`Username` char(128) NOT NULL DEFAULT '',
169169
`Password` char(64) NOT NULL DEFAULT '',
170170
`Port` int(4) NOT NULL DEFAULT 0,
171-
`Socket` char(64) NOT NULL DEFAULT '',
171+
`Socket` char(108) NOT NULL DEFAULT '',
172172
`Wrapper` char(64) NOT NULL DEFAULT '',
173173
`Owner` varchar(512) NOT NULL DEFAULT '',
174174
PRIMARY KEY (`Server_name`)

mysql-test/main/system_mysql_db_fix50030.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ servers CREATE TABLE `servers` (
172172
`Username` char(128) NOT NULL DEFAULT '',
173173
`Password` char(64) NOT NULL DEFAULT '',
174174
`Port` int(4) NOT NULL DEFAULT 0,
175-
`Socket` char(64) NOT NULL DEFAULT '',
175+
`Socket` char(108) NOT NULL DEFAULT '',
176176
`Wrapper` char(64) NOT NULL DEFAULT '',
177177
`Owner` varchar(512) NOT NULL DEFAULT '',
178178
PRIMARY KEY (`Server_name`)

mysql-test/main/system_mysql_db_fix50117.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ servers CREATE TABLE `servers` (
152152
`Username` char(128) NOT NULL DEFAULT '',
153153
`Password` char(64) NOT NULL DEFAULT '',
154154
`Port` int(4) NOT NULL DEFAULT 0,
155-
`Socket` char(64) NOT NULL DEFAULT '',
155+
`Socket` char(108) NOT NULL DEFAULT '',
156156
`Wrapper` char(64) NOT NULL DEFAULT '',
157157
`Owner` varchar(512) NOT NULL DEFAULT '',
158158
PRIMARY KEY (`Server_name`)

mysql-test/main/system_mysql_db_fix50568.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ servers CREATE TABLE `servers` (
173173
`Username` char(128) NOT NULL DEFAULT '',
174174
`Password` char(64) NOT NULL DEFAULT '',
175175
`Port` int(4) NOT NULL DEFAULT 0,
176-
`Socket` char(64) NOT NULL DEFAULT '',
176+
`Socket` char(108) NOT NULL DEFAULT '',
177177
`Wrapper` char(64) NOT NULL DEFAULT '',
178178
`Owner` varchar(512) NOT NULL DEFAULT '',
179179
PRIMARY KEY (`Server_name`)

mysql-test/suite/funcs_1/r/is_columns_mysql.result

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ def mysql servers Owner 9 '' NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_
164164
def mysql servers Password 5 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) select,insert,update,references NEVER NULL NO NO
165165
def mysql servers Port 6 0 NO int NULL NULL 10 0 NULL NULL NULL int(4) select,insert,update,references NEVER NULL NO NO
166166
def mysql servers Server_name 1 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) PRI select,insert,update,references NEVER NULL NO NO
167-
def mysql servers Socket 7 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) select,insert,update,references NEVER NULL NO NO
167+
def mysql servers Socket 7 '' NO char 108 324 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(108) select,insert,update,references NEVER NULL NO NO
168168
def mysql servers Username 4 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(128) select,insert,update,references NEVER NULL NO NO
169169
def mysql servers Wrapper 8 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) select,insert,update,references NEVER NULL NO NO
170170
def mysql slow_log db 7 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select,insert,update,references NEVER NULL NO NO
@@ -492,7 +492,7 @@ NULL mysql proxies_priv Timestamp timestamp NULL NULL NULL NULL timestamp
492492
3.0000 mysql servers Username char 128 384 utf8mb3 utf8mb3_general_ci char(128)
493493
3.0000 mysql servers Password char 64 192 utf8mb3 utf8mb3_general_ci char(64)
494494
NULL mysql servers Port int NULL NULL NULL NULL int(4)
495-
3.0000 mysql servers Socket char 64 192 utf8mb3 utf8mb3_general_ci char(64)
495+
3.0000 mysql servers Socket char 108 324 utf8mb3 utf8mb3_general_ci char(108)
496496
3.0000 mysql servers Wrapper char 64 192 utf8mb3 utf8mb3_general_ci char(64)
497497
3.0000 mysql servers Owner varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
498498
NULL mysql slow_log start_time timestamp NULL NULL NULL NULL timestamp(6)

0 commit comments

Comments
 (0)