Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
203 changes: 203 additions & 0 deletions mysql-test/main/grant_cidr.result
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
# Valid CIDR prefixes
CREATE USER c01@'127.0.0.0/8' IDENTIFIED BY 'p';
CREATE USER c02@'127.0.0.0/24' IDENTIFIED BY 'p';
CREATE USER c03@'127.0.0.1/32' IDENTIFIED BY 'p';
CREATE USER c18@'127.0.0.0/31' IDENTIFIED BY 'p';
CREATE USER c19@'127.0.0.0/30' IDENTIFIED BY 'p';
CREATE USER c06@'0.0.0.0/1' IDENTIFIED BY 'p';
connect con1,127.0.0.1,c01,p,,$MASTER_MYPORT,;
connection con1;
SELECT CURRENT_USER();
CURRENT_USER()
c01@127.0.0.0/8
disconnect con1;
connection default;
connect con1,127.0.0.1,c02,p,,$MASTER_MYPORT,;
connection con1;
SELECT CURRENT_USER();
CURRENT_USER()
c02@127.0.0.0/24
disconnect con1;
connection default;
connect con1,127.0.0.1,c03,p,,$MASTER_MYPORT,;
connection con1;
SELECT CURRENT_USER();
CURRENT_USER()
c03@127.0.0.1/32
disconnect con1;
connection default;
connect con1,127.0.0.1,c18,p,,$MASTER_MYPORT,;
connection con1;
SELECT CURRENT_USER();
CURRENT_USER()
c18@127.0.0.0/31
disconnect con1;
connection default;
connect con1,127.0.0.1,c19,p,,$MASTER_MYPORT,;
connection con1;
SELECT CURRENT_USER();
CURRENT_USER()
c19@127.0.0.0/30
disconnect con1;
connection default;
connect con1,127.0.0.1,c06,p,,$MASTER_MYPORT,;
connection con1;
SELECT CURRENT_USER();
CURRENT_USER()
c06@0.0.0.0/1
disconnect con1;
connection default;
# Malformed prefixes must be inert, but login denied.
CREATE USER c08@'127.0.0.0/0' IDENTIFIED BY 'p';
CREATE USER c09@'127.0.0.1/0' IDENTIFIED BY 'p';
CREATE USER c10@'127.0.0.0/33' IDENTIFIED BY 'p';
CREATE USER c11@'127.0.0.0/-1' IDENTIFIED BY 'p';
CREATE USER c12@'127.0.0.0/abc' IDENTIFIED BY 'p';
CREATE USER c13@'127.0.0.0/' IDENTIFIED BY 'p';
CREATE USER c14@'127.0.0.0/24x' IDENTIFIED BY 'p';
connect(127.0.0.1,c08,p,test,MASTER_PORT,MASTER_SOCKET);
connect con1,127.0.0.1,c08,p,,$MASTER_MYPORT,;
ERROR 28000: Access denied for user 'c08'@'localhost' (using password: YES)
# If this CONNECTS, /0 was accepted and collapsed to /32 (regression).
connect(127.0.0.1,c09,p,test,MASTER_PORT,MASTER_SOCKET);
connect con1,127.0.0.1,c09,p,,$MASTER_MYPORT,;
ERROR 28000: Access denied for user 'c09'@'localhost' (using password: YES)
connect(127.0.0.1,c10,p,test,MASTER_PORT,MASTER_SOCKET);
connect con1,127.0.0.1,c10,p,,$MASTER_MYPORT,;
ERROR 28000: Access denied for user 'c10'@'localhost' (using password: YES)
connect(127.0.0.1,c11,p,test,MASTER_PORT,MASTER_SOCKET);
connect con1,127.0.0.1,c11,p,,$MASTER_MYPORT,;
ERROR 28000: Access denied for user 'c11'@'localhost' (using password: YES)
connect(127.0.0.1,c12,p,test,MASTER_PORT,MASTER_SOCKET);
connect con1,127.0.0.1,c12,p,,$MASTER_MYPORT,;
ERROR 28000: Access denied for user 'c12'@'localhost' (using password: YES)
connect(127.0.0.1,c13,p,test,MASTER_PORT,MASTER_SOCKET);
connect con1,127.0.0.1,c13,p,,$MASTER_MYPORT,;
ERROR 28000: Access denied for user 'c13'@'localhost' (using password: YES)
connect(127.0.0.1,c14,p,test,MASTER_PORT,MASTER_SOCKET);
connect con1,127.0.0.1,c14,p,,$MASTER_MYPORT,;
ERROR 28000: Access denied for user 'c14'@'localhost' (using password: YES)
# CIDR == netmask parity
CREATE USER n01@'127.0.0.0/255.0.0.0' IDENTIFIED BY 'p';
CREATE USER n02@'127.0.0.0/255.255.255.0' IDENTIFIED BY 'p';
CREATE USER n03@'127.0.0.1/255.255.255.255' IDENTIFIED BY 'p';
CREATE USER n04@'127.0.0.0/255.255.255.255' IDENTIFIED BY 'p';
CREATE USER n05@'127.0.0.0/0.0.0.0' IDENTIFIED BY 'p';
CREATE USER c04@'127.0.0.0/32' IDENTIFIED BY 'p';
connect con1,127.0.0.1,n01,p,,$MASTER_MYPORT,;
connection con1;
SELECT CURRENT_USER();
CURRENT_USER()
n01@127.0.0.0/255.0.0.0
disconnect con1;
connection default;
connect con1,127.0.0.1,n02,p,,$MASTER_MYPORT,;
connection con1;
SELECT CURRENT_USER();
CURRENT_USER()
n02@127.0.0.0/255.255.255.0
disconnect con1;
connection default;
connect con1,127.0.0.1,n03,p,,$MASTER_MYPORT,;
connection con1;
SELECT CURRENT_USER();
CURRENT_USER()
n03@127.0.0.1/255.255.255.255
disconnect con1;
connection default;
connect(127.0.0.1,n04,p,test,MASTER_PORT,MASTER_SOCKET);
connect con1,127.0.0.1,n04,p,,$MASTER_MYPORT,;
ERROR 28000: Access denied for user 'n04'@'localhost' (using password: YES)
connect(127.0.0.1,c04,p,test,MASTER_PORT,MASTER_SOCKET);
connect con1,127.0.0.1,c04,p,,$MASTER_MYPORT,;
ERROR 28000: Access denied for user 'c04'@'localhost' (using password: YES)
connect(127.0.0.1,n05,p,test,MASTER_PORT,MASTER_SOCKET);
connect con1,127.0.0.1,n05,p,,$MASTER_MYPORT,;
ERROR 28000: Access denied for user 'n05'@'localhost' (using password: YES)
# The address is masked, not compared verbatim
CREATE USER c05@'127.0.0.0/1' IDENTIFIED BY 'p';
CREATE USER c07@'127.0.0.1/24' IDENTIFIED BY 'p';
CREATE USER n07@'127.0.0.1/255.255.255.0' IDENTIFIED BY 'p';
connect(127.0.0.1,c05,p,test,MASTER_PORT,MASTER_SOCKET);
connect con1,127.0.0.1,c05,p,,$MASTER_MYPORT,;
ERROR 28000: Access denied for user 'c05'@'localhost' (using password: YES)
connect(127.0.0.1,c07,p,test,MASTER_PORT,MASTER_SOCKET);
connect con1,127.0.0.1,c07,p,,$MASTER_MYPORT,;
ERROR 28000: Access denied for user 'c07'@'localhost' (using password: YES)
connect(127.0.0.1,n07,p,test,MASTER_PORT,MASTER_SOCKET);
connect con1,127.0.0.1,n07,p,,$MASTER_MYPORT,;
ERROR 28000: Access denied for user 'n07'@'localhost' (using password: YES)
# Part 5: host specificity ordering
CREATE USER ord1@'127.0.0.0/8' IDENTIFIED BY 'p';
CREATE USER ord1@'127.0.0.0/24' IDENTIFIED BY 'p';
CREATE USER ord2@'127.0.0.0/8' IDENTIFIED BY 'p';
CREATE USER ord2@'127.0.0.0/16' IDENTIFIED BY 'p';
CREATE USER ord3@'127.0.0.0/9' IDENTIFIED BY 'p';
CREATE USER ord3@'127.0.0.1/32' IDENTIFIED BY 'p';
CREATE USER ord4@'127.0.0.0/255.255.255.0' IDENTIFIED BY 'p';
CREATE USER ord4@'127.0.0.0/8' IDENTIFIED BY 'p';
CREATE USER ord5@'127.0.0.0/255.0.0.0' IDENTIFIED BY 'p';
CREATE USER ord5@'127.0.0.0/24' IDENTIFIED BY 'p';
connect con1,127.0.0.1,ord1,p,,$MASTER_MYPORT,;
connection con1;
SELECT CURRENT_USER();
CURRENT_USER()
ord1@127.0.0.0/24
disconnect con1;
connection default;
connect con1,127.0.0.1,ord2,p,,$MASTER_MYPORT,;
connection con1;
SELECT CURRENT_USER();
CURRENT_USER()
ord2@127.0.0.0/16
disconnect con1;
connection default;
connect con1,127.0.0.1,ord3,p,,$MASTER_MYPORT,;
connection con1;
SELECT CURRENT_USER();
CURRENT_USER()
ord3@127.0.0.1/32
disconnect con1;
connection default;
connect con1,127.0.0.1,ord4,p,,$MASTER_MYPORT,;
connection con1;
SELECT CURRENT_USER();
CURRENT_USER()
ord4@127.0.0.0/255.255.255.0
disconnect con1;
connection default;
connect con1,127.0.0.1,ord5,p,,$MASTER_MYPORT,;
connection con1;
SELECT CURRENT_USER();
CURRENT_USER()
ord5@127.0.0.0/24
disconnect con1;
connection default;
# Cleanup
DROP USER c01@'127.0.0.0/8';
DROP USER c02@'127.0.0.0/24';
DROP USER c03@'127.0.0.1/32';
DROP USER c04@'127.0.0.0/32';
DROP USER c05@'127.0.0.0/1';
DROP USER c06@'0.0.0.0/1';
DROP USER c07@'127.0.0.1/24';
DROP USER c08@'127.0.0.0/0';
DROP USER c09@'127.0.0.1/0';
DROP USER c10@'127.0.0.0/33';
DROP USER c11@'127.0.0.0/-1';
DROP USER c12@'127.0.0.0/abc';
DROP USER c13@'127.0.0.0/';
DROP USER c14@'127.0.0.0/24x';
DROP USER c18@'127.0.0.0/31';
DROP USER c19@'127.0.0.0/30';
DROP USER n01@'127.0.0.0/255.0.0.0';
DROP USER n02@'127.0.0.0/255.255.255.0';
DROP USER n03@'127.0.0.1/255.255.255.255';
DROP USER n04@'127.0.0.0/255.255.255.255';
DROP USER n05@'127.0.0.0/0.0.0.0';
DROP USER n07@'127.0.0.1/255.255.255.0';
DROP USER ord1@'127.0.0.0/8', ord1@'127.0.0.0/24';
DROP USER ord2@'127.0.0.0/8', ord2@'127.0.0.0/16';
DROP USER ord3@'127.0.0.0/9', ord3@'127.0.0.1/32';
DROP USER ord4@'127.0.0.0/255.255.255.0', ord4@'127.0.0.0/8';
DROP USER ord5@'127.0.0.0/255.0.0.0', ord5@'127.0.0.0/24';
Loading