Skip to content

Commit 159cc5a

Browse files
committed
Support sha256_password (with a SSL connection).
1 parent 7d2f827 commit 159cc5a

16 files changed

+91
-30
lines changed

.ci/config/config.buffer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"ConnectionString": "server=127.0.0.1;user id=mysqltest;password='test;key=\"val';port=3306;database=mysqltest;ssl mode=none;Use Affected Rows=true;BufferResultSets=true",
44
"PasswordlessUser": "no_password",
55
"SecondaryDatabase": "testdb2",
6-
"SupportedFeatures": "Json,StoredProcedures",
6+
"SupportedFeatures": "Json,StoredProcedures,Sha256Password",
77
"MySqlBulkLoaderLocalCsvFile": "%TESTDATA%/LoadData_UTF8_BOM_Unix.CSV",
88
"MySqlBulkLoaderLocalTsvFile": "%TESTDATA%/LoadData_UTF8_BOM_Unix.TSV"
99
}

.ci/config/config.compression+ssl.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"ConnectionString": "server=127.0.0.1;user id=ssltest;password=test;port=3306;database=mysqltest;ssl mode=required;use compression=true;Use Affected Rows=true",
44
"PasswordlessUser": "no_password",
55
"SecondaryDatabase": "testdb2",
6-
"SupportedFeatures": "Json,StoredProcedures",
6+
"SupportedFeatures": "Json,StoredProcedures,Sha256Password",
77
"MySqlBulkLoaderLocalCsvFile": "%TESTDATA%/LoadData_UTF8_BOM_Unix.CSV",
88
"MySqlBulkLoaderLocalTsvFile": "%TESTDATA%/LoadData_UTF8_BOM_Unix.TSV"
99
}

.ci/config/config.compression.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"ConnectionString": "server=127.0.0.1;user id=mysqltest;password='test;key=\"val';port=3306;database=mysqltest;ssl mode=none;UseCompression=true;Use Affected Rows=true",
44
"PasswordlessUser": "no_password",
55
"SecondaryDatabase": "testdb2",
6-
"SupportedFeatures": "Json,StoredProcedures",
6+
"SupportedFeatures": "Json,StoredProcedures,Sha256Password",
77
"MySqlBulkLoaderLocalCsvFile": "%TESTDATA%/LoadData_UTF8_BOM_Unix.CSV",
88
"MySqlBulkLoaderLocalTsvFile": "%TESTDATA%/LoadData_UTF8_BOM_Unix.TSV"
99
}

.ci/config/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"ConnectionString": "server=127.0.0.1;user id=mysqltest;password='test;key=\"val';port=3306;database=mysqltest;ssl mode=none;Use Affected Rows=true",
44
"PasswordlessUser": "no_password",
55
"SecondaryDatabase": "testdb2",
6-
"SupportedFeatures": "Json,StoredProcedures",
6+
"SupportedFeatures": "Json,StoredProcedures,Sha256Password",
77
"MySqlBulkLoaderLocalCsvFile": "%TESTDATA%/LoadData_UTF8_BOM_Unix.CSV",
88
"MySqlBulkLoaderLocalTsvFile": "%TESTDATA%/LoadData_UTF8_BOM_Unix.TSV"
99
}

.ci/config/config.ssl.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"ConnectionString": "server=127.0.0.1;user id=ssltest;password=test;port=3306;database=mysqltest;ssl mode=required;certificate file=../../../../../.ci/server/certs/ssl-client.pfx;Use Affected Rows=true",
44
"PasswordlessUser": "no_password",
55
"SecondaryDatabase": "testdb2",
6-
"SupportedFeatures": "Json,StoredProcedures",
6+
"SupportedFeatures": "Json,StoredProcedures,Sha256Password",
77
"MySqlBulkLoaderLocalCsvFile": "%TESTDATA%/LoadData_UTF8_BOM_Unix.CSV",
88
"MySqlBulkLoaderLocalTsvFile": "%TESTDATA%/LoadData_UTF8_BOM_Unix.TSV"
99
}

.ci/config/config.uds+ssl.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"ConnectionString": "server=./../../../../../.ci/mysqld/mysqld.sock;user id=ssltest;password=test;database=mysqltest;ssl mode=required;Use Affected Rows=true",
44
"PasswordlessUser": "no_password",
55
"SecondaryDatabase": "testdb2",
6-
"SupportedFeatures": "Json,StoredProcedures",
6+
"SupportedFeatures": "Json,StoredProcedures,Sha256Password",
77
"MySqlBulkLoaderLocalCsvFile": "%TESTDATA%/LoadData_UTF8_BOM_Unix.CSV",
88
"MySqlBulkLoaderLocalTsvFile": "%TESTDATA%/LoadData_UTF8_BOM_Unix.TSV"
99
}

.ci/config/config.uds.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"ConnectionString": "server=./../../../../../.ci/run/mysql/mysqld.sock;user id=mysqltest;password='test;key=\"val';database=mysqltest;ssl mode=none;Use Affected Rows=true",
44
"PasswordlessUser": "no_password",
55
"SecondaryDatabase": "testdb2",
6-
"SupportedFeatures": "Json,StoredProcedures",
6+
"SupportedFeatures": "Json,StoredProcedures,Sha256Password",
77
"MySqlBulkLoaderLocalCsvFile": "%TESTDATA%/LoadData_UTF8_BOM_Unix.CSV",
88
"MySqlBulkLoaderLocalTsvFile": "%TESTDATA%/LoadData_UTF8_BOM_Unix.TSV"
99
}

.ci/docker-run.sh

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
cd $(dirname $0)
33

44
display_usage() {
5-
echo -e "\nUsage:\n$0 [image] [name] [port]\n"
5+
echo -e "\nUsage:\n$0 [image] [name] [port] [features]\n"
66
}
77

88
# check whether user had supplied -h or --help . If yes display usage
@@ -13,7 +13,7 @@ then
1313
fi
1414

1515
# check number of arguments
16-
if [ $# -ne 3 ]
16+
if [ $# -ne 4 ]
1717
then
1818
display_usage
1919
exit 1
@@ -22,6 +22,7 @@ fi
2222
IMAGE=$1
2323
NAME=$2
2424
PORT=$3
25+
FEATURES=$4
2526

2627
sudo mkdir -p run/$NAME
2728
sudo chmod 777 run/$NAME
@@ -39,30 +40,34 @@ for i in `seq 1 30`; do
3940
sleep 1
4041
# try running the init script
4142
docker exec -it $NAME bash -c 'mysql -uroot -ptest < /etc/mysql/conf.d/init.sql' >/dev/null 2>&1
43+
if [ $? -ne 0 ]; then continue; fi
44+
if [[ $FEATURES == *"Sha256Password"* ]]; then
45+
docker exec -it $NAME bash -c 'mysql -uroot -ptest < /etc/mysql/conf.d/init_sha256.sql' >/dev/null 2>&1
46+
if [ $? -ne 0 ]; then continue; fi
47+
fi
48+
4249
# exit if successful
43-
if [ $? -eq 0 ]; then
50+
docker exec -it $NAME mysql -ussltest -ptest \
51+
--ssl-mode=REQUIRED \
52+
--ssl-ca=/etc/mysql/conf.d/certs/ssl-ca-cert.pem \
53+
--ssl-cert=/etc/mysql/conf.d/certs/ssl-client-cert.pem \
54+
--ssl-key=/etc/mysql/conf.d/certs/ssl-client-key.pem \
55+
-e "SELECT 1"
56+
if [ $? -ne 0 ]; then
57+
# mariadb uses --ssl=TRUE instead of --ssl-mode=REQUIRED
4458
docker exec -it $NAME mysql -ussltest -ptest \
45-
--ssl-mode=REQUIRED \
59+
--ssl=TRUE \
4660
--ssl-ca=/etc/mysql/conf.d/certs/ssl-ca-cert.pem \
4761
--ssl-cert=/etc/mysql/conf.d/certs/ssl-client-cert.pem \
4862
--ssl-key=/etc/mysql/conf.d/certs/ssl-client-key.pem \
4963
-e "SELECT 1"
5064
if [ $? -ne 0 ]; then
51-
# mariadb uses --ssl=TRUE instead of --ssl-mode=REQUIRED
52-
docker exec -it $NAME mysql -ussltest -ptest \
53-
--ssl=TRUE \
54-
--ssl-ca=/etc/mysql/conf.d/certs/ssl-ca-cert.pem \
55-
--ssl-cert=/etc/mysql/conf.d/certs/ssl-client-cert.pem \
56-
--ssl-key=/etc/mysql/conf.d/certs/ssl-client-key.pem \
57-
-e "SELECT 1"
58-
if [ $? -ne 0 ]; then
59-
>&2 echo "Problem with SSL"
60-
exit 1
61-
fi
65+
>&2 echo "Problem with SSL"
66+
exit 1
6267
fi
63-
echo "Ran Init Script"
64-
exit 0
6568
fi
69+
echo "Ran Init Script"
70+
exit 0
6671
done
6772

6873
# init script did not run

.ci/server/init_sha256.sql

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CREATE USER 'sha256user'@'%' IDENTIFIED WITH sha256_password BY 'Sh@256Pa55';
2+
GRANT ALL PRIVILEGES ON *.* TO 'sha256user'@'%';
3+

.travis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@ services: docker
55
env:
66
- IMAGE=mysql:5.7
77
NAME=mysql
8-
FEATURES=Json,StoredProcedures
8+
FEATURES=Json,StoredProcedures,Sha256Password
99
- IMAGE=percona:5.7
1010
NAME=percona
11-
FEATURES=Json,StoredProcedures
11+
FEATURES=Json,StoredProcedures,Sha256Password
1212
- IMAGE=mariadb:10.3
1313
NAME=mariadb
1414
FEATURES=StoredProcedures
1515

1616
before_install:
17-
- .ci/docker-run.sh $IMAGE $NAME 3307
17+
- .ci/docker-run.sh $IMAGE $NAME 3307 $FEATURES
1818
- sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
1919
- sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
2020
- sudo apt-get update

0 commit comments

Comments
 (0)