summaryrefslogtreecommitdiff
path: root/client/mysqladmin.cc
diff options
context:
space:
mode:
authorNirbhay Choubey <nirbhay.choubey@sun.com>2010-12-07 17:37:07 +0530
committerNirbhay Choubey <nirbhay.choubey@sun.com>2010-12-07 17:37:07 +0530
commite3922b8b91788a410fe8f436838c6f3aedc962f6 (patch)
treea5d0bff597e4823118b42ddd857c4944843450ed /client/mysqladmin.cc
parent5046dc160b5112d065a3b513dd90f4c1d5510807 (diff)
downloadmariadb-git-e3922b8b91788a410fe8f436838c6f3aedc962f6.tar.gz
Bug#58139 : default-auth option not recognized in MySQL standard
command line clients. Command line tools like mysqladmin and mysqldump did not recognize default-auth and plugin-dir options. Support for these options was found missing in these command line tools. Fixed by adding support for the same. client/mysqladmin.cc: Bug#58139 : default-auth option not recognized in MySQL standard command line clients. Introduced two new variables to hold values from default-auth and plugin-dir options and further pushed them to client's st_mysql instance. client/mysqldump.c: Bug#58139 : default-auth option not recognized in MySQL standard command line clients. Introduced two new variables to hold values from default-auth and plugin-dir options and further pushed them to client's st_mysql instance. mysql-test/r/plugin_auth.result: Added test case for Bug#58139. mysql-test/t/plugin_auth.test: Added test case for Bug#58139.
Diffstat (limited to 'client/mysqladmin.cc')
-rw-r--r--client/mysqladmin.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/client/mysqladmin.cc b/client/mysqladmin.cc
index 342a67fbc29..4c4747c25de 100644
--- a/client/mysqladmin.cc
+++ b/client/mysqladmin.cc
@@ -44,6 +44,7 @@ static uint tcp_port = 0, option_wait = 0, option_silent=0, nr_iterations;
static uint opt_count_iterations= 0, my_end_arg;
static ulong opt_connect_timeout, opt_shutdown_timeout;
static char * unix_port=0;
+static char *opt_plugin_dir= 0, *opt_default_auth;
#ifdef HAVE_SMEM
static char *shared_memory_base_name=0;
@@ -206,6 +207,13 @@ static struct my_option my_long_options[] =
{"shutdown_timeout", OPT_SHUTDOWN_TIMEOUT, "", &opt_shutdown_timeout,
&opt_shutdown_timeout, 0, GET_ULONG, REQUIRED_ARG,
SHUTDOWN_DEF_TIMEOUT, 0, 3600*12, 0, 1, 0},
+ {"plugin_dir", OPT_PLUGIN_DIR, "Directory for client-side plugins.",
+ (uchar**) &opt_plugin_dir, (uchar**) &opt_plugin_dir, 0,
+ GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
+ {"default_auth", OPT_PLUGIN_DIR,
+ "Default authentication client-side plugin to use.",
+ (uchar**) &opt_default_auth, (uchar**) &opt_default_auth, 0,
+ GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}
};
@@ -342,6 +350,12 @@ int main(int argc,char *argv[])
mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, default_charset);
error_flags= (myf)(opt_nobeep ? 0 : ME_BELL);
+ if (opt_plugin_dir && *opt_plugin_dir)
+ mysql_options(&mysql, MYSQL_PLUGIN_DIR, opt_plugin_dir);
+
+ if (opt_default_auth && *opt_default_auth)
+ mysql_options(&mysql, MYSQL_DEFAULT_AUTH, opt_default_auth);
+
if (sql_connect(&mysql, option_wait))
{
/*