From: Dmitry Shulga Date: April 11 2011 10:29am Subject: bzr push into mysql-trunk branch (Dmitry.Shulga:3345 to 3346) Bug#11764168 List-Archive: http://lists.mysql.com/commits/135178 X-Bug: 11764168 Message-Id: <201104111029.p3BATEZx009161@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8084507585227505689==" --===============8084507585227505689== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline 3346 Dmitry Shulga 2011-04-11 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 3345 Alexander Nozdrin 2011-04-11 [merge] Null-merge from mysql-5.5. === modified file 'sql/item.cc' --- a/sql/item.cc 2011-04-08 13:41:38 +0000 +++ b/sql/item.cc 2011-04-11 10:28:36 +0000 @@ -2980,12 +2980,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-11 10:28:36 +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-11 10:28:36 +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", --===============8084507585227505689== 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\ # xg3lxye6eeucozsw # target_branch: file:///Users/shulga/projects/mysql/mysql-trunk/ # testament_sha1: 07cbe63aae30d05de0c3f5876659fe4ac7abdd11 # timestamp: 2011-04-11 17:29:10 +0700 # source_branch: file:///Users/shulga/projects/mysql/mysql-5.5/ # base_revision_id: alexander.nozdrin@stripped\ # mt3bq771x7fwy3rq # # Begin bundle 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 --===============8084507585227505689==--