Commit 4c1712e4 authored by unknown's avatar unknown

Changed initialization of RND() to be less predictable.

Use MYSQL_CONFIG_NAME instead of "my" as the configuration file name.


Docs/manual.texi:
  Changelog
include/mysql_version.h.in:
  Use MYSQL_CONFIG_NAME instead of "my" as the configuration file name.
parent 3cf7c3e6
...@@ -46928,6 +46928,8 @@ not yet 100% confident in this code. ...@@ -46928,6 +46928,8 @@ not yet 100% confident in this code.
@appendixsubsec Changes in release 3.23.52 @appendixsubsec Changes in release 3.23.52
@itemize @bullet @itemize @bullet
@item @item
Changed initialisation of @code{RND()} to make it less predicatable.
@item
Fixed problem with @code{GROUP BY} on result with expression that created a Fixed problem with @code{GROUP BY} on result with expression that created a
@code{BLOB} field. @code{BLOB} field.
@item @item
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#define MYSQL_VERSION_ID @MYSQL_VERSION_ID@ #define MYSQL_VERSION_ID @MYSQL_VERSION_ID@
#define MYSQL_PORT @MYSQL_TCP_PORT@ #define MYSQL_PORT @MYSQL_TCP_PORT@
#define MYSQL_UNIX_ADDR "@MYSQL_UNIX_ADDR@" #define MYSQL_UNIX_ADDR "@MYSQL_UNIX_ADDR@"
#define MYSQL_CONFIG_NAME "my"
/* mysqld compile time options */ /* mysqld compile time options */
#ifndef MYSQL_CHARSET #ifndef MYSQL_CHARSET
......
...@@ -1690,7 +1690,7 @@ int main(int argc, char **argv) ...@@ -1690,7 +1690,7 @@ int main(int argc, char **argv)
exit( 1 ); exit( 1 );
} }
#endif #endif
load_defaults("my",load_default_groups,&argc,&argv); load_defaults(MYSQL_CONFIG_NAME,load_default_groups,&argc,&argv);
defaults_argv=argv; defaults_argv=argv;
mysql_tmpdir=getenv("TMPDIR"); /* Use this if possible */ mysql_tmpdir=getenv("TMPDIR"); /* Use this if possible */
#if defined( __WIN__) || defined(OS2) #if defined( __WIN__) || defined(OS2)
...@@ -2250,7 +2250,15 @@ static void create_new_thread(THD *thd) ...@@ -2250,7 +2250,15 @@ static void create_new_thread(THD *thd)
for (uint i=0; i < 8 ; i++) // Generate password teststring for (uint i=0; i < 8 ; i++) // Generate password teststring
thd->scramble[i]= (char) (rnd(&sql_rand)*94+33); thd->scramble[i]= (char) (rnd(&sql_rand)*94+33);
thd->scramble[8]=0; thd->scramble[8]=0;
thd->rand=sql_rand; /*
We need good random number initialization for new thread
Just coping global one will not work
*/
{
ulong tmp=(ulong) (rnd(&sql_rand) * 3000000);
randominit(&(thd->rand), tmp + (ulong) start_time,
tmp + (ulong) thread_id);
}
thd->real_id=pthread_self(); // Keep purify happy thd->real_id=pthread_self(); // Keep purify happy
/* Start a new thread to handle connection */ /* Start a new thread to handle connection */
...@@ -3386,7 +3394,7 @@ Starts the MySQL server\n"); ...@@ -3386,7 +3394,7 @@ Starts the MySQL server\n");
--skip-innodb Don't use Innodb (will save memory)\n\ --skip-innodb Don't use Innodb (will save memory)\n\
"); ");
#endif /* HAVE_INNOBASE_DB */ #endif /* HAVE_INNOBASE_DB */
print_defaults("my",load_default_groups); print_defaults(MYSQL_CONFIG_NAME,load_default_groups);
puts(""); puts("");
#include "sslopt-usage.h" #include "sslopt-usage.h"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment