mirror of
https://github.com/MariaDB/server.git
synced 2026-04-20 23:35:32 +02:00
Merge 192.168.0.20:mysql/my50-maint-yassl
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint extra/yassl/src/ssl.cpp: Auto merged extra/yassl/taocrypt/src/make.bat: Auto merged extra/yassl/testsuite/test.hpp: Auto merged
This commit is contained in:
commit
fa91c7bc60
16 changed files with 79 additions and 58 deletions
|
|
@ -89,6 +89,8 @@ void client_test(void* args)
|
|||
args.argv = argv;
|
||||
|
||||
client_test(&args);
|
||||
yaSSL_CleanUp();
|
||||
|
||||
return args.return_code;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -82,6 +82,7 @@ void echoclient_test(void* args)
|
|||
args.argv = argv;
|
||||
|
||||
echoclient_test(&args);
|
||||
yaSSL_CleanUp();
|
||||
|
||||
return args.return_code;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@
|
|||
args.argv = argv;
|
||||
|
||||
echoserver_test(&args);
|
||||
yaSSL_CleanUp();
|
||||
|
||||
return args.return_code;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -67,6 +67,8 @@ THREAD_RETURN YASSL_API server_test(void* args)
|
|||
args.argv = argv;
|
||||
|
||||
server_test(&args);
|
||||
yaSSL_CleanUp();
|
||||
|
||||
return args.return_code;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,19 @@
|
|||
#include "opensslv.h" /* for version number */
|
||||
#include "rsa.h"
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void yaSSL_CleanUp(); /* call once at end of application use to
|
||||
free static singleton memory holders,
|
||||
not a leak per se, but helpful when
|
||||
looking for them */
|
||||
|
||||
#if defined(__cplusplus)
|
||||
} // extern
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus) && !defined(YASSL_MYSQL_COMPATIBLE)
|
||||
namespace yaSSL {
|
||||
extern "C" {
|
||||
|
|
|
|||
|
|
@ -35,10 +35,6 @@
|
|||
namespace yaSSL {
|
||||
|
||||
|
||||
// Delete static singleton memory holders
|
||||
void CleanUp();
|
||||
|
||||
|
||||
#ifdef YASSL_PURE_C
|
||||
|
||||
// library allocation
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# quick and dirty build file for testing different MSDEVs
|
||||
REM quick and dirty build file for testing different MSDEVs
|
||||
setlocal
|
||||
|
||||
set myFLAGS= /I../include /I../mySTL /I../taocrypt/include /W3 /c /ZI
|
||||
|
|
|
|||
|
|
@ -53,6 +53,53 @@ namespace yaSSL {
|
|||
using mySTL::min;
|
||||
|
||||
|
||||
int read_file(SSL_CTX* ctx, const char* file, int format, CertType type)
|
||||
{
|
||||
if (format != SSL_FILETYPE_ASN1 && format != SSL_FILETYPE_PEM)
|
||||
return SSL_BAD_FILETYPE;
|
||||
|
||||
FILE* input = fopen(file, "rb");
|
||||
if (!input)
|
||||
return SSL_BAD_FILE;
|
||||
|
||||
if (type == CA) {
|
||||
x509* ptr = PemToDer(file, Cert);
|
||||
if (!ptr) {
|
||||
fclose(input);
|
||||
return SSL_BAD_FILE;
|
||||
}
|
||||
ctx->AddCA(ptr); // takes ownership
|
||||
}
|
||||
else {
|
||||
x509*& x = (type == Cert) ? ctx->certificate_ : ctx->privateKey_;
|
||||
|
||||
if (format == SSL_FILETYPE_ASN1) {
|
||||
fseek(input, 0, SEEK_END);
|
||||
long sz = ftell(input);
|
||||
rewind(input);
|
||||
x = NEW_YS x509(sz); // takes ownership
|
||||
size_t bytes = fread(x->use_buffer(), sz, 1, input);
|
||||
if (bytes != 1) {
|
||||
fclose(input);
|
||||
return SSL_BAD_FILE;
|
||||
}
|
||||
}
|
||||
else {
|
||||
x = PemToDer(file, type);
|
||||
if (!x) {
|
||||
fclose(input);
|
||||
return SSL_BAD_FILE;
|
||||
}
|
||||
}
|
||||
}
|
||||
fclose(input);
|
||||
return SSL_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
extern "C" {
|
||||
|
||||
|
||||
SSL_METHOD* SSLv3_method()
|
||||
{
|
||||
return SSLv3_client_method();
|
||||
|
|
@ -449,50 +496,6 @@ long SSL_CTX_set_tmp_dh(SSL_CTX* ctx, DH* dh)
|
|||
}
|
||||
|
||||
|
||||
int read_file(SSL_CTX* ctx, const char* file, int format, CertType type)
|
||||
{
|
||||
if (format != SSL_FILETYPE_ASN1 && format != SSL_FILETYPE_PEM)
|
||||
return SSL_BAD_FILETYPE;
|
||||
|
||||
FILE* input = fopen(file, "rb");
|
||||
if (!input)
|
||||
return SSL_BAD_FILE;
|
||||
|
||||
if (type == CA) {
|
||||
x509* ptr = PemToDer(file, Cert);
|
||||
if (!ptr) {
|
||||
fclose(input);
|
||||
return SSL_BAD_FILE;
|
||||
}
|
||||
ctx->AddCA(ptr); // takes ownership
|
||||
}
|
||||
else {
|
||||
x509*& x = (type == Cert) ? ctx->certificate_ : ctx->privateKey_;
|
||||
|
||||
if (format == SSL_FILETYPE_ASN1) {
|
||||
fseek(input, 0, SEEK_END);
|
||||
long sz = ftell(input);
|
||||
rewind(input);
|
||||
x = NEW_YS x509(sz); // takes ownership
|
||||
size_t bytes = fread(x->use_buffer(), sz, 1, input);
|
||||
if (bytes != 1) {
|
||||
fclose(input);
|
||||
return SSL_BAD_FILE;
|
||||
}
|
||||
}
|
||||
else {
|
||||
x = PemToDer(file, type);
|
||||
if (!x) {
|
||||
fclose(input);
|
||||
return SSL_BAD_FILE;
|
||||
}
|
||||
}
|
||||
}
|
||||
fclose(input);
|
||||
return SSL_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
int SSL_CTX_use_certificate_file(SSL_CTX* ctx, const char* file, int format)
|
||||
{
|
||||
return read_file(ctx, file, format, Cert);
|
||||
|
|
@ -1401,4 +1404,5 @@ void MD5_Final(unsigned char* hash, MD5_CTX* md5)
|
|||
// end stunnel needs
|
||||
|
||||
|
||||
} // extern "C"
|
||||
} // namespace
|
||||
|
|
|
|||
|
|
@ -1975,7 +1975,9 @@ Connection::Connection(ProtocolVersion v, RandomPool& ran)
|
|||
: pre_master_secret_(0), sequence_number_(0), peer_sequence_number_(0),
|
||||
pre_secret_len_(0), send_server_key_(false), master_clean_(false),
|
||||
TLS_(v.major_ >= 3 && v.minor_ >= 1), version_(v), random_(ran)
|
||||
{}
|
||||
{
|
||||
memset(sessionID_, 0, sizeof(sessionID_));
|
||||
}
|
||||
|
||||
|
||||
Connection::~Connection()
|
||||
|
|
|
|||
|
|
@ -1415,7 +1415,7 @@ BulkCipher* CryptProvider::NewDesEde()
|
|||
}
|
||||
|
||||
|
||||
void CleanUp()
|
||||
extern "C" void yaSSL_CleanUp()
|
||||
{
|
||||
TaoCrypt::CleanUp();
|
||||
ysDelete(cryptProviderInstance);
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
# quick and dirty build file for testing different MSDEVs
|
||||
REM quick and dirty build file for testing different MSDEVs
|
||||
setlocal
|
||||
|
||||
set myFLAGS= /I../include /I../../mySTL /c /W3 /G6 /O2
|
||||
#set myFLAGS= /I../include /I../../mySTL /c /W3
|
||||
|
||||
cl %myFLAGS% benchmark.cpp
|
||||
|
||||
link.exe /out:benchmark.exe ../src/taocrypt.lib benchmark.obj
|
||||
link.exe /out:benchmark.exe ../src/taocrypt.lib benchmark.obj advapi32.lib
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ REM quick and dirty build file for testing different MSDEVs
|
|||
setlocal
|
||||
|
||||
set myFLAGS= /I../include /I../../mySTL /c /W3 /G6 /O2
|
||||
#set myFLAGS= /I../include /I../../mySTL /c /W3 /O1
|
||||
|
||||
cl %myFLAGS% aes.cpp
|
||||
cl %myFLAGS% aestables.cpp
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# quick and dirty build file for testing different MSDEVs
|
||||
REM quick and dirty build file for testing different MSDEVs
|
||||
setlocal
|
||||
|
||||
set myFLAGS= /I../include /I../../mySTL /c /W3 /G6 /O2
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# quick and dirty build file for testing different MSDEVs
|
||||
REM quick and dirty build file for testing different MSDEVs
|
||||
setlocal
|
||||
|
||||
set myFLAGS= /I../include /I../taocrypt/include /I../mySTL /c /W3 /G6 /O2 /MT /D"WIN32" /D"NO_MAIN_DRIVER"
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
#endif /* _WIN32 */
|
||||
|
||||
|
||||
#if defined(__MACH__) || defined(_WIN32)
|
||||
#if !defined(_SOCKLEN_T) && (defined(__MACH__) || defined(_WIN32))
|
||||
typedef int socklen_t;
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -91,6 +91,7 @@ int main(int argc, char** argv)
|
|||
assert(memcmp(input, output, sizeof(input)) == 0);
|
||||
|
||||
printf("\nAll tests passed!\n");
|
||||
yaSSL_CleanUp();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue