summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/sys_vars/t/secure_auth_func.test
blob: 6f4043cc33ad82d55df4dca0b882e98ca05127d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
############# mysql-test\t\secure_auth_func.test ##########################
#                                                                         #
# Variable Name: secure_auth                                              #
# Scope: GLOBAL                                                           #
# Access Type: Dynamic                                                    #
# Data Type: boolean                                                      #
# Default Value: FALSE                                                    #
# Values: TRUE / 1, FALSE / 0                                             #
#                                                                         #
#                                                                         #
# Creation Date: 2008-02-22                                               #
# Author:  Sharique Abdullah                                              #
#                                                                         #
# Description: Test Cases of Dynamic System Variable "secure_auth "       #
#              that checks behavior of this variable in the following ways#
#              * Default Value                                            #
#              * Valid & Invalid values                                   #
#              * Scope & Access method                                    #
#              * Cache behaviors                                          #
#                                                                         #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/                      #
#            server-system-variables.html#option_mysqld_secure_auth       #
#                                                                         #
###########################################################################

--echo ** Setup **
--echo
#
# Setup
#

--source include/not_embedded.inc

#
# Save initial value
#

SET @old_secure_auth = @@GLOBAL.secure_auth;

--echo '#--------------------FN_DYNVARS_144_01-------------------------#'
#
# Testing command line option value
#

SELECT @@GLOBAL.secure_auth;
--echo 1 / ON Expected

--echo '#--------------------FN_DYNVARS_144_02-------------------------#'
#
# Value OFF
#
SET GLOBAL secure_auth = OFF;

#
# Creating user with password in NEW format
#
CREATE USER 'testUser'@'localhost' IDENTIFIED BY 'newpass';

connect (con_user1,localhost,testUser,newpass,);

connection default;

#
# Setting password in OLD format
#
SET PASSWORD FOR 'testUser'@'localhost' = OLD_PASSWORD('newpass');

connect (con_user2,localhost,testUser,newpass,,,,auth=mysql_old_password:mysql_native_password);


connection default;

--echo '#--------------------FN_DYNVARS_144_03-------------------------#'
#
# Value ON
#
SET GLOBAL secure_auth = ON;

#
# Setting password in NEW format
#
SET PASSWORD FOR 'testUser'@'localhost' = PASSWORD('newpass');

connect (con_user3,localhost,testUser,newpass,);
connection default;

#
# Setting password in OLD format
#
SET PASSWORD FOR 'testUser'@'localhost' = OLD_PASSWORD('newpass');

--disable_query_log
--error ER_SERVER_IS_IN_SECURE_AUTH_MODE
connect (con_user4,localhost,testUser,newpass,);
--enable_query_log
--echo Expected error "Server is in secure auth mode"

connection default;

#
# Setting password back in NEW format
#
SET PASSWORD FOR 'testUser'@'localhost' = PASSWORD('newpass');

connect (con_user4,localhost,testUser,newpass,);

connection default;

#
# Cleanup
#

SET GLOBAL secure_auth = @old_secure_auth;

disconnect con_user1;
disconnect con_user2;
disconnect con_user3;
disconnect con_user4;

REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'testUser'@'localhost';

DROP USER 'testUser'@'localhost';