From: Dmitry Shulga Date: April 5 2011 3:04pm Subject: bzr commit into mysql-trunk branch (Dmitry.Shulga:3328) Bug#11764168 List-Archive: http://lists.mysql.com/commits/134733 X-Bug: 11764168 Message-Id: <201104051504.p35F4t0t021725@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2619675737224313754==" --===============2619675737224313754== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///Users/shulga/projects/mysql/mysql-trunk/ based on revid:alfranio.correia@stripped 3328 Dmitry Shulga 2011-04-05 follow-up for patch for Bug#11764168: 56976: SEVERE DENIAL OF SERVICE IN PREPARED STATEMENTS Removed using of max-long-data-size variable since it was marked as deprecated. Use max-allowed-packet instead. Variable max-long-data-size was introduced as temporal solution in order to make possible send of BLOB with size greater than 1GB. modified: sql/item.cc sql/mysqld.cc sql/sys_vars.cc === modified file 'sql/item.cc' --- a/sql/item.cc 2011-04-04 08:47:25 +0000 +++ b/sql/item.cc 2011-04-05 15:04:16 +0000 @@ -2979,12 +2979,12 @@ bool Item_param::set_longdata(const char (here), and first have to concatenate all pieces together, write query to the binary log and only then perform conversion. */ - if (str_value.length() + length > max_long_data_size) + if (str_value.length() + length > current_thd->variables.max_allowed_packet) { my_message(ER_UNKNOWN_ERROR, "Parameter of prepared statement which is set through " "mysql_send_long_data() is longer than " - "'max_long_data_size' bytes", + "'max_allowed_packet' bytes", MYF(0)); DBUG_RETURN(true); } === modified file 'sql/mysqld.cc' --- a/sql/mysqld.cc 2011-04-04 08:47:25 +0000 +++ b/sql/mysqld.cc 2011-04-05 15:04:16 +0000 @@ -323,7 +323,6 @@ static PSI_rwlock_key key_rwlock_openssl /* the default log output is log tables */ static bool lower_case_table_names_used= 0; -static bool max_long_data_size_used= false; static bool volatile select_thread_in_use, signal_thread_in_use; /* See Bug#56666 and Bug#56760 */; volatile bool ready_to_exit; @@ -482,11 +481,6 @@ ulong specialflag=0; ulong binlog_cache_use= 0, binlog_cache_disk_use= 0; ulong binlog_stmt_cache_use= 0, binlog_stmt_cache_disk_use= 0; ulong max_connections, max_connect_errors; -/* - Maximum length of parameter value which can be set through - mysql_send_long_data() call. -*/ -ulong max_long_data_size; /** Limit of the total number of prepared statements in the server. Is necessary to protect the server against out-of-memory attacks. @@ -7592,10 +7586,6 @@ mysqld_get_one_option(int optid, if (argument == NULL) /* no argument */ log_error_file_ptr= const_cast(""); break; - case OPT_MAX_LONG_DATA_SIZE: - max_long_data_size_used= true; - WARN_DEPRECATED(NULL, "--max_long_data_size", "'--max_allowed_packet'"); - break; } return 0; } @@ -7830,13 +7820,6 @@ static int get_options(int *argc_ptr, ch opt_readonly= read_only; - /* - If max_long_data_size is not specified explicitly use - value of max_allowed_packet. - */ - if (!max_long_data_size_used) - max_long_data_size= global_system_variables.max_allowed_packet; - return 0; } === modified file 'sql/sys_vars.cc' --- a/sql/sys_vars.cc 2011-04-04 10:06:13 +0000 +++ b/sql/sys_vars.cc 2011-04-05 15:04:16 +0000 @@ -1420,16 +1420,6 @@ static Sys_var_ulong Sys_max_length_for_ SESSION_VAR(max_length_for_sort_data), CMD_LINE(REQUIRED_ARG), VALID_RANGE(4, 8192*1024L), DEFAULT(1024), BLOCK_SIZE(1)); -static Sys_var_ulong Sys_max_long_data_size( - "max_long_data_size", - "The maximum BLOB length to send to server from " - "mysql_send_long_data API. Deprecated option; " - "use max_allowed_packet instead.", - READ_ONLY GLOBAL_VAR(max_long_data_size), - CMD_LINE(REQUIRED_ARG, OPT_MAX_LONG_DATA_SIZE), - VALID_RANGE(1024, UINT_MAX32), DEFAULT(1024*1024), - BLOCK_SIZE(1)); - static PolyLock_mutex PLock_prepared_stmt_count(&LOCK_prepared_stmt_count); static Sys_var_ulong Sys_max_prepared_stmt_count( "max_prepared_stmt_count", --===============2619675737224313754== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/dmitry.shulga@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: dmitry.shulga@stripped\ # 2fkkal0m3pbgrlga # target_branch: file:///Users/shulga/projects/mysql/mysql-trunk/ # testament_sha1: ea355878fd112d2606826491c599437b07079cdc # timestamp: 2011-04-05 22:04:47 +0700 # source_branch: file:///Users/shulga/projects/mysql/mysql-5.5/ # base_revision_id: alfranio.correia@stripped\ # 74vdhj8hw75d90x5 # # Begin bundle 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 umLiNbxOZef/F3JFOFCQMZZ7nA== --===============2619675737224313754==--