Moving the body of setManualOpenSSLInitialization() to the cpp file
See the comment made in here where it was suggested but never done: https://github.com/apache/thrift/pull/1714#issuecomment-2459192022
diff --git a/lib/cpp/src/thrift/transport/TSSLSocket.cpp b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
index 6c0de08..db426c8 100644
--- a/lib/cpp/src/thrift/transport/TSSLSocket.cpp
+++ b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
@@ -1134,6 +1134,10 @@
return length;
}
+void TSSLSocketFactory::setManualOpenSSLInitialization(bool manualOpenSSLInitialization) {
+ manualOpenSSLInitialization_ = manualOpenSSLInitialization;
+}
+
// extract error messages from error queue
void buildErrors(string& errors, int errno_copy, int sslerrno) {
unsigned long errorCode;
diff --git a/lib/cpp/src/thrift/transport/TSSLSocket.h b/lib/cpp/src/thrift/transport/TSSLSocket.h
index 80a68ce..45502bd 100644
--- a/lib/cpp/src/thrift/transport/TSSLSocket.h
+++ b/lib/cpp/src/thrift/transport/TSSLSocket.h
@@ -306,9 +306,8 @@
* @param manager The AccessManager instance
*/
virtual void access(std::shared_ptr<AccessManager> manager) { access_ = manager; }
- static void setManualOpenSSLInitialization(bool manualOpenSSLInitialization) {
- manualOpenSSLInitialization_ = manualOpenSSLInitialization;
- }
+
+ static void setManualOpenSSLInitialization(bool manualOpenSSLInitialization);
protected:
std::shared_ptr<SSLContext> ctx_;
@@ -327,7 +326,7 @@
std::shared_ptr<AccessManager> access_;
static concurrency::Mutex mutex_;
static uint64_t count_;
- /*THRIFT_EXPORT*/ static bool manualOpenSSLInitialization_; // questionable to export a private member
+ static bool manualOpenSSLInitialization_;
static bool didWeInitializeOpenSSL_; // in that case we also perform de-init
void setup(std::shared_ptr<TSSLSocket> ssl);
static int passwordCallback(char* password, int size, int, void* data);