mirror of
https://github.com/MariaDB/server.git
synced 2026-05-06 23:25:34 +02:00
10.0-monty merge
includes: * remove some remnants of "Bug#14521864: MYSQL 5.1 TO 5.5 BUGS PARTITIONING" * introduce LOCK_share, now LOCK_ha_data is strictly for engines * rea_create_table() always creates .par file (even in "frm-only" mode) * fix a 5.6 bug, temp file leak on dummy ALTER TABLE
This commit is contained in:
commit
b7b5f6f1ab
1378 changed files with 124559 additions and 47549 deletions
|
|
@ -1,8 +1,8 @@
|
|||
#ifndef MY_MD5_INCLUDED
|
||||
#define MY_MD5_INCLUDED
|
||||
|
||||
/* Copyright (c) 2000, 2001, 2007 MySQL AB, 2009 Sun Microsystems, Inc.
|
||||
Use is subject to license terms
|
||||
/* Copyright (c) 2000, 2012, Oracle and/or its affiliates.
|
||||
Copyright (c) 2013 Monty Program Ab
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -17,79 +17,36 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
|
||||
|
||||
/* See md5.c for explanation and copyright information. */
|
||||
#include "m_string.h"
|
||||
|
||||
#define MD5_HASH_SIZE 16 /* Hash size in bytes */
|
||||
|
||||
/*
|
||||
* $FreeBSD: src/contrib/cvs/lib/md5.h,v 1.2 1999/12/11 15:10:02 peter Exp $
|
||||
*/
|
||||
|
||||
#if defined(HAVE_YASSL) || defined(HAVE_OPENSSL)
|
||||
/*
|
||||
Use MD5 implementation provided by the SSL libraries.
|
||||
Wrapper function for MD5 implementation.
|
||||
*/
|
||||
|
||||
#if defined(HAVE_YASSL)
|
||||
|
||||
C_MODE_START
|
||||
|
||||
void my_md5_hash(char *digest, const char *buf, int len);
|
||||
|
||||
C_MODE_END
|
||||
|
||||
#else /* HAVE_YASSL */
|
||||
|
||||
#include <openssl/md5.h>
|
||||
|
||||
#define MY_MD5_HASH(digest, buf, len) \
|
||||
do { \
|
||||
MD5_CTX ctx; \
|
||||
MD5_Init (&ctx); \
|
||||
MD5_Update (&ctx, buf, len); \
|
||||
MD5_Final (digest, &ctx); \
|
||||
} while (0)
|
||||
|
||||
#endif /* HAVE_YASSL */
|
||||
|
||||
#else /* HAVE_YASSL || HAVE_OPENSSL */
|
||||
/* Fallback to the MySQL's implementation. */
|
||||
|
||||
/* Unlike previous versions of this code, uint32 need not be exactly
|
||||
32 bits, merely 32 bits or more. Choosing a data type which is 32
|
||||
bits instead of 64 is not important; speed is considerably more
|
||||
important. ANSI guarantees that "unsigned long" will be big enough,
|
||||
and always using it seems to have few disadvantages. */
|
||||
typedef uint32 cvs_uint32;
|
||||
|
||||
typedef struct {
|
||||
cvs_uint32 buf[4];
|
||||
cvs_uint32 bits[2];
|
||||
unsigned char in[64];
|
||||
} my_MD5Context;
|
||||
|
||||
C_MODE_START
|
||||
|
||||
void my_MD5Init (my_MD5Context *context);
|
||||
void my_MD5Update (my_MD5Context *context,
|
||||
unsigned char const *buf, unsigned len);
|
||||
void my_MD5Final (unsigned char digest[16],
|
||||
my_MD5Context *context);
|
||||
|
||||
C_MODE_END
|
||||
|
||||
#define MY_MD5_HASH(digest,buf,len) \
|
||||
do { \
|
||||
my_MD5Context ctx; \
|
||||
my_MD5Init (&ctx); \
|
||||
my_MD5Update (&ctx, buf, len); \
|
||||
my_MD5Final (digest, &ctx); \
|
||||
} while (0)
|
||||
|
||||
#endif /* defined(HAVE_YASSL) || defined(HAVE_OPENSSL) */
|
||||
|
||||
C_MODE_START
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void compute_md5_hash(char *digest, const char *buf, int len);
|
||||
|
||||
C_MODE_END
|
||||
/*
|
||||
Convert an array of bytes to a hexadecimal representation.
|
||||
|
||||
Used to generate a hexadecimal representation of a message digest.
|
||||
*/
|
||||
static inline void array_to_hex(char *to, const unsigned char *str, uint len)
|
||||
{
|
||||
const unsigned char *str_end= str + len;
|
||||
for (; str != str_end; ++str)
|
||||
{
|
||||
*to++= _dig_vec_lower[((uchar) *str) >> 4];
|
||||
*to++= _dig_vec_lower[((uchar) *str) & 0x0F];
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* MY_MD5_INCLUDED */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue