summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorAnthony Neal <aneal@zeroc.com>2002-03-05 17:28:32 +0000
committerAnthony Neal <aneal@zeroc.com>2002-03-05 17:28:32 +0000
commit06ff816fe028e296da7ed8f4596c4f00d0aaf7c3 (patch)
treebec46912989562691bdbc942997181dd0652f20d /cpp
parentBig check in. Glacier client authentication (certificate verification) has (diff)
downloadice-06ff816fe028e296da7ed8f4596c4f00d0aaf7c3.tar.bz2
ice-06ff816fe028e296da7ed8f4596c4f00d0aaf7c3.tar.xz
ice-06ff816fe028e296da7ed8f4596c4f00d0aaf7c3.zip
Updates to fix a problem with multiple copies of
SslCertificateVerifierOpenSSL.h, parameters update in test/Glacier/stater/run.py and namespace issues.
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.cpp12
-rw-r--r--cpp/src/Ice/SslConnection.h2
-rw-r--r--cpp/src/Ice/SslConnectionOpenSSL.cpp12
-rw-r--r--cpp/src/Ice/SslConnectionOpenSSL.h2
-rw-r--r--cpp/src/Ice/SslConnectionOpenSSLClient.cpp15
-rw-r--r--cpp/src/Ice/SslConnectionOpenSSLClient.h2
-rw-r--r--cpp/src/Ice/SslConnectionOpenSSLServer.cpp16
-rw-r--r--cpp/src/Ice/SslConnectionOpenSSLServer.h2
-rwxr-xr-xcpp/test/Glacier/starter/run.py7
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)