From 58e60f6909d832bb6100e9a168f002a14d4214ef Mon Sep 17 00:00:00 2001 From: Ruslan Makhmatkhanov Date: Mon, 17 Jun 2013 11:42:41 +0000 Subject: - update to 3.5.0 - add license (GPLv2) - switch to bdb 5 - mark broken on 10.x for the time being (as it was discussed on ports@ ML) - remove patches, applied upstream This version of Ice brings many new features, e.g. - New encoding version - Metrics facility - Optional data members and parameters - Compact encoding for classes and exceptions - Compact type IDs - Preserved slices - Custom enumerator values - C++11 lambda functions - Remote Update of Server Properties - IPv6 now enabled by default - Python 3 support - Use Berkley DB 5 See http://doc.zeroc.com/display/Ice/Release+Notes for details. PR: 179233 Submitted by: Michael Gmelin (maintainer) Tested by: Jaret Bartsch --- .../patch-cpp-src-IceGrid-InternalRegistryI.cpp | 136 --------------------- 1 file changed, 136 deletions(-) delete mode 100644 devel/ice/files/patch-cpp-src-IceGrid-InternalRegistryI.cpp (limited to 'devel/ice/files/patch-cpp-src-IceGrid-InternalRegistryI.cpp') diff --git a/devel/ice/files/patch-cpp-src-IceGrid-InternalRegistryI.cpp b/devel/ice/files/patch-cpp-src-IceGrid-InternalRegistryI.cpp deleted file mode 100644 index 2d402e2f2feb..000000000000 --- a/devel/ice/files/patch-cpp-src-IceGrid-InternalRegistryI.cpp +++ /dev/null @@ -1,136 +0,0 @@ ---- cpp.orig/src/IceGrid/InternalRegistryI.cpp 2011-06-15 21:43:59.000000000 +0200 -+++ cpp/src/IceGrid/InternalRegistryI.cpp 2012-03-04 19:55:44.000000000 +0100 -@@ -19,6 +19,8 @@ - #include - #include - #include -+#include -+#include - - using namespace std; - using namespace IceGrid; -@@ -38,6 +40,8 @@ - Ice::PropertiesPtr properties = database->getCommunicator()->getProperties(); - _nodeSessionTimeout = properties->getPropertyAsIntWithDefault("IceGrid.Registry.NodeSessionTimeout", 30); - _replicaSessionTimeout = properties->getPropertyAsIntWithDefault("IceGrid.Registry.ReplicaSessionTimeout", 30); -+ _requireNodeCertCN = properties->getPropertyAsIntWithDefault("IceGrid.Registry.RequireNodeCertCN", 0); -+ _requireReplicaCertCN = properties->getPropertyAsIntWithDefault("IceGrid.Registry.RequireReplicaCertCN", 0); - } - - InternalRegistryI::~InternalRegistryI() -@@ -50,7 +54,56 @@ - const LoadInfo& load, - const Ice::Current& current) - { -- const Ice::LoggerPtr logger = _database->getTraceLevels()->logger; -+ const TraceLevelsPtr traceLevels = _database->getTraceLevels(); -+ const Ice::LoggerPtr logger = traceLevels->logger; -+ if(!info || !node) -+ { -+ return 0; -+ } -+ -+ if(_requireNodeCertCN) -+ { -+ try -+ { -+ IceSSL::ConnectionInfoPtr sslConnInfo = IceSSL::ConnectionInfoPtr::dynamicCast(current.con->getInfo()); -+ if(sslConnInfo) -+ { -+ if (sslConnInfo->certs.empty() || -+ !IceSSL::Certificate::decode(sslConnInfo->certs[0])->getSubjectDN().match("CN=" + info->name)) -+ { -+ if(traceLevels->node > 0) -+ { -+ Ice::Trace out(logger, traceLevels->nodeCat); -+ out << "certificate CN doesn't match node name `" << info->name << "'"; -+ } -+ throw PermissionDeniedException("certificate CN doesn't match node name `" + info->name + "'"); -+ } -+ } -+ else -+ { -+ if(traceLevels->node > 0) -+ { -+ Ice::Trace out(logger, traceLevels->nodeCat); -+ out << "node certificate for `" << info->name << "' is required to connect to this registry"; -+ } -+ throw PermissionDeniedException("node certificate is required to connect to this registry"); -+ } -+ } -+ catch(const PermissionDeniedException& ex) -+ { -+ throw ex; -+ } -+ catch(const IceUtil::Exception&) -+ { -+ if(traceLevels->node > 0) -+ { -+ Ice::Trace out(logger, traceLevels->nodeCat); -+ out << "unexpected exception while verifying certificate for node `" << info->name << "'"; -+ } -+ throw PermissionDeniedException("unable to verify certificate for node `" + info->name + "'"); -+ } -+ } -+ - try - { - NodeSessionIPtr session = new NodeSessionI(_database, node, info, _nodeSessionTimeout, load); -@@ -68,7 +121,56 @@ - const InternalRegistryPrx& prx, - const Ice::Current& current) - { -- const Ice::LoggerPtr logger = _database->getTraceLevels()->logger; -+ const TraceLevelsPtr traceLevels = _database->getTraceLevels(); -+ const Ice::LoggerPtr logger = traceLevels->logger; -+ if(!info || !prx) -+ { -+ return 0; -+ } -+ -+ if(_requireReplicaCertCN) -+ { -+ try -+ { -+ IceSSL::ConnectionInfoPtr sslConnInfo = IceSSL::ConnectionInfoPtr::dynamicCast(current.con->getInfo()); -+ if(sslConnInfo) -+ { -+ if (sslConnInfo->certs.empty() || -+ !IceSSL::Certificate::decode(sslConnInfo->certs[0])->getSubjectDN().match("CN=" + info->name)) -+ { -+ if(traceLevels->replica > 0) -+ { -+ Ice::Trace out(logger, traceLevels->replicaCat); -+ out << "certificate CN doesn't match replica name `" << info->name << "'"; -+ } -+ throw PermissionDeniedException("certificate CN doesn't match replica name `" + info->name + "'"); -+ } -+ } -+ else -+ { -+ if(traceLevels->replica > 0) -+ { -+ Ice::Trace out(logger, traceLevels->replicaCat); -+ out << "replica certificate for `" << info->name << "' is required to connect to this registry"; -+ } -+ throw PermissionDeniedException("replica certificate is required to connect to this registry"); -+ } -+ } -+ catch(const PermissionDeniedException& ex) -+ { -+ throw ex; -+ } -+ catch(const IceUtil::Exception&) -+ { -+ if(traceLevels->replica > 0) -+ { -+ Ice::Trace out(logger, traceLevels->replicaCat); -+ out << "unexpected exception while verifying certificate for replica `" << info->name << "'"; -+ } -+ throw PermissionDeniedException("unable to verify certificate for replica `" + info->name + "'"); -+ } -+ } -+ - try - { - ReplicaSessionIPtr s = new ReplicaSessionI(_database, _wellKnownObjects, info, prx, _replicaSessionTimeout); -- cgit v1.2.3