diff options
author | Jose <jose@zeroc.com> | 2016-12-20 20:31:31 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2016-12-20 20:31:31 +0100 |
commit | 821e58e0ed84d67ac36c580dd255a67d29bdeb45 (patch) | |
tree | 0303ae900c40f76b53d12effee069d8111694654 /cpp/src/IceSSL | |
parent | Support for specifying Java args with test scripts (diff) | |
download | ice-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-x | cpp/src/IceSSL/PluginI.cpp | 26 | ||||
-rw-r--r-- | cpp/src/IceSSL/PluginI.h | 2 |
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. |