summaryrefslogtreecommitdiff
path: root/cpp/src/IceSSL
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2016-12-20 20:31:31 +0100
committerJose <jose@zeroc.com>2016-12-20 20:31:31 +0100
commit821e58e0ed84d67ac36c580dd255a67d29bdeb45 (patch)
tree0303ae900c40f76b53d12effee069d8111694654 /cpp/src/IceSSL
parentSupport for specifying Java args with test scripts (diff)
downloadice-821e58e0ed84d67ac36c580dd255a67d29bdeb45.tar.bz2
ice-821e58e0ed84d67ac36c580dd255a67d29bdeb45.tar.xz
ice-821e58e0ed84d67ac36c580dd255a67d29bdeb45.zip
Add getEngineName & getEngineVersion methods to IceSSL C++ Plugin
The methods can be use to retrieve the engine name and versions used at runtime, getEngineVersion will return 0 if the engine does not provide a relevant version number.
Diffstat (limited to 'cpp/src/IceSSL')
-rwxr-xr-xcpp/src/IceSSL/PluginI.cpp26
-rw-r--r--cpp/src/IceSSL/PluginI.h2
2 files changed, 28 insertions, 0 deletions
diff --git a/cpp/src/IceSSL/PluginI.cpp b/cpp/src/IceSSL/PluginI.cpp
index f4caa30fba0..1e9234c5bf5 100755
--- a/cpp/src/IceSSL/PluginI.cpp
+++ b/cpp/src/IceSSL/PluginI.cpp
@@ -133,6 +133,32 @@ IceSSL::PluginI::destroy()
_engine = 0;
}
+string
+IceSSL::PluginI::getEngineName() const
+{
+#if defined(ICE_USE_SECURE_TRANSPORT)
+ return "SecureTransportEngine";
+#elif defined(ICE_USE_SCHANNEL)
+ return "SChannelEngine";
+#elif defined(ICE_OS_UWP)
+ return "UWPEngine";
+#else
+ ostringstream os;
+ os << "OpenSSLEngine@" << SSLeay_version(SSLEAY_VERSION);
+ return os.str();
+#endif
+}
+
+Ice::Long
+IceSSL::PluginI::getEngineVersion() const
+{
+#if defined(ICE_USE_OPENSSL)
+ return SSLeay();
+#else
+ return 0;
+#endif
+}
+
#ifdef ICE_CPP11_MAPPING
void
IceSSL::PluginI::setCertificateVerifier(std::function<bool(const std::shared_ptr<NativeConnectionInfo>&)> verifier)
diff --git a/cpp/src/IceSSL/PluginI.h b/cpp/src/IceSSL/PluginI.h
index e896f52cc5a..8cc3045859d 100644
--- a/cpp/src/IceSSL/PluginI.h
+++ b/cpp/src/IceSSL/PluginI.h
@@ -28,6 +28,8 @@ public:
//
virtual void initialize();
virtual void destroy();
+ virtual std::string getEngineName() const;
+ virtual Ice::Long getEngineVersion() const;
//
// From IceSSL::Plugin.