Commit 3e2417ed authored by unknown's avatar unknown

Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0.6-build

into neptunus.(none):/home/msvensson/mysql/mysql-5.0-tmp


VC++Files/mysys/mysys.dsp:
  Auto merged
include/my_global.h:
  Auto merged
myisam/rt_split.c:
  Auto merged
sql/field_conv.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
strings/my_vsnprintf.c:
  Auto merged
parents 7ff2a5a5 d35e537a
...@@ -219,6 +219,10 @@ SOURCE=..\mysys\default.c ...@@ -219,6 +219,10 @@ SOURCE=..\mysys\default.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\mysys\default_modify.c
# End Source File
# Begin Source File
SOURCE=.\dll.c SOURCE=.\dll.c
# End Source File # End Source File
# Begin Source File # Begin Source File
......
...@@ -180,6 +180,10 @@ SOURCE=..\mysys\default.c ...@@ -180,6 +180,10 @@ SOURCE=..\mysys\default.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\mysys\default_modify.c
# End Source File
# Begin Source File
SOURCE=..\sql\derror.cpp SOURCE=..\sql\derror.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
......
...@@ -209,6 +209,10 @@ SOURCE=.\default.c ...@@ -209,6 +209,10 @@ SOURCE=.\default.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\default_modify.c
# End Source File
# Begin Source File
SOURCE=.\errors.c SOURCE=.\errors.c
# End Source File # End Source File
# Begin Source File # Begin Source File
......
...@@ -149,7 +149,7 @@ enum { /* X509 Constants */ ...@@ -149,7 +149,7 @@ enum { /* X509 Constants */
X509_V_ERR_CRL_SIGNATURE_FAILURE = 10, X509_V_ERR_CRL_SIGNATURE_FAILURE = 10,
X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD = 11, X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD = 11,
X509_V_ERR_CRL_HAS_EXPIRED = 12, X509_V_ERR_CRL_HAS_EXPIRED = 12,
X509_V_ERR_CERT_REVOKED = 13, X509_V_ERR_CERT_REVOKED = 13
}; };
...@@ -166,7 +166,7 @@ int ERR_GET_REASON(int); ...@@ -166,7 +166,7 @@ int ERR_GET_REASON(int);
enum { /* ERR Constants */ enum { /* ERR Constants */
ERR_TXT_STRING = 1, ERR_TXT_STRING = 1,
EVP_R_BAD_DECRYPT = 2, EVP_R_BAD_DECRYPT = 2
}; };
...@@ -263,8 +263,8 @@ enum { /* ssl Constants */ ...@@ -263,8 +263,8 @@ enum { /* ssl Constants */
SSL_UNKNOWN = -2, SSL_UNKNOWN = -2,
SSL_FATAL_ERROR = -1, SSL_FATAL_ERROR = -1,
SSL_NORMAL_SHUTDOWN = 0, SSL_NORMAL_SHUTDOWN = 0,
SSL_ERROR_NONE = 0, // for most functions SSL_ERROR_NONE = 0, /* for most functions */
SSL_FAILURE = 0, // for some functions SSL_FAILURE = 0, /* for some functions */
SSL_SUCCESS = 1, SSL_SUCCESS = 1,
SSL_FILETYPE_ASN1 = 10, SSL_FILETYPE_ASN1 = 10,
...@@ -320,7 +320,7 @@ enum { /* ssl Constants */ ...@@ -320,7 +320,7 @@ enum { /* ssl Constants */
SSL_ST_ACCEPT = 94, SSL_ST_ACCEPT = 94,
SSL_CB_ALERT = 95, SSL_CB_ALERT = 95,
SSL_CB_READ = 96, SSL_CB_READ = 96,
SSL_CB_HANDSHAKE_DONE = 97, SSL_CB_HANDSHAKE_DONE = 97
}; };
......
...@@ -51,7 +51,7 @@ enum YasslError { ...@@ -51,7 +51,7 @@ enum YasslError {
verify_error = 112, verify_error = 112,
send_error = 113, send_error = 113,
receive_error = 114, receive_error = 114,
certificate_error = 115, certificate_error = 115
// 1000+ from TaoCrypt error.hpp // 1000+ from TaoCrypt error.hpp
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
#ifndef yaSSL_TYPES_HPP #ifndef yaSSL_TYPES_HPP
#define yaSSL_TYPES_HPP #define yaSSL_TYPES_HPP
#include<cstddef> #include <stddef.h>
namespace yaSSL { namespace yaSSL {
...@@ -129,7 +129,7 @@ enum PublicValueEncoding { implicit_encoding, explicit_encoding }; ...@@ -129,7 +129,7 @@ enum PublicValueEncoding { implicit_encoding, explicit_encoding };
enum ConnectionEnd { server_end, client_end }; enum ConnectionEnd { server_end, client_end };
enum AlertLevel { warning = 1, fatal = 2, }; enum AlertLevel { warning = 1, fatal = 2 };
...@@ -381,7 +381,7 @@ const char* const cipher_names[128] = ...@@ -381,7 +381,7 @@ const char* const cipher_names[128] =
"DES-CBC3-RMD", // TLS_RSA_WITH_3DES_EDE_CBC_RMD160 = 124 "DES-CBC3-RMD", // TLS_RSA_WITH_3DES_EDE_CBC_RMD160 = 124
"AES128-RMD", // TLS_RSA_WITH_AES_128_CBC_RMD160 = 125 "AES128-RMD", // TLS_RSA_WITH_AES_128_CBC_RMD160 = 125
"AES256-RMD", // TLS_RSA_WITH_AES_256_CBC_RMD160 = 126 "AES256-RMD", // TLS_RSA_WITH_AES_256_CBC_RMD160 = 126
null_str, // 127 null_str // 127
}; };
// fill with MD5 pad size since biggest required // fill with MD5 pad size since biggest required
......
...@@ -30,13 +30,25 @@ ...@@ -30,13 +30,25 @@
#include <stdlib.h> #include <stdlib.h>
#ifdef __IBMCPP__
/*
Workaround for the lack of operator new(size_t, void*)
in IBM VA C++ 6.0
*/
struct Dummy {};
inline void *operator new(size_t size, Dummy *d) { return (void*) d; }
typedef Dummy *yassl_pointer;
#else
typedef void *yassl_pointer;
#endif
namespace mySTL { namespace mySTL {
template <typename T, typename T2> template <typename T, typename T2>
inline void construct(T* p, const T2& value) inline void construct(T* p, const T2& value)
{ {
new (static_cast<void*>(p)) T(value); new ((yassl_pointer) p) T(value);
} }
......
...@@ -38,6 +38,13 @@ namespace mySTL { ...@@ -38,6 +38,13 @@ namespace mySTL {
template<typename T> template<typename T>
class list { class list {
#ifdef __SUNPRO_CC
/*
Sun Forte 7 C++ v. 5.4 needs class 'node' be public to be visible to
the nested class 'iterator' (a non-standard behaviour).
*/
public:
#endif
struct node { struct node {
node(T t) : prev_(0), next_(0), value_(t) {} node(T t) : prev_(0), next_(0), value_(t) {}
......
/*
To make libtool always use a C++ linker when compiling with yaSSL we need
to add a dummy C++ file to the source list.
*/
...@@ -79,7 +79,7 @@ enum ASNIdFlag ...@@ -79,7 +79,7 @@ enum ASNIdFlag
enum DNTags enum DNTags
{ {
COMMON_NAME = 0x03, COMMON_NAME = 0x03
}; };
...@@ -92,7 +92,7 @@ enum Constants ...@@ -92,7 +92,7 @@ enum Constants
MAX_SEQ_SZ = 5, // enum(seq|con) + length(4) MAX_SEQ_SZ = 5, // enum(seq|con) + length(4)
MAX_ALGO_SIZE = 9, MAX_ALGO_SIZE = 9,
MAX_DIGEST_SZ = 25, // SHA + enum(Bit or Octet) + length(4) MAX_DIGEST_SZ = 25, // SHA + enum(Bit or Octet) + length(4)
DSA_SIG_SZ = 40, DSA_SIG_SZ = 40
}; };
......
...@@ -59,7 +59,7 @@ typedef unsigned char byte; ...@@ -59,7 +59,7 @@ typedef unsigned char byte;
typedef unsigned short word16; typedef unsigned short word16;
typedef unsigned int word32; typedef unsigned int word32;
#if defined(__GNUC__) || defined(__MWERKS__) #if defined(__GNUC__) || defined(__MWERKS__) || defined(_LONGLONG_TYPE)
#define WORD64_AVAILABLE #define WORD64_AVAILABLE
typedef unsigned long long word64; typedef unsigned long long word64;
#define W64LIT(x) x##LL #define W64LIT(x) x##LL
...@@ -79,8 +79,10 @@ typedef unsigned int word32; ...@@ -79,8 +79,10 @@ typedef unsigned int word32;
typedef word32 lword; typedef word32 lword;
#endif #endif
// FIXME the !defined(__sun) is a temporarely solution until asm for
// __x86_64__ and Solaris is written
#if defined(__alpha__) || defined(__ia64__) || defined(_ARCH_PPC64) || \ #if defined(__alpha__) || defined(__ia64__) || defined(_ARCH_PPC64) || \
defined(__x86_64__) || defined(__mips64) defined(__mips64) || (defined(__x86_64__) && !defined(__sun))
// These platforms have 64-bit CPU registers. Unfortunately most C++ compilers // These platforms have 64-bit CPU registers. Unfortunately most C++ compilers
// don't allow any way to access the 64-bit by 64-bit multiply instruction // don't allow any way to access the 64-bit by 64-bit multiply instruction
// without using assembly, so in order to use word64 as word, the assembly // without using assembly, so in order to use word64 as word, the assembly
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
#endif /* __CYGWIN__ */ #endif /* __CYGWIN__ */
/* Determine when to use "#pragma interface" */ /* Determine when to use "#pragma interface" */
#if !defined(__CYGWIN__) && !defined(__ICC) && defined(__GNUC__) && (__GNUC__ < 3) #if !defined(__CYGWIN__) && !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ < 3)
#define USE_PRAGMA_INTERFACE #define USE_PRAGMA_INTERFACE
#endif #endif
......
...@@ -42,7 +42,7 @@ int modify_defaults_file(const char *file_location, const char *option, ...@@ -42,7 +42,7 @@ int modify_defaults_file(const char *file_location, const char *option,
const char *section_name, int remove_option) const char *section_name, int remove_option)
{ {
FILE *cnf_file; FILE *cnf_file;
struct stat file_stat; MY_STAT file_stat;
char linebuff[BUFF_SIZE], tmp[BUFF_SIZE], *tmp_ptr, *src_ptr, *dst_ptr, char linebuff[BUFF_SIZE], tmp[BUFF_SIZE], *tmp_ptr, *src_ptr, *dst_ptr,
*file_buffer; *file_buffer;
uint optlen, optval_len, sect_len; uint optlen, optval_len, sect_len;
......
...@@ -223,11 +223,8 @@ set_ulimit(const BaseString & pair){ ...@@ -223,11 +223,8 @@ set_ulimit(const BaseString & pair){
if(!(list[1].trim() == "unlimited")){ if(!(list[1].trim() == "unlimited")){
value = atoi(list[1].c_str()); value = atoi(list[1].c_str());
} }
#if defined(__INTEL_COMPILER)
struct rlimit64 rlp;
#else
struct rlimit rlp; struct rlimit rlp;
#endif
#define _RLIMIT_FIX(x) { res = getrlimit(x,&rlp); if(!res){ rlp.rlim_cur = value; res = setrlimit(x, &rlp); }} #define _RLIMIT_FIX(x) { res = getrlimit(x,&rlp); if(!res){ rlp.rlim_cur = value; res = setrlimit(x, &rlp); }}
if(list[0].trim() == "c"){ if(list[0].trim() == "c"){
......
...@@ -2049,11 +2049,21 @@ NdbDictionaryImpl::getIndexImpl(const char * externalName, ...@@ -2049,11 +2049,21 @@ NdbDictionaryImpl::getIndexImpl(const char * externalName,
return 0; return 0;
} }
/*
* internalName may be pointer to m_ndb.theImpl->m_internalname.c_str()
* and may get deallocated in next call.
*
* Passing around pointers to volatile internal members may not be
* optimal. Suggest use BaseString instances passed by value.
*/
BaseString save_me(internalName);
NdbTableImpl* prim = getTable(tab->m_primaryTable.c_str()); NdbTableImpl* prim = getTable(tab->m_primaryTable.c_str());
if(prim == 0){ if(prim == 0){
m_error.code = 4243; m_error.code = 4243;
return 0; return 0;
} }
internalName = save_me.c_str();
/** /**
* Create index impl * Create index impl
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include <mysql_priv.h> #include "mysql_priv.h"
#include <m_ctype.h> #include <m_ctype.h>
#ifdef HAVE_OPENSSL #ifdef HAVE_OPENSSL
......
...@@ -19,15 +19,17 @@ LDADD= @CLIENT_EXTRA_LDFLAGS@ $(openssl_libs) ...@@ -19,15 +19,17 @@ LDADD= @CLIENT_EXTRA_LDFLAGS@ $(openssl_libs)
pkglib_LIBRARIES= libvio.a pkglib_LIBRARIES= libvio.a
noinst_PROGRAMS = test-ssl test-sslserver test-sslclient noinst_PROGRAMS = test-ssl test-sslserver test-sslclient
noinst_HEADERS= vio_priv.h noinst_HEADERS= vio_priv.h
test_ssl_SOURCES= test-ssl.c test_ssl_SOURCES= test-ssl.c $(top_srcdir)/extra/yassl/src/dummy.cpp
test_ssl_LDADD= @CLIENT_EXTRA_LDFLAGS@ ../dbug/libdbug.a libvio.a \ test_ssl_LDADD= @CLIENT_EXTRA_LDFLAGS@ ../dbug/libdbug.a libvio.a \
../mysys/libmysys.a ../strings/libmystrings.a \ ../mysys/libmysys.a ../strings/libmystrings.a \
$(openssl_libs) $(openssl_libs)
test_sslserver_SOURCES= test-sslserver.c test_sslserver_SOURCES= test-sslserver.c \
$(top_srcdir)/extra/yassl/src/dummy.cpp
test_sslserver_LDADD= @CLIENT_EXTRA_LDFLAGS@ ../dbug/libdbug.a libvio.a \ test_sslserver_LDADD= @CLIENT_EXTRA_LDFLAGS@ ../dbug/libdbug.a libvio.a \
../mysys/libmysys.a ../strings/libmystrings.a \ ../mysys/libmysys.a ../strings/libmystrings.a \
$(openssl_libs) $(openssl_libs)
test_sslclient_SOURCES= test-sslclient.c test_sslclient_SOURCES= test-sslclient.c \
$(top_srcdir)/extra/yassl/src/dummy.cpp
test_sslclient_LDADD= @CLIENT_EXTRA_LDFLAGS@ ../dbug/libdbug.a libvio.a \ test_sslclient_LDADD= @CLIENT_EXTRA_LDFLAGS@ ../dbug/libdbug.a libvio.a \
../mysys/libmysys.a ../strings/libmystrings.a \ ../mysys/libmysys.a ../strings/libmystrings.a \
$(openssl_libs) $(openssl_libs)
......
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