summaryrefslogtreecommitdiff
path: root/extra/yassl/src
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2005-04-30 19:48:45 +0200
committerunknown <serg@serg.mylan>2005-04-30 19:48:45 +0200
commitd3d56609520700ce6f0490007cd4c01870bc7fd6 (patch)
tree74e86b2737e0e781445fade0c11a388a26d923e5 /extra/yassl/src
parent927d747a21b7fe05a52074e511e75a600965c139 (diff)
downloadmariadb-git-d3d56609520700ce6f0490007cd4c01870bc7fd6.tar.gz
yassl changeset 2:
remove FIX_GCC_LINKING_PROBLEM and -DDEFINE_CXA_PURE_VIRTUAL replace echo in configure.in with AC_MSG_WARN/AC_MSG_ERROR don't set -DUSE_MYSYS_NEW for gcc 2.95 set $USE_MYSYS_NEW even if CXX is g++ yassl bugfixes instantiate all yassl templates explicitly client/Makefile.am: mysqlbinlog as a c++ program may need my_new.cc (if CXX=gcc) no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc client/mysqladmin.cc: no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc client/mysqlbinlog.cc: no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc configure.in: echo should be AC_MSG_WARN or AC_MSG_ERROR don't set -DUSE_MYSYS_NEW for gcc 2.95 (to restore old behaviour) set $USE_MYSYS_NEW even if CXX is g++ (for yassl, as it can be linked with C programs) remove -DDEFINE_CXA_PURE_VIRTUAL - -DUSE_MYSYS_NEW is enough extra/yassl/mySTL/list.hpp: bugfixes extra/yassl/src/Makefile.am: no need to mess with CXXFLAGS anymore. Instantiate all templates explicitly extra/yassl/src/crypto_wrapper.cpp: instantiate templates explicitly extra/yassl/src/yassl_imp.cpp: instantiate templates explicitly extra/yassl/src/yassl_int.cpp: instantiate templates explicitly extra/yassl/taocrypt/include/runtime.hpp: use -DUSE_MYSYS_NEW not -DDEFINE_CXA_PURE_VIRTUAL assert in __cxa_pure_virtual remove dummy (and thus dangerous) __cxa_guard_acquire/__cxa_guard_release extra/yassl/taocrypt/src/Makefile.am: no need to mess with CXXFLAGS anymore. Instantiate all templates explicitly extra/yassl/taocrypt/src/integer.cpp: instantiate templates explicitly extra/yassl/taocrypt/src/rsa.cpp: instantiate templates explicitly include/my_global.h: no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc mysys/my_new.cc: no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc server-tools/instance-manager/command.cc: no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc sql/ha_blackhole.cc: typo fixed sql/ha_innodb.cc: warning fixed sql/item_func.cc: use LL() sql/mysqld.cc: no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc
Diffstat (limited to 'extra/yassl/src')
-rw-r--r--extra/yassl/src/Makefile.am2
-rw-r--r--extra/yassl/src/crypto_wrapper.cpp8
-rw-r--r--extra/yassl/src/yassl_imp.cpp25
-rw-r--r--extra/yassl/src/yassl_int.cpp18
4 files changed, 43 insertions, 10 deletions
diff --git a/extra/yassl/src/Makefile.am b/extra/yassl/src/Makefile.am
index e0b8110b65c..9dd8a09b00b 100644
--- a/extra/yassl/src/Makefile.am
+++ b/extra/yassl/src/Makefile.am
@@ -5,4 +5,4 @@ libyassl_a_SOURCES = buffer.cpp cert_wrapper.cpp crypto_wrapper.cpp \
handshake.cpp lock.cpp log.cpp socket_wrapper.cpp ssl.cpp \
timer.cpp yassl_imp.cpp yassl_error.cpp yassl_int.cpp
EXTRA_DIST = ../include/*.hpp ../include/openssl/*.h
-CXXFLAGS=`echo "@CXXFLAGS@" | sed 's/-fno-implicit-templates//'`
+AM_CXXFLAGS=@USE_MYSYS_NEW@
diff --git a/extra/yassl/src/crypto_wrapper.cpp b/extra/yassl/src/crypto_wrapper.cpp
index 72822430a51..c083c56f313 100644
--- a/extra/yassl/src/crypto_wrapper.cpp
+++ b/extra/yassl/src/crypto_wrapper.cpp
@@ -967,4 +967,12 @@ x509* PemToDer(const char* fname, CertType type)
} // namespace
+#ifdef __GNUC__
+template class TaoCrypt::HMAC<TaoCrypt::MD5>;
+template class TaoCrypt::HMAC<TaoCrypt::SHA>;
+template class TaoCrypt::HMAC<TaoCrypt::RIPEMD160>;
+template class TaoCrypt::Mode_BASE<16>;
+template class TaoCrypt::Mode_BASE<8>;
+#endif
+
#endif // !USE_CRYPTOPP_LIB
diff --git a/extra/yassl/src/yassl_imp.cpp b/extra/yassl/src/yassl_imp.cpp
index 07310546b4c..ba2fbd8cc07 100644
--- a/extra/yassl/src/yassl_imp.cpp
+++ b/extra/yassl/src/yassl_imp.cpp
@@ -2089,5 +2089,28 @@ void InitClientKeyFactory(ClientKeyFactory& ckf)
ckf.Register(fortezza_kea, CreateFortezzaClient);
}
-
} // namespace
+
+#ifdef __GNUC__
+template class mySTL::list<unsigned char*>;
+template yaSSL::del_ptr_zero mySTL::for_each(mySTL::list<unsigned char*>::iterator, mySTL::list<unsigned char*>::iterator, yaSSL::del_ptr_zero);
+template mySTL::pair<int, yaSSL::Message* (*)()>* mySTL::uninit_copy<mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*>(mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*);
+template mySTL::pair<int, yaSSL::HandShakeBase* (*)()>* mySTL::uninit_copy<mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*>(mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*);
+template void mySTL::destroy<mySTL::pair<int, yaSSL::Message* (*)()>*>(mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*);
+template void mySTL::destroy<mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*>(mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*);
+template mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>* mySTL::uninit_copy<mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*);
+template void mySTL::destroy<mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*);
+template mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>* mySTL::uninit_copy<mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*);
+template class mySTL::list<TaoCrypt::Signer*>;
+template class mySTL::list<yaSSL::SSL_SESSION*>;
+template class mySTL::list<yaSSL::input_buffer*>;
+template class mySTL::list<yaSSL::output_buffer*>;
+template class mySTL::list<yaSSL::x509*>;
+template void mySTL::destroy<mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*);
+template yaSSL::del_ptr_zero mySTL::for_each<mySTL::list<TaoCrypt::Signer*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<TaoCrypt::Signer*>::iterator, mySTL::list<TaoCrypt::Signer*>::iterator, yaSSL::del_ptr_zero);
+template yaSSL::del_ptr_zero mySTL::for_each<mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::SSL_SESSION*>::iterator, mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::del_ptr_zero);
+template yaSSL::del_ptr_zero mySTL::for_each<mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::input_buffer*>::iterator, mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::del_ptr_zero);
+template yaSSL::del_ptr_zero mySTL::for_each<mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::output_buffer*>::iterator, mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::del_ptr_zero);
+template yaSSL::del_ptr_zero mySTL::for_each<mySTL::list<yaSSL::x509*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::x509*>::iterator, mySTL::list<yaSSL::x509*>::iterator, yaSSL::del_ptr_zero);
+#endif
+
diff --git a/extra/yassl/src/yassl_int.cpp b/extra/yassl/src/yassl_int.cpp
index d481194d2d7..5f918b0a356 100644
--- a/extra/yassl/src/yassl_int.cpp
+++ b/extra/yassl/src/yassl_int.cpp
@@ -918,7 +918,7 @@ void SSL::setKeys()
// local functors
-namespace {
+namespace yassl_int_cpp_local1 {
struct SumData {
uint total_;
@@ -934,7 +934,7 @@ struct SumBuffer {
};
} // namespace for locals
-
+using namespace yassl_int_cpp_local1;
uint SSL::bufferedData()
{
@@ -942,7 +942,6 @@ uint SSL::bufferedData()
SumData()).total_;
}
-
// use input buffer to fill data
void SSL::fillData(Data& data)
{
@@ -1377,7 +1376,7 @@ Sessions::~Sessions()
}
-namespace { // locals
+namespace yassl_int_cpp_local2 { // locals
typedef mySTL::list<SSL_SESSION*>::iterator iterator;
@@ -1395,7 +1394,7 @@ struct sess_match {
} // local namespace
-
+using namespace yassl_int_cpp_local2;
// lookup session by id, return a copy if space provided
SSL_SESSION* Sessions::lookup(const opaque* id, SSL_SESSION* copy)
@@ -1965,7 +1964,10 @@ X509_NAME* X509::GetSubject()
return &subject_;
}
-
-
-
} // namespace
+
+#ifdef __GNUC__
+template yaSSL::yassl_int_cpp_local1::SumData mySTL::for_each<mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumData>(mySTL::list<yaSSL::input_buffer*>::iterator, mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumData);
+template yaSSL::yassl_int_cpp_local1::SumBuffer mySTL::for_each<mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumBuffer>(mySTL::list<yaSSL::output_buffer*>::iterator, mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumBuffer);
+template mySTL::list<yaSSL::SSL_SESSION*>::iterator mySTL::find_if<mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::yassl_int_cpp_local2::sess_match>(mySTL::list<yaSSL::SSL_SESSION*>::iterator, mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::yassl_int_cpp_local2::sess_match);
+#endif