Commit 8daa1c42 authored by unknown's avatar unknown
Browse files

Merge mysql.com:/home/bkroot/mysql-4.1

into  mysql.com:/home/bk/mysql-5.0


BitKeeper/etc/config:
  Auto merged
include/my_global.h:
  Auto merged
sql/des_key_file.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/net_serv.cc:
  Auto merged
vio/vio.c:
  Auto merged
vio/viosocket.c:
  Auto merged
sql/log.cc:
  Manual merge
sql/slave.cc:
  Manual merge
parents 1c8ef0cb 73fd169d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -830,7 +830,7 @@ typedef off_t os_off_t;
#define socket_errno	WSAGetLastError()
#define SOCKET_EINTR	WSAEINTR
#define SOCKET_EAGAIN	WSAEINPROGRESS
#define SOCKET_EWOULDBLOCK WSAEINPROGRESS
#define SOCKET_EWOULDBLOCK WSAEWOULDBLOCK
#define SOCKET_ENFILE	ENFILE
#define SOCKET_EMFILE	EMFILE
#elif defined(OS2)
+3 −0
Original line number Diff line number Diff line
select des_encrypt('hello');
des_encrypt('hello')
€Ö2nV“Ø}
+9 −0
Original line number Diff line number Diff line
-- source include/have_openssl.inc

# This test can't be in func_encrypt.test, because it requires
# --des-key-file to not be set.

#
# Bug #11643: des_encrypt() causes server to die
#
select des_encrypt('hello');
+12 −6
Original line number Diff line number Diff line
@@ -22,7 +22,17 @@
struct st_des_keyschedule des_keyschedule[10];
uint   des_default_key;
pthread_mutex_t LOCK_des_key_file;
static int initialized;
static int initialized= 0;

void
init_des_key_file()
{
  if (!initialized)
  {
    initialized=1;
    pthread_mutex_init(&LOCK_des_key_file,MY_MUTEX_INIT_FAST);
  }
}

/*
 Function which loads DES keys from plaintext file into memory on MySQL
@@ -45,11 +55,7 @@ load_des_key_file(const char *file_name)
  DBUG_ENTER("load_des_key_file");
  DBUG_PRINT("enter",("name: %s",file_name));

  if (!initialized)
  {
    initialized=1;
    pthread_mutex_init(&LOCK_des_key_file,MY_MUTEX_INIT_FAST);
  }
  init_des_key_file();

  VOID(pthread_mutex_lock(&LOCK_des_key_file));
  if ((file=my_open(file_name,O_RDONLY | O_BINARY ,MYF(MY_WME))) < 0 ||
+11 −0
Original line number Diff line number Diff line
@@ -378,6 +378,9 @@ String *Item_func_des_encrypt::val_str(String *str)

  if (arg_count == 1)
  {
    /* Make sure LOCK_des_key_file was initialized. */
    init_des_key_file();

    /* Protect against someone doing FLUSH DES_KEY_FILE */
    VOID(pthread_mutex_lock(&LOCK_des_key_file));
    keyschedule= des_keyschedule[key_number=des_default_key];
@@ -388,6 +391,10 @@ String *Item_func_des_encrypt::val_str(String *str)
    key_number= (uint) args[1]->val_int();
    if (key_number > 9)
      goto error;

    /* Make sure LOCK_des_key_file was initialized. */
    init_des_key_file();

    VOID(pthread_mutex_lock(&LOCK_des_key_file));
    keyschedule= des_keyschedule[key_number];
    VOID(pthread_mutex_unlock(&LOCK_des_key_file));
@@ -474,6 +481,10 @@ String *Item_func_des_decrypt::val_str(String *str)
    // Check if automatic key and that we have privilege to uncompress using it
    if (!(current_thd->master_access & SUPER_ACL) || key_number > 9)
      goto error;

    /* Make sure LOCK_des_key_file was initialized. */
    init_des_key_file();

    VOID(pthread_mutex_lock(&LOCK_des_key_file));
    keyschedule= des_keyschedule[key_number];
    VOID(pthread_mutex_unlock(&LOCK_des_key_file));
Loading