diff options
author | msvensson@pilot.blaudden <> | 2007-03-01 18:12:56 +0100 |
---|---|---|
committer | msvensson@pilot.blaudden <> | 2007-03-01 18:12:56 +0100 |
commit | f5778fc73e4e676f38c4734bca3a96f4d08dc2d7 (patch) | |
tree | dd839a6db9e2985054d2bc99faaafdc4440866fc /extra | |
parent | ab61d07a30b73e3446b6eab9536ba464a0d55f74 (diff) | |
parent | 2f5a2b2476a0ca43d0a5bdfb979b427ff806839f (diff) | |
download | mariadb-git-f5778fc73e4e676f38c4734bca3a96f4d08dc2d7.tar.gz |
Merge pilot.blaudden:/home/msvensson/mysql/mysql-5.0
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
Diffstat (limited to 'extra')
26 files changed, 178 insertions, 123 deletions
diff --git a/extra/comp_err.c b/extra/comp_err.c index 4a578a5f0db..e5f7ed8d0ea 100644 --- a/extra/comp_err.c +++ b/extra/comp_err.c @@ -41,7 +41,9 @@ static char *NAMEFILE= (char*) "mysqld_ername.h"; static char *STATEFILE= (char*) "sql_state.h"; static char *TXTFILE= (char*) "../sql/share/errmsg.txt"; static char *DATADIRECTORY= (char*) "../sql/share/"; +#ifndef DBUG_OFF static char *default_dbug_option= (char*) "d:t:O,/tmp/comp_err.trace"; +#endif /* Header for errmsg.sys files */ uchar file_head[]= { 254, 254, 2, 1 }; @@ -404,6 +406,8 @@ static int parse_input_file(const char *file_name, struct errors **top_error, int rcount= 0; DBUG_ENTER("parse_input_file"); + *top_error= 0; + *top_lang= 0; if (!(file= my_fopen(file_name, O_RDONLY | O_SHARE, MYF(MY_WME)))) DBUG_RETURN(0); diff --git a/extra/my_print_defaults.c b/extra/my_print_defaults.c index af739ae590b..eb077f91ece 100644 --- a/extra/my_print_defaults.c +++ b/extra/my_print_defaults.c @@ -48,15 +48,16 @@ static struct my_option my_long_options[] = 0, 0, 0, 0, 0, 0}, {"defaults-extra-file", 'e', "Read this file after the global /etc config file and before the config file in the users home directory.", - (gptr*) &defaults_extra_file, (gptr*) &defaults_extra_file, 0, GET_STR, - REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, + (gptr*) &my_defaults_extra_file, (gptr*) &my_defaults_extra_file, 0, + GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"defaults-group-suffix", 'g', "In addition to the given groups, read also groups with this suffix", - (gptr*) &defaults_group_suffix, (gptr*) &defaults_group_suffix, + (gptr*) &my_defaults_group_suffix, (gptr*) &my_defaults_group_suffix, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"extra-file", 'e', "Synonym for --defaults-extra-file.", - (gptr*) &defaults_extra_file, (gptr*) &defaults_extra_file, 0, GET_STR, + (gptr*) &my_defaults_extra_file, + (gptr*) &my_defaults_extra_file, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"no-defaults", 'n', "Return an empty string (useful for scripts).", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, diff --git a/extra/yassl/include/buffer.hpp b/extra/yassl/include/buffer.hpp index a51bca9a630..3fe12f38f57 100644 --- a/extra/yassl/include/buffer.hpp +++ b/extra/yassl/include/buffer.hpp @@ -49,11 +49,13 @@ const uint AUTO = 0xFEEDBEEF; // Checking Policy should implement a check function that tests whether the // index is within the size limit of the array struct Check { + Check() {} void check(uint i, uint limit); }; struct NoCheck { + NoCheck() {} void check(uint, uint); }; @@ -191,6 +193,7 @@ inline void checked_delete(T* p) // sets pointer to zero so safe for std conatiners struct del_ptr_zero { + del_ptr_zero() {} template <typename T> void operator()(T*& p) const { diff --git a/extra/yassl/include/crypto_wrapper.hpp b/extra/yassl/include/crypto_wrapper.hpp index 07b5925265a..9e4eb582368 100644 --- a/extra/yassl/include/crypto_wrapper.hpp +++ b/extra/yassl/include/crypto_wrapper.hpp @@ -42,6 +42,7 @@ namespace yaSSL { // Digest policy should implement a get_digest, update, and get sizes for pad // and digest struct Digest : public virtual_base { + Digest() {} virtual void get_digest(byte*) = 0; virtual void get_digest(byte*, const byte*, unsigned int) = 0; virtual void update(const byte*, unsigned int) = 0; @@ -53,6 +54,7 @@ struct Digest : public virtual_base { // For use with NULL Digests struct NO_MAC : public Digest { + NO_MAC() {} void get_digest(byte*); void get_digest(byte*, const byte*, unsigned int); void update(const byte*, unsigned int); @@ -177,6 +179,7 @@ private: // BulkCipher policy should implement encrypt, decrypt, get block size, // and set keys for encrypt and decrypt struct BulkCipher : public virtual_base { + BulkCipher() {} virtual void encrypt(byte*, const byte*, unsigned int) = 0; virtual void decrypt(byte*, const byte*, unsigned int) = 0; virtual void set_encryptKey(const byte*, const byte* = 0) = 0; @@ -190,6 +193,7 @@ struct BulkCipher : public virtual_base { // For use with NULL Ciphers struct NO_Cipher : public BulkCipher { + NO_Cipher() {} void encrypt(byte*, const byte*, unsigned int) {} void decrypt(byte*, const byte*, unsigned int) {} void set_encryptKey(const byte*, const byte*) {} @@ -311,12 +315,14 @@ struct Auth : public virtual_base { virtual bool verify(const byte*, unsigned int, const byte*, unsigned int) = 0; virtual uint get_signatureLength() const = 0; + Auth() {} virtual ~Auth() {} }; // For use with NULL Authentication schemes struct NO_Auth : public Auth { + NO_Auth() {} void sign(byte*, const byte*, unsigned int, const RandomPool&) {} bool verify(const byte*, unsigned int, const byte*, unsigned int) { return true; } diff --git a/extra/yassl/include/openssl/ssl.h b/extra/yassl/include/openssl/ssl.h index 16110c52f43..d0c49d6816c 100644 --- a/extra/yassl/include/openssl/ssl.h +++ b/extra/yassl/include/openssl/ssl.h @@ -33,7 +33,6 @@ #include "opensslv.h" /* for version number */ #include "rsa.h" - #define YASSL_VERSION "1.5.8" @@ -190,11 +189,16 @@ enum { /* ERR Constants */ EVP_R_BAD_DECRYPT = 2 }; +#ifdef WIN + typedef SOCKET socket_t; +#else + typedef int socket_t; +#endif SSL_CTX* SSL_CTX_new(SSL_METHOD*); SSL* SSL_new(SSL_CTX*); -int SSL_set_fd (SSL*, int); +int SSL_set_fd (SSL*, socket_t); int SSL_connect(SSL*); int SSL_write(SSL*, const void*, int); int SSL_read(SSL*, void*, int); diff --git a/extra/yassl/include/socket_wrapper.hpp b/extra/yassl/include/socket_wrapper.hpp index 308704c2af0..de28778ead9 100644 --- a/extra/yassl/include/socket_wrapper.hpp +++ b/extra/yassl/include/socket_wrapper.hpp @@ -38,16 +38,14 @@ #include <netinet/in.h> #include <arpa/inet.h> #endif +#include "openssl/ssl.h" /* for socket_t */ namespace yaSSL { typedef unsigned int uint; -#ifdef _WIN32 - typedef SOCKET socket_t; -#else - typedef int socket_t; +#ifndef _WIN32 const socket_t INVALID_SOCKET = -1; const int SD_RECEIVE = 0; const int SD_SEND = 1; diff --git a/extra/yassl/include/yassl_imp.hpp b/extra/yassl/include/yassl_imp.hpp index f6434443cb0..a94b03bacbf 100644 --- a/extra/yassl/include/yassl_imp.hpp +++ b/extra/yassl/include/yassl_imp.hpp @@ -64,6 +64,7 @@ struct RecordLayerHeader { // base for all messages struct Message : public virtual_base { + Message() {} virtual input_buffer& set(input_buffer&) =0; virtual output_buffer& get(output_buffer&) const =0; @@ -177,6 +178,7 @@ private: class HandShakeBase : public virtual_base { int length_; public: + HandShakeBase() {} int get_length() const; void set_length(int); @@ -194,6 +196,7 @@ public: struct HelloRequest : public HandShakeBase { + HelloRequest() {} input_buffer& set(input_buffer& in); output_buffer& get(output_buffer& out) const; @@ -327,6 +330,7 @@ private: struct ServerKeyBase : public virtual_base { + ServerKeyBase() {} virtual ~ServerKeyBase() {} virtual void build(SSL&) {} virtual void read(SSL&, input_buffer&) {} @@ -337,15 +341,21 @@ struct ServerKeyBase : public virtual_base { // Server random number for FORTEZZA KEA struct Fortezza_Server : public ServerKeyBase { + Fortezza_Server() {} opaque r_s_[FORTEZZA_MAX]; }; struct SignatureBase : public virtual_base { + SignatureBase() {} virtual ~SignatureBase() {} }; -struct anonymous_sa : public SignatureBase {}; +struct anonymous_sa : public SignatureBase +{ +public: + anonymous_sa() {} +}; struct Hashes { @@ -355,11 +365,13 @@ struct Hashes { struct rsa_sa : public SignatureBase { + rsa_sa() {} Hashes hashes_; }; struct dsa_sa : public SignatureBase { + dsa_sa() {} uint8 sha_[SHA_LEN]; }; @@ -387,6 +399,7 @@ private: // Server's RSA exchange struct RSA_Server : public ServerKeyBase { + RSA_Server() {} ServerRSAParams params_; opaque* signature_; // signed rsa_sa hashes }; @@ -461,6 +474,7 @@ struct PreMasterSecret { struct ClientKeyBase : public virtual_base { + ClientKeyBase() {} virtual ~ClientKeyBase() {} virtual void build(SSL&) {} virtual void read(SSL&, input_buffer&) {} @@ -491,6 +505,7 @@ private: // Fortezza Key Parameters from page 29 // hard code lengths cause only used here struct FortezzaKeys : public ClientKeyBase { + FortezzaKeys() {} opaque y_c_ [128]; // client's Yc, public value opaque r_c_ [128]; // client's Rc opaque y_signature_ [40]; // DSS signed public key diff --git a/extra/yassl/include/yassl_int.hpp b/extra/yassl/include/yassl_int.hpp index 94cb85c3300..d75d2200b3c 100644 --- a/extra/yassl/include/yassl_int.hpp +++ b/extra/yassl/include/yassl_int.hpp @@ -228,6 +228,7 @@ struct BIGNUM { TaoCrypt::Integer), we need to explicitly state the namespace here to let gcc 2.96 deduce the correct type. */ + BIGNUM() {} yaSSL::Integer int_; void assign(const byte* b, uint s) { int_.assign(b,s); } }; diff --git a/extra/yassl/src/crypto_wrapper.cpp b/extra/yassl/src/crypto_wrapper.cpp index 28d7f1b5693..0291faab301 100644 --- a/extra/yassl/src/crypto_wrapper.cpp +++ b/extra/yassl/src/crypto_wrapper.cpp @@ -550,6 +550,7 @@ void RandomPool::Fill(opaque* dst, uint sz) const // Implementation of DSS Authentication struct DSS::DSSImpl { + DSSImpl() {} void SetPublic (const byte*, unsigned int); void SetPrivate(const byte*, unsigned int); TaoCrypt::DSA_PublicKey publicKey_; @@ -622,6 +623,7 @@ bool DSS::verify(const byte* sha_digest, unsigned int /* shaSz */, // Implementation of RSA key interface struct RSA::RSAImpl { + RSAImpl() {} void SetPublic (const byte*, unsigned int); void SetPrivate(const byte*, unsigned int); TaoCrypt::RSA_PublicKey publicKey_; diff --git a/extra/yassl/src/ssl.cpp b/extra/yassl/src/ssl.cpp index 70198af79b4..1f9d0dd4020 100644 --- a/extra/yassl/src/ssl.cpp +++ b/extra/yassl/src/ssl.cpp @@ -229,7 +229,7 @@ void SSL_free(SSL* ssl) } -int SSL_set_fd(SSL* ssl, int fd) +int SSL_set_fd(SSL* ssl, socket_t fd) { ssl->useSocket().set_fd(fd); return SSL_SUCCESS; @@ -950,7 +950,7 @@ void ERR_print_errors_fp(FILE* /*fp*/) char* ERR_error_string(unsigned long errNumber, char* buffer) { - static char* msg = "Please supply a buffer for error string"; + static char* msg = (char*) "Please supply a buffer for error string"; if (buffer) { SetErrorString(YasslError(errNumber), buffer); diff --git a/extra/yassl/taocrypt/benchmark/benchmark.cpp b/extra/yassl/taocrypt/benchmark/benchmark.cpp index bb725a90187..dd9d1b1ff0d 100644 --- a/extra/yassl/taocrypt/benchmark/benchmark.cpp +++ b/extra/yassl/taocrypt/benchmark/benchmark.cpp @@ -65,7 +65,7 @@ int main(int argc, char** argv) const int megs = 5; // how much to test -const byte key[] = +const byte global_key[] = { 0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef, 0xfe,0xde,0xba,0x98,0x76,0x54,0x32,0x10, @@ -81,19 +81,19 @@ const byte iv[] = }; -byte plain [1024*1024]; -byte cipher[1024*1024]; +byte global_plain [1024*1024]; +byte global_cipher[1024*1024]; void bench_des() { DES_EDE3_CBC_Encryption enc; - enc.SetKey(key, 16, iv); + enc.SetKey(global_key, 16, iv); double start = current_time(); for(int i = 0; i < megs; i++) - enc.Process(plain, cipher, sizeof(plain)); + enc.Process(global_plain, global_cipher, sizeof(global_plain)); double total = current_time() - start; @@ -107,12 +107,12 @@ void bench_des() void bench_aes(bool show) { AES_CBC_Encryption enc; - enc.SetKey(key, 16, iv); + enc.SetKey(global_key, 16, iv); double start = current_time(); for(int i = 0; i < megs; i++) - enc.Process(plain, cipher, sizeof(plain)); + enc.Process(global_plain, global_cipher, sizeof(global_plain)); double total = current_time() - start; @@ -127,12 +127,12 @@ void bench_aes(bool show) void bench_twofish() { Twofish_CBC_Encryption enc; - enc.SetKey(key, 16, iv); + enc.SetKey(global_key, 16, iv); double start = current_time(); for(int i = 0; i < megs; i++) - enc.Process(plain, cipher, sizeof(plain)); + enc.Process(global_plain, global_cipher, sizeof(global_plain)); double total = current_time() - start; @@ -147,12 +147,12 @@ void bench_twofish() void bench_blowfish() { Blowfish_CBC_Encryption enc; - enc.SetKey(key, 16, iv); + enc.SetKey(global_key, 16, iv); double start = current_time(); for(int i = 0; i < megs; i++) - enc.Process(plain, cipher, sizeof(plain)); + enc.Process(global_plain, global_cipher, sizeof(global_plain)); double total = current_time() - start; @@ -166,12 +166,12 @@ void bench_blowfish() void bench_arc4() { ARC4 enc; - enc.SetKey(key, 16); + enc.SetKey(global_key, 16); double start = current_time(); for(int i = 0; i < megs; i++) - enc.Process(cipher, plain, sizeof(plain)); + enc.Process(global_cipher, global_plain, sizeof(global_plain)); double total = current_time() - start; @@ -191,7 +191,7 @@ void bench_md5() for(int i = 0; i < megs; i++) - hash.Update(plain, sizeof(plain)); + hash.Update(global_plain, sizeof(global_plain)); hash.Final(digest); @@ -213,7 +213,7 @@ void bench_sha() for(int i = 0; i < megs; i++) - hash.Update(plain, sizeof(plain)); + hash.Update(global_plain, sizeof(global_plain)); hash.Final(digest); @@ -241,7 +241,7 @@ void bench_ripemd() for(int i = 0; i < megs; i++) - hash.Update(plain, sizeof(plain)); + hash.Update(global_plain, sizeof(global_plain)); hash.Final(digest); diff --git a/extra/yassl/taocrypt/include/algebra.hpp b/extra/yassl/taocrypt/include/algebra.hpp index 298ef115a4a..9a6b5344c0d 100644 --- a/extra/yassl/taocrypt/include/algebra.hpp +++ b/extra/yassl/taocrypt/include/algebra.hpp @@ -40,6 +40,7 @@ class TAOCRYPT_NO_VTABLE AbstractGroup : public virtual_base public: typedef Integer Element; + AbstractGroup() {} virtual ~AbstractGroup() {} virtual bool Equal(const Element &a, const Element &b) const =0; @@ -94,6 +95,7 @@ private: class MultiplicativeGroupT : public AbstractGroup { public: + MultiplicativeGroupT() {} const AbstractRing& GetRing() const {return *m_pRing;} @@ -145,6 +147,7 @@ class TAOCRYPT_NO_VTABLE AbstractEuclideanDomain : public AbstractRing { public: + AbstractEuclideanDomain() {} typedef Integer Element; virtual void DivisionAlgorithm(Element &r, Element &q, const Element &a, diff --git a/extra/yassl/taocrypt/include/des.hpp b/extra/yassl/taocrypt/include/des.hpp index f99a289392f..9082f8ab57d 100644 --- a/extra/yassl/taocrypt/include/des.hpp +++ b/extra/yassl/taocrypt/include/des.hpp @@ -41,6 +41,7 @@ enum { DES_BLOCK_SIZE = 8, DES_KEY_SIZE = 32 }; class BasicDES { public: + BasicDES() {} void SetKey(const byte*, word32, CipherDir dir); void RawProcessBlock(word32&, word32&) const; protected: diff --git a/extra/yassl/taocrypt/include/hash.hpp b/extra/yassl/taocrypt/include/hash.hpp index 1ea59bf251a..71072bd3e74 100644 --- a/extra/yassl/taocrypt/include/hash.hpp +++ b/extra/yassl/taocrypt/include/hash.hpp @@ -31,6 +31,7 @@ namespace TaoCrypt { // HASH class HASH : public virtual_base { public: + HASH() {} virtual ~HASH() {} virtual void Update(const byte*, word32) = 0; diff --git a/extra/yassl/taocrypt/include/hmac.hpp b/extra/yassl/taocrypt/include/hmac.hpp index 1d486514e06..ccd54c05cb1 100644 --- a/extra/yassl/taocrypt/include/hmac.hpp +++ b/extra/yassl/taocrypt/include/hmac.hpp @@ -109,11 +109,11 @@ void HMAC<T>::KeyInnerHash() // Update template <class T> -void HMAC<T>::Update(const byte* msg, word32 length) +void HMAC<T>::Update(const byte* msg_arg, word32 length) { if (!innerHashKeyed_) KeyInnerHash(); - mac_.Update(msg, length); + mac_.Update(msg_arg, length); } diff --git a/extra/yassl/taocrypt/include/modarith.hpp b/extra/yassl/taocrypt/include/modarith.hpp index 501a8129b90..f42a4397d48 100644 --- a/extra/yassl/taocrypt/include/modarith.hpp +++ b/extra/yassl/taocrypt/include/modarith.hpp @@ -37,8 +37,8 @@ public: typedef int RandomizationParameter; typedef Integer Element; - ModularArithmetic(const Integer &modulus = Integer::One()) - : modulus(modulus), result((word)0, modulus.reg_.size()) {} + ModularArithmetic(const Integer &modulus_arg = Integer::One()) + : modulus(modulus_arg), result((word)0, modulus_arg.reg_.size()) {} ModularArithmetic(const ModularArithmetic &ma) : AbstractRing(), diff --git a/extra/yassl/taocrypt/include/modes.hpp b/extra/yassl/taocrypt/include/modes.hpp index d1ebce7568b..36618a8f5ed 100644 --- a/extra/yassl/taocrypt/include/modes.hpp +++ b/extra/yassl/taocrypt/include/modes.hpp @@ -42,8 +42,8 @@ public: { cipher_.Process(c, p, sz); } void SetKey(const byte* k, word32 sz) { cipher_.SetKey(k, sz, DIR); } - void SetKey(const byte* k, word32 sz, const byte* iv) - { cipher_.SetKey(k, sz, DIR); cipher_.SetIV(iv); } + void SetKey(const byte* k, word32 sz, const byte* iv_arg) + { cipher_.SetKey(k, sz, DIR); cipher_.SetIV(iv_arg); } private: T cipher_; diff --git a/extra/yassl/taocrypt/include/rsa.hpp b/extra/yassl/taocrypt/include/rsa.hpp index c895ab6fd34..454b0ef33a7 100644 --- a/extra/yassl/taocrypt/include/rsa.hpp +++ b/extra/yassl/taocrypt/include/rsa.hpp @@ -131,6 +131,7 @@ private: // block type 2 padding class RSA_BlockType2 { public: + RSA_BlockType2() {} void Pad(const byte*, word32, byte*, word32, RandomNumberGenerator&) const; word32 UnPad(const byte*, word32, byte*) const; @@ -140,6 +141,7 @@ public: // block type 1 padding class RSA_BlockType1 { public: + RSA_BlockType1() {} void Pad(const byte*, word32, byte*, word32, RandomNumberGenerator&) const; word32 UnPad(const byte*, word32, byte*) const; @@ -174,25 +176,27 @@ public: // Public Encrypt template<class Pad> -void RSA_Encryptor<Pad>::Encrypt(const byte* plain, word32 sz, byte* cipher, - RandomNumberGenerator& rng) +void RSA_Encryptor<Pad>::Encrypt(const byte* plain_arg, word32 sz, + byte* cipher_arg, + RandomNumberGenerator& rng_arg) { PK_Lengths lengths(key_.GetModulus()); assert(sz <= lengths.FixedMaxPlaintextLength()); ByteBlock paddedBlock(lengths.PaddedBlockByteLength()); - padding_.Pad(plain, sz, paddedBlock.get_buffer(), - lengths.PaddedBlockBitLength(), rng); + padding_.Pad(plain_arg, sz, paddedBlock.get_buffer(), + lengths.PaddedBlockBitLength(), rng_arg); key_.ApplyFunction(Integer(paddedBlock.get_buffer(), paddedBlock.size())). - Encode(cipher, lengths.FixedCiphertextLength()); + Encode(cipher_arg, lengths.FixedCiphertextLength()); } // Private Decrypt template<class Pad> -word32 RSA_Decryptor<Pad>::Decrypt(const byte* cipher, word32 sz, byte* plain, - RandomNumberGenerator& rng) +word32 RSA_Decryptor<Pad>::Decrypt(const byte* cipher_arg, word32 sz, + byte* plain_arg, + RandomNumberGenerator& rng_arg) { PK_Lengths lengths(key_.GetModulus()); assert(sz == lengths.FixedCiphertextLength()); @@ -201,29 +205,29 @@ word32 RSA_Decryptor<Pad>::Decrypt(const byte* cipher, word32 sz, byte* plain, return 0; ByteBlock paddedBlock(lengths.PaddedBlockByteLength()); - Integer x = key_.CalculateInverse(rng, Integer(cipher, + Integer x = key_.CalculateInverse(rng_arg, Integer(cipher_arg, lengths.FixedCiphertextLength()).Ref()); if (x.ByteCount() > paddedBlock.size()) x = Integer::Zero(); // don't return false, prevents timing attack x.Encode(paddedBlock.get_buffer(), paddedBlock.size()); return padding_.UnPad(paddedBlock.get_buffer(), - lengths.PaddedBlockBitLength(), plain); + lengths.PaddedBlockBitLength(), plain_arg); } // Private SSL type (block 1) Encrypt template<class Pad> void RSA_Decryptor<Pad>::SSL_Sign(const byte* message, word32 sz, byte* sig, - RandomNumberGenerator& rng) + RandomNumberGenerator& rng_arg) { RSA_PublicKey inverse; inverse.Initialize(key_.GetModulus(), key_.GetPrivateExponent()); RSA_Encryptor<RSA_BlockType1> enc(inverse); // SSL Type - enc.Encrypt(message, sz, sig, rng); + enc.Encrypt(message, sz, sig, rng_arg); } -word32 SSL_Decrypt(const RSA_PublicKey& key, const byte* sig, byte* plain); +word32 SSL_Decrypt(const RSA_PublicKey& key, const byte* sig, byte* plain_arg); // Public SSL type (block 1) Decrypt @@ -231,11 +235,11 @@ template<class Pad> bool RSA_Encryptor<Pad>::SSL_Verify(const byte* message, word32 sz, const byte* sig) { - ByteBlock plain(PK_Lengths(key_.GetModulus()).FixedMaxPlaintextLength()); - if (SSL_Decrypt(key_, sig, plain.get_buffer()) != sz) + ByteBlock local_plain(PK_Lengths(key_.GetModulus()).FixedMaxPlaintextLength()); + if (SSL_Decrypt(key_, sig, local_plain.get_buffer()) != sz) return false; // not right justified or bad padding - if ( (memcmp(plain.get_buffer(), message, sz)) == 0) + if ( (memcmp(local_plain.get_buffer(), message, sz)) == 0) return true; return false; } diff --git a/extra/yassl/taocrypt/include/type_traits.hpp b/extra/yassl/taocrypt/include/type_traits.hpp index 0dd5e4e5c50..ce21a2eaa63 100644 --- a/extra/yassl/taocrypt/include/type_traits.hpp +++ b/extra/yassl/taocrypt/include/type_traits.hpp @@ -62,7 +62,11 @@ MK_FUNDAMENTAL_TYPE(unsigned long) MK_FUNDAMENTAL_TYPE(float) MK_FUNDAMENTAL_TYPE( double) -MK_FUNDAMENTAL_TYPE(long double) + +#ifdef LONG_DOUBLE_IS_DISTINCT_TYPE +// Don't define by default as this gives warnings on power mac + MK_FUNDAMENTAL_TYPE(long double) +#endif #if defined(WORD64_AVAILABLE) && defined(WORD64_IS_DISTINCT_TYPE) MK_FUNDAMENTAL_TYPE(word64) diff --git a/extra/yassl/taocrypt/mySTL/list.hpp b/extra/yassl/taocrypt/mySTL/list.hpp index 6a081cba5ad..98a4589a354 100644 --- a/extra/yassl/taocrypt/mySTL/list.hpp +++ b/extra/yassl/taocrypt/mySTL/list.hpp @@ -231,7 +231,7 @@ void list<T>::push_front(T t) template<typename T> void list<T>::pop_front() { - node* front = head_; + node* local_front = head_; if (head_ == 0) return; @@ -241,8 +241,8 @@ void list<T>::pop_front() head_ = head_->next_; head_->prev_ = 0; } - destroy(front); - FreeMemory(front); + destroy(local_front); + FreeMemory(local_front); --sz_; } @@ -303,13 +303,13 @@ T list<T>::back() const template<typename T> typename list<T>::node* list<T>::look_up(T t) { - node* list = head_; + node* local_list = head_; - if (list == 0) return 0; + if (local_list == 0) return 0; - for (; list; list = list->next_) - if (list->value_ == t) - return list; + for (; local_list; local_list = local_list->next_) + if (local_list->value_ == t) + return local_list; return 0; } diff --git a/extra/yassl/taocrypt/src/aes.cpp b/extra/yassl/taocrypt/src/aes.cpp index b2b42d3dcf0..4f87bf3778a 100644 --- a/extra/yassl/taocrypt/src/aes.cpp +++ b/extra/yassl/taocrypt/src/aes.cpp @@ -90,13 +90,14 @@ void AES::SetKey(const byte* userKey, word32 keylen, CipherDir /*dummy*/) rounds_ = keylen/4 + 6; word32 temp, *rk = key_; - unsigned int i=0; GetUserKey(BigEndianOrder, rk, keylen/4, userKey, keylen); switch(keylen) { case 16: + { + unsigned int i=0; while (true) { temp = rk[3]; @@ -114,8 +115,10 @@ void AES::SetKey(const byte* userKey, word32 keylen, CipherDir /*dummy*/) rk += 4; } break; - + } case 24: + { + unsigned int i=0; while (true) // for (;;) here triggers a bug in VC60 SP4 w/ Pro Pack { temp = rk[ 5]; @@ -136,7 +139,10 @@ void AES::SetKey(const byte* userKey, word32 keylen, CipherDir /*dummy*/) } break; + } case 32: + { + unsigned int i=0; while (true) { temp = rk[ 7]; @@ -165,6 +171,7 @@ void AES::SetKey(const byte* userKey, word32 keylen, CipherDir /*dummy*/) } break; } + } if (dir_ == DECRYPTION) { diff --git a/extra/yassl/taocrypt/src/algebra.cpp b/extra/yassl/taocrypt/src/algebra.cpp index cb597c41552..d797d0d4108 100644 --- a/extra/yassl/taocrypt/src/algebra.cpp +++ b/extra/yassl/taocrypt/src/algebra.cpp @@ -186,10 +186,10 @@ Integer AbstractGroup::CascadeScalarMultiply(const Element &x, struct WindowSlider { - WindowSlider(const Integer &exp, bool fastNegate, + WindowSlider(const Integer &exp_arg, bool fastNegate_arg, unsigned int windowSizeIn=0) - : exp(exp), windowModulus(Integer::One()), windowSize(windowSizeIn), - windowBegin(0), fastNegate(fastNegate), firstTime(true), + : exp(exp_arg), windowModulus(Integer::One()), windowSize(windowSizeIn), + windowBegin(0), fastNegate(fastNegate_arg), firstTime(true), finished(false) { if (windowSize == 0) diff --git a/extra/yassl/taocrypt/src/asn.cpp b/extra/yassl/taocrypt/src/asn.cpp index a06ab658c7b..5bc865a4ba7 100644 --- a/extra/yassl/taocrypt/src/asn.cpp +++ b/extra/yassl/taocrypt/src/asn.cpp @@ -737,17 +737,17 @@ void CertDecoder::GetName(NameType nt) email = true; source_.advance(oidSz + 1); - word32 length = GetLength(source_); + word32 length2 = GetLength(source_); if (email) { memcpy(&ptr[idx], "/emailAddress=", 14); idx += 14; - memcpy(&ptr[idx], source_.get_current(), length); - idx += length; + memcpy(&ptr[idx], source_.get_current(), length2); + idx += length2; } - source_.advance(length); + source_.advance(length2); } } ptr[idx++] = 0; diff --git a/extra/yassl/taocrypt/src/integer.cpp b/extra/yassl/taocrypt/src/integer.cpp index 419783403ea..84255aa8544 100644 --- a/extra/yassl/taocrypt/src/integer.cpp +++ b/extra/yassl/taocrypt/src/integer.cpp @@ -3390,7 +3390,7 @@ void Integer::DivideByPowerOf2(Integer &r, Integer &q, const Integer &a, CopyWords(r.reg_.get_buffer(), a.reg_.get_buffer(), wordCount); SetWords(r.reg_+wordCount, 0, r.reg_.size()-wordCount); if (n % WORD_BITS != 0) - r.reg_[wordCount-1] %= (1 << (n % WORD_BITS)); + r.reg_[wordCount-1] %= ((word) 1 << (n % WORD_BITS)); } else { diff --git a/extra/yassl/taocrypt/test/test.cpp b/extra/yassl/taocrypt/test/test.cpp index d2eff49c56c..c0d7aa50f18 100644 --- a/extra/yassl/taocrypt/test/test.cpp +++ b/extra/yassl/taocrypt/test/test.cpp @@ -139,20 +139,20 @@ const byte msgTmp[] = { // "now is the time for all " w/o trailing 0 0x66,0x6f,0x72,0x20,0x61,0x6c,0x6c,0x20 }; -byte* msg = 0; // for block cipher input -byte* plain = 0; // for cipher decrypt comparison -byte* cipher = 0; // block output +byte* global_msg = 0; // for block cipher input +byte* global_plain = 0; // for cipher decrypt comparison +byte* global_cipher = 0; // block output void taocrypt_test(void* args) { ((func_args*)args)->return_code = -1; // error state - msg = NEW_TC byte[24]; - plain = NEW_TC byte[24]; - cipher = NEW_TC byte[24]; + global_msg = NEW_TC byte[24]; + global_plain = NEW_TC byte[24]; + global_cipher = NEW_TC byte[24]; - memcpy(msg, msgTmp, 24); + memcpy(global_msg, msgTmp, 24); int ret = 0; if ( (ret = sha_test()) ) @@ -237,9 +237,9 @@ void taocrypt_test(void* args) printf( "PKCS12 test passed!\n"); */ - tcArrayDelete(cipher); - tcArrayDelete(plain); - tcArrayDelete(msg); + tcArrayDelete(global_cipher); + tcArrayDelete(global_plain); + tcArrayDelete(global_msg); ((func_args*)args)->return_code = ret; } @@ -606,11 +606,11 @@ int des_test() const byte iv[] = { 0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef }; enc.SetKey(key, sizeof(key)); - enc.Process(cipher, msg, sz); + enc.Process(global_cipher, global_msg, sz); dec.SetKey(key, sizeof(key)); - dec.Process(plain, cipher, sz); + dec.Process(global_plain, global_cipher, sz); - if (memcmp(plain, msg, sz)) + if (memcmp(global_plain, global_msg, sz)) return -50; const byte verify1[] = @@ -620,7 +620,7 @@ int des_test() 0x89,0x3d,0x51,0xec,0x4b,0x56,0x3b,0x53 }; - if (memcmp(cipher, verify1, sz)) + if (memcmp(global_cipher, verify1, sz)) return -51; // CBC mode @@ -628,11 +628,11 @@ int des_test() DES_CBC_Decryption dec2; enc2.SetKey(key, sizeof(key), iv); - enc2.Process(cipher, msg, sz); + enc2.Process(global_cipher, global_msg, sz); dec2.SetKey(key, sizeof(key), iv); - dec2.Process(plain, cipher, sz); + dec2.Process(global_plain, global_cipher, sz); - if (memcmp(plain, msg, sz)) + if (memcmp(global_plain, global_msg, sz)) return -52; const byte verify2[] = @@ -642,7 +642,7 @@ int des_test() 0x15,0x85,0xb3,0x22,0x4b,0x86,0x2b,0x4b }; - if (memcmp(cipher, verify2, sz)) + if (memcmp(global_cipher, verify2, sz)) return -53; // EDE3 CBC mode @@ -664,11 +664,11 @@ int des_test() }; enc3.SetKey(key3, sizeof(key3), iv3); - enc3.Process(cipher, msg, sz); + enc3.Process(global_cipher, global_msg, sz); dec3.SetKey(key3, sizeof(key3), iv3); - dec3.Process(plain, cipher, sz); + dec3.Process(global_plain, global_cipher, sz); - if (memcmp(plain, msg, sz)) + if (memcmp(global_plain, global_msg, sz)) return -54; const byte verify3[] = @@ -678,7 +678,7 @@ int des_test() 0x18,0xbc,0xbb,0x6d,0xd2,0xb1,0x16,0xda }; - if (memcmp(cipher, verify3, sz)) + if (memcmp(global_cipher, verify3, sz)) return -55; return 0; @@ -697,10 +697,10 @@ int aes_test() enc.SetKey(key, bs, iv); dec.SetKey(key, bs, iv); - enc.Process(cipher, msg, bs); - dec.Process(plain, cipher, bs); + enc.Process(global_cipher, global_msg, bs); + dec.Process(global_plain, global_cipher, bs); - if (memcmp(plain, msg, bs)) + if (memcmp(global_plain, global_msg, bs)) return -60; const byte verify[] = @@ -709,7 +709,7 @@ int aes_test() 0x2c,0xcc,0x9d,0x46,0x77,0xa2,0x33,0xcb }; - if (memcmp(cipher, verify, bs)) + if (memcmp(global_cipher, verify, bs)) return -61; AES_ECB_Encryption enc2; @@ -718,10 +718,10 @@ int aes_test() enc2.SetKey(key, bs, iv); dec2.SetKey(key, bs, iv); - enc2.Process(cipher, msg, bs); - dec2.Process(plain, cipher, bs); + enc2.Process(global_cipher, global_msg, bs); + dec2.Process(global_plain, global_cipher, bs); - if (memcmp(plain, msg, bs)) + if (memcmp(global_plain, global_msg, bs)) return -62; const byte verify2[] = @@ -730,7 +730,7 @@ int aes_test() 0xc8,0x8c,0x33,0x3b,0xb5,0x8f,0x85,0xd1 }; - if (memcmp(cipher, verify2, bs)) + if (memcmp(global_cipher, verify2, bs)) return -63; return 0; @@ -749,10 +749,10 @@ int twofish_test() enc.SetKey(key, bs, iv); dec.SetKey(key, bs, iv); - enc.Process(cipher, msg, bs); - dec.Process(plain, cipher, bs); + enc.Process(global_cipher, global_msg, bs); + dec.Process(global_plain, global_cipher, bs); - if (memcmp(plain, msg, bs)) + if (memcmp(global_plain, global_msg, bs)) return -60; const byte verify[] = @@ -761,7 +761,7 @@ int twofish_test() 0x21,0x03,0x58,0x79,0x5F,0x02,0x27,0x2C }; - if (memcmp(cipher, verify, bs)) + if (memcmp(global_cipher, verify, bs)) return -61; Twofish_ECB_Encryption enc2; @@ -770,10 +770,10 @@ int twofish_test() enc2.SetKey(key, bs, iv); dec2.SetKey(key, bs, iv); - enc2.Process(cipher, msg, bs); - dec2.Process(plain, cipher, bs); + enc2.Process(global_cipher, global_msg, bs); + dec2.Process(global_plain, global_cipher, bs); - if (memcmp(plain, msg, bs)) + if (memcmp(global_plain, global_msg, bs)) return -62; const byte verify2[] = @@ -782,7 +782,7 @@ int twofish_test() 0xC4,0xCD,0x6B,0x91,0x14,0xC5,0x3A,0x09 }; - if (memcmp(cipher, verify2, bs)) + if (memcmp(global_cipher, verify2, bs)) return -63; return 0; @@ -801,10 +801,10 @@ int blowfish_test() enc.SetKey(key, 16, iv); dec.SetKey(key, 16, iv); - enc.Process(cipher, msg, bs * 2); - dec.Process(plain, cipher, bs * 2); + enc.Process(global_cipher, global_msg, bs * 2); + dec.Process(global_plain, global_cipher, bs * 2); - if (memcmp(plain, msg, bs)) + if (memcmp(global_plain, global_msg, bs)) return -60; const byte verify[] = @@ -813,7 +813,7 @@ int blowfish_test() 0xBC,0xD9,0x08,0xC4,0x94,0x6C,0x89,0xA3 }; - if (memcmp(cipher, verify, bs)) + if (memcmp(global_cipher, verify, bs)) return -61; Blowfish_ECB_Encryption enc2; @@ -822,10 +822,10 @@ int blowfish_test() enc2.SetKey(key, 16, iv); dec2.SetKey(key, 16, iv); - enc2.Process(cipher, msg, bs * 2); - dec2.Process(plain, cipher, bs * 2); + enc2.Process(global_cipher, global_msg, bs * 2); + dec2.Process(global_plain, global_cipher, bs * 2); - if (memcmp(plain, msg, bs)) + if (memcmp(global_plain, global_msg, bs)) return -62; const byte verify2[] = @@ -834,7 +834,7 @@ int blowfish_test() 0x8F,0xCE,0x39,0x32,0xDE,0xD7,0xBC,0x5B }; - if (memcmp(cipher, verify2, bs)) + if (memcmp(global_cipher, verify2, bs)) return -63; return 0; diff --git a/extra/yassl/testsuite/testsuite.cpp b/extra/yassl/testsuite/testsuite.cpp index 1cf6a78ebe7..06e75153341 100644 --- a/extra/yassl/testsuite/testsuite.cpp +++ b/extra/yassl/testsuite/testsuite.cpp @@ -86,8 +86,8 @@ int main(int argc, char** argv) // input output compare byte input[TaoCrypt::MD5::DIGEST_SIZE]; byte output[TaoCrypt::MD5::DIGEST_SIZE]; - file_test("input", input); - file_test("output", output); + file_test((char*) "input", input); + file_test((char*) "output", output); assert(memcmp(input, output, sizeof(input)) == 0); printf("\nAll tests passed!\n"); @@ -141,16 +141,17 @@ int test_openSSL_des() /* test des encrypt/decrypt */ char data[] = "this is my data "; int dataSz = strlen(data); - DES_key_schedule key[3]; + DES_key_schedule local_key[3]; byte iv[8]; EVP_BytesToKey(EVP_des_ede3_cbc(), EVP_md5(), NULL, (byte*)data, dataSz, 1, - (byte*)key, iv); + (byte*)local_key, iv); byte cipher[16]; - DES_ede3_cbc_encrypt((byte*)data, cipher, dataSz, &key[0], &key[1], - &key[2], &iv, true); + DES_ede3_cbc_encrypt((byte*)data, cipher, dataSz, + &local_key[0], &local_key[1], + &local_key[2], &iv, true); byte plain[16]; - DES_ede3_cbc_encrypt(cipher, plain, 16, &key[0], &key[1], &key[2], - &iv, false); + DES_ede3_cbc_encrypt(cipher, plain, 16, &local_key[0], &local_key[1], + &local_key[2], &iv, false); return 0; } |