summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <peter@mysql.com>2002-12-05 14:01:15 +0300
committerunknown <peter@mysql.com>2002-12-05 14:01:15 +0300
commit47fb31aa4659fb24d88fbc3fa869d3b50f37b258 (patch)
treefcdb5b34d287fe29add73dbd71da48fb01747cf7
parent339cf7ce7bc856996812786f95dfa9f8717d3b99 (diff)
downloadmariadb-git-47fb31aa4659fb24d88fbc3fa869d3b50f37b258.tar.gz
Fix minor bug and add test of connection with new/old/without passwords
libmysql/libmysql.c: Small fix (resulted in connection without database even if one is specified) sql/mini_client.cc: The same fix for replication copy
-rw-r--r--libmysql/libmysql.c1
-rw-r--r--mysql-test/r/connect.result34
-rw-r--r--mysql-test/t/connect.test67
-rw-r--r--sql/mini_client.cc1
4 files changed, 101 insertions, 2 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index 7a5fcb8c6b7..97fc3c3be9b 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -2233,7 +2233,6 @@ Try also with PIPE or TCP/IP
bfill(end, SCRAMBLE_LENGTH, 'x');
end+=SCRAMBLE_LENGTH;
*end=0;
- end++;
}
else /* For empty password*/
{
diff --git a/mysql-test/r/connect.result b/mysql-test/r/connect.result
new file mode 100644
index 00000000000..3e9091462d8
--- /dev/null
+++ b/mysql-test/r/connect.result
@@ -0,0 +1,34 @@
+show tables;
+Tables_in_mysql
+columns_priv
+db
+func
+host
+tables_priv
+user
+show tables;
+Tables_in_test
+grant ALL on *.* to test@localhost identified by "gambling";
+grant ALL on *.* to test@127.0.0.1 identified by "gambling";
+show tables;
+Tables_in_mysql
+columns_priv
+db
+func
+host
+tables_priv
+user
+show tables;
+Tables_in_test
+update mysql.user set password=old_password("gambling2") where user="test";
+flush privileges;
+show tables;
+Tables_in_mysql
+columns_priv
+db
+func
+host
+tables_priv
+user
+show tables;
+Tables_in_test
diff --git a/mysql-test/t/connect.test b/mysql-test/t/connect.test
new file mode 100644
index 00000000000..0bc5ca3914f
--- /dev/null
+++ b/mysql-test/t/connect.test
@@ -0,0 +1,67 @@
+# This test is to check various cases of connections
+# with right and wrong password, with and without database
+# Unfortunately the check is incomplete as we can't handle errors on connect
+# Also we can't connect without database
+
+#connect (con1,localhost,root,,"");
+#show tables;
+connect (con1,localhost,root,,mysql);
+show tables;
+connect (con1,localhost,root,,test);
+show tables;
+
+# Re enable this one day if error handling on connect will take place
+
+#connect (con1,localhost,root,z,test2);
+#--error 1045
+#connect (con1,localhost,root,z,);
+#--error 1045
+
+grant ALL on *.* to test@localhost identified by "gambling";
+grant ALL on *.* to test@127.0.0.1 identified by "gambling";
+
+# Now check this user with different databases
+
+#connect (con1,localhost,test,gambling,"");
+#show tables;
+connect (con1,localhost,test,gambling,mysql);
+show tables;
+connect (con1,localhost,test,gambling,test);
+show tables;
+
+# Re enable this one day if error handling on connect will take place
+
+#connect (con1,localhost,test,,test2);
+#--error 1045
+#connect (con1,localhost,test,,"");
+#--error 1045
+#connect (con1,localhost,test,zorro,test2);
+#--error 1045
+#connect (con1,localhost,test,zorro,);
+#--error 1045
+
+
+
+# check if old password version also works
+update mysql.user set password=old_password("gambling2") where user="test";
+flush privileges;
+
+#connect (con1,localhost,test,gambling2,"");
+#show tables;
+connect (con1,localhost,test,gambling2,mysql);
+show tables;
+connect (con1,localhost,test,gambling2,test);
+show tables;
+
+# Re enable this one day if error handling on connect will take place
+
+#connect (con1,localhost,test,,test2);
+#--error 1045
+#connect (con1,localhost,test,,);
+#--error 1045
+#connect (con1,localhost,test,zorro,test2);
+#--error 1045
+#connect (con1,localhost,test,zorro,);
+#--error 1045
+
+
diff --git a/sql/mini_client.cc b/sql/mini_client.cc
index 31668e38a6f..83f68a28228 100644
--- a/sql/mini_client.cc
+++ b/sql/mini_client.cc
@@ -815,7 +815,6 @@ mc_mysql_connect(MYSQL *mysql,const char *host, const char *user,
bfill(end, SCRAMBLE_LENGTH, 'x');
end+=SCRAMBLE_LENGTH;
*end=0;
- end++;
}
else /* For empty password*/
{