diff options
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/include/Ice/SslCertificateVerifierOpenSSL.h (renamed from cpp/src/Ice/SslCertificateVerifierOpenSSL.h) | 11 | ||||
-rw-r--r-- | cpp/src/Ice/SslCertificateVerifierOpenSSL.cpp | 12 | ||||
-rw-r--r-- | cpp/src/Ice/SslConnection.h | 2 | ||||
-rw-r--r-- | cpp/src/Ice/SslConnectionOpenSSL.cpp | 12 | ||||
-rw-r--r-- | cpp/src/Ice/SslConnectionOpenSSL.h | 2 | ||||
-rw-r--r-- | cpp/src/Ice/SslConnectionOpenSSLClient.cpp | 15 | ||||
-rw-r--r-- | cpp/src/Ice/SslConnectionOpenSSLClient.h | 2 | ||||
-rw-r--r-- | cpp/src/Ice/SslConnectionOpenSSLServer.cpp | 16 | ||||
-rw-r--r-- | cpp/src/Ice/SslConnectionOpenSSLServer.h | 2 | ||||
-rwxr-xr-x | cpp/test/Glacier/starter/run.py | 7 |
10 files changed, 64 insertions, 17 deletions
diff --git a/cpp/src/Ice/SslCertificateVerifierOpenSSL.h b/cpp/include/Ice/SslCertificateVerifierOpenSSL.h index 58257ee91f8..0de7229ac6c 100644 --- a/cpp/src/Ice/SslCertificateVerifierOpenSSL.h +++ b/cpp/include/Ice/SslCertificateVerifierOpenSSL.h @@ -42,12 +42,23 @@ public: virtual int verify(int, X509_STORE_CTX*, SSL*) = 0;
};
+typedef ::IceInternal::Handle< ::IceSecurity::Ssl::OpenSSL::CertificateVerifier> CertificateVerifierPtr;
+
}
}
}
+namespace IceInternal
+{
+
+ICE_API void incRef(::IceSecurity::Ssl::OpenSSL::CertificateVerifier*);
+ICE_API void decRef(::IceSecurity::Ssl::OpenSSL::CertificateVerifier*);
+
+}
+
+
#endif
diff --git a/cpp/src/Ice/SslCertificateVerifierOpenSSL.cpp b/cpp/src/Ice/SslCertificateVerifierOpenSSL.cpp index 91479d5e880..924efcaf720 100644 --- a/cpp/src/Ice/SslCertificateVerifierOpenSSL.cpp +++ b/cpp/src/Ice/SslCertificateVerifierOpenSSL.cpp @@ -14,3 +14,15 @@ IceSecurity::Ssl::OpenSSL::CertificateVerifier::~CertificateVerifier() {
}
+void
+IceInternal::incRef(::IceSecurity::Ssl::OpenSSL::CertificateVerifier* p)
+{
+ p->__incRef();
+}
+
+void
+IceInternal::decRef(::IceSecurity::Ssl::OpenSSL::CertificateVerifier* p)
+{
+ p->__decRef();
+}
+
diff --git a/cpp/src/Ice/SslConnection.h b/cpp/src/Ice/SslConnection.h index 444acd4213f..5623d4505c2 100644 --- a/cpp/src/Ice/SslConnection.h +++ b/cpp/src/Ice/SslConnection.h @@ -27,7 +27,7 @@ namespace Ssl class Connection : public IceUtil::Shared { public: - Connection(const CertificateVerifierPtr&); + Connection(const IceSecurity::Ssl::CertificateVerifierPtr&); virtual ~Connection(); virtual void shutdown() = 0; diff --git a/cpp/src/Ice/SslConnectionOpenSSL.cpp b/cpp/src/Ice/SslConnectionOpenSSL.cpp index 3f64a2891f3..f7f5a33a4d3 100644 --- a/cpp/src/Ice/SslConnectionOpenSSL.cpp +++ b/cpp/src/Ice/SslConnectionOpenSSL.cpp @@ -163,9 +163,15 @@ IceSecurity::Ssl::OpenSSL::SslConnectionMap IceSecurity::Ssl::OpenSSL::Connectio void ::IceInternal::incRef(::IceSecurity::Ssl::OpenSSL::Connection* p) { p->__incRef(); } void ::IceInternal::decRef(::IceSecurity::Ssl::OpenSSL::Connection* p) { p->__decRef(); } -IceSecurity::Ssl::OpenSSL::Connection::Connection(const CertificateVerifierPtr& certificateVerifier, - SSL* sslConnection, - const SystemPtr& system) : +// Note: I would use a using directive of the form: +// using IceSecurity::Ssl::CertificateVerifierPtr; +// but unfortunately, it appears that this is not properly picked up. +// + +IceSecurity::Ssl::OpenSSL::Connection::Connection( + const IceSecurity::Ssl::CertificateVerifierPtr& certificateVerifier, + SSL* sslConnection, + const SystemPtr& system) : IceSecurity::Ssl::Connection(certificateVerifier), _sslConnection(sslConnection), _system(system) diff --git a/cpp/src/Ice/SslConnectionOpenSSL.h b/cpp/src/Ice/SslConnectionOpenSSL.h index 351c555a663..ddd5467cdfb 100644 --- a/cpp/src/Ice/SslConnectionOpenSSL.h +++ b/cpp/src/Ice/SslConnectionOpenSSL.h @@ -134,7 +134,7 @@ class Connection : public IceSecurity::Ssl::Connection { public: - Connection(const CertificateVerifierPtr&, SSL*, const SystemPtr&); + Connection(const IceSecurity::Ssl::CertificateVerifierPtr&, SSL*, const SystemPtr&); virtual ~Connection(); virtual void shutdown(); diff --git a/cpp/src/Ice/SslConnectionOpenSSLClient.cpp b/cpp/src/Ice/SslConnectionOpenSSLClient.cpp index 8937baeae53..45917272ceb 100644 --- a/cpp/src/Ice/SslConnectionOpenSSLClient.cpp +++ b/cpp/src/Ice/SslConnectionOpenSSLClient.cpp @@ -39,10 +39,17 @@ using std::dec; // Public Methods // -IceSecurity::Ssl::OpenSSL::ClientConnection::ClientConnection(const CertificateVerifierPtr& certificateVerifier, - SSL* connection, - const SystemPtr& system) : - Connection(certificateVerifier, connection, system) +// Note: I would use a using directive of the form: +// using IceSecurity::Ssl::CertificateVerifierPtr; +// but unfortunately, it appears that this is not properly picked up. +// + +IceSecurity::Ssl::OpenSSL::ClientConnection::ClientConnection( + const IceSecurity::Ssl::CertificateVerifierPtr& certificateVerifier, + SSL* connection, + const SystemPtr& system) : + Connection(certificateVerifier, + connection, system) { } diff --git a/cpp/src/Ice/SslConnectionOpenSSLClient.h b/cpp/src/Ice/SslConnectionOpenSSLClient.h index fdf0e6c0779..1ed809c758b 100644 --- a/cpp/src/Ice/SslConnectionOpenSSLClient.h +++ b/cpp/src/Ice/SslConnectionOpenSSLClient.h @@ -26,7 +26,7 @@ class ClientConnection : public Connection { public: - ClientConnection(const CertificateVerifierPtr&, SSL*, const IceSecurity::Ssl::SystemPtr&); + ClientConnection(const IceSecurity::Ssl::CertificateVerifierPtr&, SSL*, const IceSecurity::Ssl::SystemPtr&); virtual ~ClientConnection(); virtual void shutdown(); virtual int init(int timeout = 0); diff --git a/cpp/src/Ice/SslConnectionOpenSSLServer.cpp b/cpp/src/Ice/SslConnectionOpenSSLServer.cpp index c9c05900ff2..54497011d7b 100644 --- a/cpp/src/Ice/SslConnectionOpenSSLServer.cpp +++ b/cpp/src/Ice/SslConnectionOpenSSLServer.cpp @@ -41,10 +41,18 @@ using std::dec; // Public Methods // -IceSecurity::Ssl::OpenSSL::ServerConnection::ServerConnection(const CertificateVerifierPtr& certificateVerifier, - SSL* connection, - const SystemPtr& system) : - Connection(certificateVerifier, connection, system) +// Note: I would use a using directive of the form: +// using IceSecurity::Ssl::CertificateVerifierPtr; +// but unfortunately, it appears that this is not properly picked up. +// + +IceSecurity::Ssl::OpenSSL::ServerConnection::ServerConnection( + const IceSecurity::Ssl::CertificateVerifierPtr& certificateVerifier, + SSL* connection, + const SystemPtr& system) : + Connection(certificateVerifier, + connection, + system) { } diff --git a/cpp/src/Ice/SslConnectionOpenSSLServer.h b/cpp/src/Ice/SslConnectionOpenSSLServer.h index ae348a6d2a2..09675377236 100644 --- a/cpp/src/Ice/SslConnectionOpenSSLServer.h +++ b/cpp/src/Ice/SslConnectionOpenSSLServer.h @@ -26,7 +26,7 @@ class ServerConnection : public Connection { public: - ServerConnection(const CertificateVerifierPtr&, SSL*, const IceSecurity::Ssl::SystemPtr&); + ServerConnection(const IceSecurity::Ssl::CertificateVerifierPtr&, SSL*, const IceSecurity::Ssl::SystemPtr&); virtual ~ServerConnection(); virtual void shutdown(); virtual int init(int timeout = 0); diff --git a/cpp/test/Glacier/starter/run.py b/cpp/test/Glacier/starter/run.py index 70eba1d1967..7b8eb8a6908 100755 --- a/cpp/test/Glacier/starter/run.py +++ b/cpp/test/Glacier/starter/run.py @@ -21,6 +21,10 @@ else: sys.path.append(os.path.join(toplevel, "config")) import TestUtil +if TestUtil.protocol != "ssl": + print "This test may only be run using the SSL protocol." + sys.exit(0) + starter = os.path.join(toplevel, "bin", "glacierstarter") router = os.path.join(toplevel, "bin", "glacier") @@ -28,14 +32,12 @@ updatedServerOptions = TestUtil.serverOptions.replace("TOPLEVELDIR", toplevel) updatedClientOptions = TestUtil.clientOptions.replace("TOPLEVELDIR", toplevel) updatedClientServerOptions = TestUtil.clientServerOptions.replace("TOPLEVELDIR", toplevel) -print "starting glacier starter...", command = starter + updatedClientServerOptions + \ r' --Glacier.Starter.RouterPath=' + router + \ r' --Glacier.Starter.Endpoints="default -p 12346 -t 5000"' + \ r' --Glacier.Router.Endpoints="default"' + \ r' --Glacier.Client.Endpoints="default"' + \ r' --Glacier.Server.Endpoints="tcp"' + \ - r' --Glacier.Starter.PropertiesOverwrite="Ice.Security.Ssl.CertPath=./"' + \ r' --Glacier.Starter.Certificate.Country=US' + \ r' --Glacier.Starter.Certificate.StateProvince=Alabama' + \ r' --Glacier.Starter.Certificate.Locality=Huntsville' + \ @@ -45,6 +47,7 @@ command = starter + updatedClientServerOptions + \ r' --Glacier.Starter.Certificate.BitStrength=1024' + \ r' --Glacier.Starter.Certificate.SecondsValid=31536000' +print "starting glacier starter...", starterPipe = os.popen(command) TestUtil.getServerPid(starterPipe) TestUtil.getAdapterReady(starterPipe) |