From: Dmitry Shulga Date: April 8 2011 11:18am Subject: bzr commit into mysql-trunk branch (Dmitry.Shulga:3344) Bug#11764168 List-Archive: http://lists.mysql.com/commits/135059 X-Bug: 11764168 Message-Id: <201104081118.p38BIkI2021268@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0315856601994183358==" --===============0315856601994183358== 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:alexander.nozdrin@stripped 3344 Dmitry Shulga 2011-04-08 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-08 08:15:19 +0000 +++ b/sql/item.cc 2011-04-08 11:18: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-08 11:18: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-08 11:18: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", --===============0315856601994183358== 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\ # mw4yqjkn5w0y47rh # target_branch: file:///Users/shulga/projects/mysql/mysql-trunk/ # testament_sha1: 6d290e9638beebce409decfcb9c34e6ebdba4a02 # timestamp: 2011-04-08 18:18:40 +0700 # source_branch: file:///Users/shulga/projects/mysql/mysql-5.5/ # base_revision_id: alexander.nozdrin@stripped\ # e74cs8d61tmqcez3 # # Begin bundle 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 --===============0315856601994183358==--