summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/SystemOpenSSL.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/SystemOpenSSL.h')
-rw-r--r--cpp/src/Ice/SystemOpenSSL.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/cpp/src/Ice/SystemOpenSSL.h b/cpp/src/Ice/SystemOpenSSL.h
index 1edc1944f9d..0a6a28dc7ad 100644
--- a/cpp/src/Ice/SystemOpenSSL.h
+++ b/cpp/src/Ice/SystemOpenSSL.h
@@ -10,9 +10,10 @@
#ifndef ICE_SSL_SYSTEM_OPENSSL_H
#define ICE_SSL_SYSTEM_OPENSSL_H
-#include <Ice/Config.h>
+#include <Ice/Config.h>
#include <Ice/TraceLevelsF.h>
-#include <Ice/LoggerF.h>
+#include <Ice/LoggerF.h>
+#include <IceUtil/RecMutex.h>
#include <Ice/GeneralConfig.h>
#include <Ice/CertificateDesc.h>
@@ -71,8 +72,10 @@ public:
virtual void setCertificateVerifier(ContextType, const IceSSL::CertificateVerifierPtr&);
- virtual void addTrustedCertificate(ContextType, const std::string&);
+ virtual void addTrustedCertificateBase64(ContextType, const std::string&);
+ virtual void addTrustedCertificate(ContextType, const Ice::ByteSeq&);
+
virtual void setRSAKeysBase64(ContextType, const std::string&, const std::string&);
virtual void setRSAKeys(ContextType, const Ice::ByteSeq&, const Ice::ByteSeq&);
@@ -86,7 +89,11 @@ private:
ServerContext _serverContext;
ClientContext _clientContext;
-
+
+ // Mutex to ensure synchronization of calls to configure
+ // the contexts and calls to create connections.
+ ::IceUtil::RecMutex _configMutex;
+
// Keep a cache of all temporary RSA keys.
RSAMap _tempRSAKeys;
::IceUtil::Mutex _tempRSAKeysMutex;