diff options
author | Sergei Golubchik <sergii@pisem.net> | 2012-08-08 12:32:34 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2012-08-08 12:32:34 +0200 |
commit | 704898bf3200af4da42c1bf9251a7da5533db73f (patch) | |
tree | 8f87d8216530959492e37976f6aca4cdcfa53645 /sql-common | |
parent | 1877016c39c6f4f20003cdcb6cb8dbd68abd77ef (diff) | |
download | mariadb-git-704898bf3200af4da42c1bf9251a7da5533db73f.tar.gz |
undo the fix for MySQL Bug#12998841
Diffstat (limited to 'sql-common')
-rw-r--r-- | sql-common/client.c | 70 | ||||
-rw-r--r-- | sql-common/client_plugin.c | 5 |
2 files changed, 9 insertions, 66 deletions
diff --git a/sql-common/client.c b/sql-common/client.c index ef1e3c1b7d4..16beb27978e 100644 --- a/sql-common/client.c +++ b/sql-common/client.c @@ -1136,8 +1136,7 @@ static const char *default_options[]= "connect-timeout", "local-infile", "disable-local-infile", "ssl-cipher", "max-allowed-packet", "protocol", "shared-memory-base-name", "multi-results", "multi-statements", "multi-queries", "secure-auth", - "report-data-truncation", "plugin-dir", "default-auth", - "enable-cleartext-plugin", + "report-data-truncation", "plugin-dir", "default-auth", NullS }; enum option_id { @@ -1149,7 +1148,6 @@ enum option_id { OPT_ssl_cipher, OPT_max_allowed_packet, OPT_protocol, OPT_shared_memory_base_name, OPT_multi_results, OPT_multi_statements, OPT_multi_queries, OPT_secure_auth, OPT_report_data_truncation, OPT_plugin_dir, OPT_default_auth, - OPT_enable_cleartext_plugin, OPT_keep_this_one_last }; @@ -1182,27 +1180,14 @@ static int add_init_command(struct st_mysql_options *options, const char *cmd) return 0; } -#define ALLOCATE_EXTENSIONS(OPTS) \ +#define EXTENSION_SET_STRING(OPTS, X, STR) \ + if ((OPTS)->extension) \ + my_free((OPTS)->extension->X); \ + else \ (OPTS)->extension= (struct st_mysql_options_extention *) \ my_malloc(sizeof(struct st_mysql_options_extention), \ - MYF(MY_WME | MY_ZEROFILL)) \ - -#define ENSURE_EXTENSIONS_PRESENT(OPTS) \ - do { \ - if (!(OPTS)->extension) \ - ALLOCATE_EXTENSIONS(OPTS); \ - } while (0) - - -#define EXTENSION_SET_STRING(OPTS, X, STR) \ - do { \ - if ((OPTS)->extension) \ - my_free((OPTS)->extension->X); \ - else \ - ALLOCATE_EXTENSIONS(OPTS); \ - (OPTS)->extension->X= ((STR) != NULL) ? \ - my_strdup((STR), MYF(MY_WME)) : NULL; \ - } while (0) + MYF(MY_WME | MY_ZEROFILL)); \ + (OPTS)->extension->X= my_strdup((STR), MYF(MY_WME)); void mysql_read_default_options(struct st_mysql_options *options, const char *filename,const char *group) @@ -1401,13 +1386,6 @@ void mysql_read_default_options(struct st_mysql_options *options, case OPT_default_auth: EXTENSION_SET_STRING(options, default_auth, opt_arg); break; - - case OPT_enable_cleartext_plugin: - ENSURE_EXTENSIONS_PRESENT(options); - options->extension->enable_cleartext_plugin= - (!opt_arg || atoi(opt_arg) != 0) ? TRUE : FALSE; - break; - default: DBUG_PRINT("warning",("unknown option: %s",option[0])); } @@ -2804,27 +2782,6 @@ static void client_mpvio_info(MYSQL_PLUGIN_VIO *vio, mpvio_info(mpvio->mysql->net.vio, info); } - -my_bool libmysql_cleartext_plugin_enabled= 0; - -static my_bool check_plugin_enabled(MYSQL *mysql, auth_plugin_t *plugin) -{ - if (plugin == &clear_password_client_plugin && - (!libmysql_cleartext_plugin_enabled && - (!mysql->options.extension || - !mysql->options.extension->enable_cleartext_plugin))) - { - set_mysql_extended_error(mysql, CR_AUTH_PLUGIN_CANNOT_LOAD, - unknown_sqlstate, - ER(CR_AUTH_PLUGIN_CANNOT_LOAD), - clear_password_client_plugin.name, - "plugin not enabled"); - return TRUE; - } - return FALSE; -} - - /** Client side of the plugin driver authentication. @@ -2867,9 +2824,6 @@ int run_plugin_auth(MYSQL *mysql, char *data, uint data_len, auth_plugin_name= auth_plugin->name; } - if (check_plugin_enabled(mysql, auth_plugin)) - DBUG_RETURN(1); - DBUG_PRINT ("info", ("using plugin %s", auth_plugin_name)); mysql->net.last_errno= 0; /* just in case */ @@ -2961,9 +2915,6 @@ int run_plugin_auth(MYSQL *mysql, char *data, uint data_len, auth_plugin_name, MYSQL_CLIENT_AUTHENTICATION_PLUGIN))) DBUG_RETURN (1); - if (check_plugin_enabled(mysql, auth_plugin)) - DBUG_RETURN(1); - mpvio.plugin= auth_plugin; res= auth_plugin->authenticate_user((struct st_plugin_vio *)&mpvio, mysql); @@ -4172,11 +4123,6 @@ mysql_options(MYSQL *mysql,enum mysql_option option, const void *arg) case MYSQL_DEFAULT_AUTH: EXTENSION_SET_STRING(&mysql->options, default_auth, arg); break; - case MYSQL_ENABLE_CLEARTEXT_PLUGIN: - ENSURE_EXTENSIONS_PRESENT(&mysql->options); - mysql->options.extension->enable_cleartext_plugin= - (*(my_bool*) arg) ? TRUE : FALSE; - break; default: DBUG_RETURN(1); } @@ -4396,3 +4342,5 @@ static int clear_password_auth_client(MYSQL_PLUGIN_VIO *vio, MYSQL *mysql) return res ? CR_ERROR : CR_OK; } + + diff --git a/sql-common/client_plugin.c b/sql-common/client_plugin.c index 75faeb7ee97..4016f0744be 100644 --- a/sql-common/client_plugin.c +++ b/sql-common/client_plugin.c @@ -197,10 +197,6 @@ err1: static void load_env_plugins(MYSQL *mysql) { char *plugs, *free_env, *s= getenv("LIBMYSQL_PLUGINS"); - char *enable_cleartext_plugin= getenv("LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN"); - - if (enable_cleartext_plugin && strchr("1Yy", enable_cleartext_plugin[0])) - libmysql_cleartext_plugin_enabled= 1; /* no plugins to load */ if(!s) @@ -216,7 +212,6 @@ static void load_env_plugins(MYSQL *mysql) } while (s); my_free(free_env); - } /********** extern functions to be used by libmysql *********************/ |