Commit 08c8c29c authored by unknown's avatar unknown

Fixes for numerous compatibility problems in yaSSL.


extra/yassl/include/openssl/ssl.h:
  Fix -std=c++98 mode compilation failures.
extra/yassl/include/yassl_error.hpp:
  Fix -std=c++98 mode compilation failures.
extra/yassl/include/yassl_types.hpp:
  Fix -std=c++98 mode compilation failures.
extra/yassl/mySTL/helpers.hpp:
  Fix AIX 5.2 compilation problem.
extra/yassl/taocrypt/include/asn.hpp:
  Fix -std=c++98 mode compilation failures.
vio/Makefile.am:
  Add a dummy C++ file to SSL tests to make libtool use a C++ linker:
  this lets ssl tests link when using yaSSL and a non-gcc C++ compiler.
parent eb5fbcbb
......@@ -149,7 +149,7 @@ enum { /* X509 Constants */
X509_V_ERR_CRL_SIGNATURE_FAILURE = 10,
X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD = 11,
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);
enum { /* ERR Constants */
ERR_TXT_STRING = 1,
EVP_R_BAD_DECRYPT = 2,
EVP_R_BAD_DECRYPT = 2
};
......@@ -263,8 +263,8 @@ enum { /* ssl Constants */
SSL_UNKNOWN = -2,
SSL_FATAL_ERROR = -1,
SSL_NORMAL_SHUTDOWN = 0,
SSL_ERROR_NONE = 0, // for most functions
SSL_FAILURE = 0, // for some functions
SSL_ERROR_NONE = 0, /* for most functions */
SSL_FAILURE = 0, /* for some functions */
SSL_SUCCESS = 1,
SSL_FILETYPE_ASN1 = 10,
......@@ -320,7 +320,7 @@ enum { /* ssl Constants */
SSL_ST_ACCEPT = 94,
SSL_CB_ALERT = 95,
SSL_CB_READ = 96,
SSL_CB_HANDSHAKE_DONE = 97,
SSL_CB_HANDSHAKE_DONE = 97
};
......
......@@ -51,7 +51,7 @@ enum YasslError {
verify_error = 112,
send_error = 113,
receive_error = 114,
certificate_error = 115,
certificate_error = 115
// 1000+ from TaoCrypt error.hpp
......
......@@ -129,7 +129,7 @@ enum PublicValueEncoding { implicit_encoding, explicit_encoding };
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] =
"DES-CBC3-RMD", // TLS_RSA_WITH_3DES_EDE_CBC_RMD160 = 124
"AES128-RMD", // TLS_RSA_WITH_AES_128_CBC_RMD160 = 125
"AES256-RMD", // TLS_RSA_WITH_AES_256_CBC_RMD160 = 126
null_str, // 127
null_str // 127
};
// fill with MD5 pad size since biggest required
......
......@@ -27,16 +27,28 @@
#ifndef mySTL_HELPERS_HPP
#define mySTL_HELPERS_HPP
#include <cstdlib>
#include <stdlib.h>
#ifdef __IBMCPP__
/*
Workaround the lack of operator new(size_t, void*)
in IBM VA CPP 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 {
template <typename T, typename T2>
inline void construct(T* p, const T2& value)
{
new (static_cast<void*>(p)) T(value);
new ((yassl_pointer) p) T(value);
}
......
/*
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
enum DNTags
{
COMMON_NAME = 0x03,
COMMON_NAME = 0x03
};
......@@ -92,7 +92,7 @@ enum Constants
MAX_SEQ_SZ = 5, // enum(seq|con) + length(4)
MAX_ALGO_SIZE = 9,
MAX_DIGEST_SZ = 25, // SHA + enum(Bit or Octet) + length(4)
DSA_SIG_SZ = 40,
DSA_SIG_SZ = 40
};
......
......@@ -19,15 +19,17 @@ LDADD= @CLIENT_EXTRA_LDFLAGS@ $(openssl_libs)
pkglib_LIBRARIES= libvio.a
noinst_PROGRAMS = test-ssl test-sslserver test-sslclient
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 \
../mysys/libmysys.a ../strings/libmystrings.a \
$(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 \
../mysys/libmysys.a ../strings/libmystrings.a \
$(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 \
../mysys/libmysys.a ../strings/libmystrings.a \
$(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