summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2006-09-11 09:01:32 +0000
committerMatthew Newhook <matthew@zeroc.com>2006-09-11 09:01:32 +0000
commitab3d165e4c54ddee29cdadf08819aa74e60be819 (patch)
treef62deff48ccc8c167af056e6c80347129a0fb945 /cpp
parenthttp://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=1289 (diff)
downloadice-ab3d165e4c54ddee29cdadf08819aa74e60be819.tar.bz2
ice-ab3d165e4c54ddee29cdadf08819aa74e60be819.tar.xz
ice-ab3d165e4c54ddee29cdadf08819aa74e60be819.zip
http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=1289
Diffstat (limited to 'cpp')
-rw-r--r--cpp/CHANGES3
-rw-r--r--cpp/config/PropertyNames.def2
-rw-r--r--cpp/src/Ice/DefaultsAndOverrides.cpp11
-rw-r--r--cpp/src/Ice/DefaultsAndOverrides.h2
-rw-r--r--cpp/src/Ice/EndpointFactoryManager.cpp1
-rw-r--r--cpp/src/Ice/Instance.h2
-rw-r--r--cpp/src/Ice/PropertyNames.cpp4
-rw-r--r--cpp/src/Ice/PropertyNames.h2
-rw-r--r--cpp/src/Ice/Reference.cpp4
9 files changed, 24 insertions, 7 deletions
diff --git a/cpp/CHANGES b/cpp/CHANGES
index ebe4ef036a3..50b52862269 100644
--- a/cpp/CHANGES
+++ b/cpp/CHANGES
@@ -3,6 +3,9 @@ NOTE: Please keep changes in the appropriate section for HEAD or 3.1.
Changes since version 3.1.1 (HEAD)
---------------------------
+- Added Ice.Override.Secure which will force a client to only use
+ secure connections.
+
- If a proxy contains no -h parameter, an Ice client will now attempt
to connect using loopback as well as all other local interfaces.
diff --git a/cpp/config/PropertyNames.def b/cpp/config/PropertyNames.def
index 0159eca282b..83c561c05c1 100644
--- a/cpp/config/PropertyNames.def
+++ b/cpp/config/PropertyNames.def
@@ -135,6 +135,7 @@ Ice:
Override.Compress
Override.ConnectTimeout
Override.Timeout
+ Override.Secure
Package.<any>
Plugin.<any>
PluginLoadOrder
@@ -171,6 +172,7 @@ Ice:
Warn.Datagrams
Warn.Dispatch
Warn.Endpoints
+ AllowableEndpoints
IceBox:
InstanceName
diff --git a/cpp/src/Ice/DefaultsAndOverrides.cpp b/cpp/src/Ice/DefaultsAndOverrides.cpp
index 1f3a851b713..91ffcb59293 100644
--- a/cpp/src/Ice/DefaultsAndOverrides.cpp
+++ b/cpp/src/Ice/DefaultsAndOverrides.cpp
@@ -24,7 +24,9 @@ IceInternal::DefaultsAndOverrides::DefaultsAndOverrides(const PropertiesPtr& pro
overrideConnectTimeout(false),
overrideConnectTimeoutValue(-1),
overrideCompress(false),
- overrideCompressValue(false)
+ overrideCompressValue(false),
+ overrideSecure(false),
+ overrideSecureValue(false)
{
const_cast<string&>(defaultProtocol) = properties->getPropertyWithDefault("Ice.Default.Protocol", "tcp");
@@ -55,6 +57,13 @@ IceInternal::DefaultsAndOverrides::DefaultsAndOverrides(const PropertiesPtr& pro
const_cast<bool&>(overrideCompressValue) = properties->getPropertyAsInt("Ice.Override.Compress");
}
+ value = properties->getProperty("Ice.Override.Secure");
+ if(!value.empty())
+ {
+ const_cast<bool&>(overrideSecure) = true;
+ const_cast<bool&>(overrideSecureValue) = properties->getPropertyAsInt("Ice.Override.Secure");
+ }
+
const_cast<string&>(defaultLocator) = properties->getProperty("Ice.Default.Locator");
const_cast<bool&>(defaultCollocationOptimization) =
diff --git a/cpp/src/Ice/DefaultsAndOverrides.h b/cpp/src/Ice/DefaultsAndOverrides.h
index a466631947d..0f2aa6efd5a 100644
--- a/cpp/src/Ice/DefaultsAndOverrides.h
+++ b/cpp/src/Ice/DefaultsAndOverrides.h
@@ -36,6 +36,8 @@ public:
Ice::Int overrideConnectTimeoutValue;
bool overrideCompress;
bool overrideCompressValue;
+ bool overrideSecure;
+ bool overrideSecureValue;
};
}
diff --git a/cpp/src/Ice/EndpointFactoryManager.cpp b/cpp/src/Ice/EndpointFactoryManager.cpp
index cb60e54965f..a6ce0e4dcaa 100644
--- a/cpp/src/Ice/EndpointFactoryManager.cpp
+++ b/cpp/src/Ice/EndpointFactoryManager.cpp
@@ -13,6 +13,7 @@
#include <Ice/BasicStream.h>
#include <Ice/LocalException.h>
#include <Ice/Instance.h>
+#include <Ice/Properties.h>
#include <Ice/DefaultsAndOverrides.h>
using namespace std;
diff --git a/cpp/src/Ice/Instance.h b/cpp/src/Ice/Instance.h
index b9bbca6a9fa..86d8b074eb4 100644
--- a/cpp/src/Ice/Instance.h
+++ b/cpp/src/Ice/Instance.h
@@ -15,8 +15,6 @@
#include <IceUtil/RecMutex.h>
#include <Ice/InstanceF.h>
#include <Ice/CommunicatorF.h>
-#include <Ice/PropertiesF.h>
-#include <Ice/LoggerF.h>
#include <Ice/StatsF.h>
#include <Ice/TraceLevelsF.h>
#include <Ice/DefaultsAndOverridesF.h>
diff --git a/cpp/src/Ice/PropertyNames.cpp b/cpp/src/Ice/PropertyNames.cpp
index 7b3be4244ae..92f26563d70 100644
--- a/cpp/src/Ice/PropertyNames.cpp
+++ b/cpp/src/Ice/PropertyNames.cpp
@@ -7,7 +7,7 @@
//
// **********************************************************************
-// Generated by makeprops.py from file `../../config/PropertyNames.def', Thu Aug 31 18:34:35 2006
+// Generated by makeprops.py from file `../../config/PropertyNames.def', Mon Sep 11 16:14:10 2006
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
@@ -37,6 +37,7 @@ const char* IceInternal::PropertyNames::IceProps[] =
"Ice.Override.Compress",
"Ice.Override.ConnectTimeout",
"Ice.Override.Timeout",
+ "Ice.Override.Secure",
"Ice.Package.*",
"Ice.Plugin.*",
"Ice.PluginLoadOrder",
@@ -73,6 +74,7 @@ const char* IceInternal::PropertyNames::IceProps[] =
"Ice.Warn.Datagrams",
"Ice.Warn.Dispatch",
"Ice.Warn.Endpoints",
+ "Ice.AllowableEndpoints",
0
};
diff --git a/cpp/src/Ice/PropertyNames.h b/cpp/src/Ice/PropertyNames.h
index 7a25d66e371..bfef02bc2f4 100644
--- a/cpp/src/Ice/PropertyNames.h
+++ b/cpp/src/Ice/PropertyNames.h
@@ -7,7 +7,7 @@
//
// **********************************************************************
-// Generated by makeprops.py from file `../../config/PropertyNames.def', Thu Aug 31 18:34:35 2006
+// Generated by makeprops.py from file `../../config/PropertyNames.def', Mon Sep 11 16:14:10 2006
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
diff --git a/cpp/src/Ice/Reference.cpp b/cpp/src/Ice/Reference.cpp
index 8c1c0f80c6e..7abdd03bc66 100644
--- a/cpp/src/Ice/Reference.cpp
+++ b/cpp/src/Ice/Reference.cpp
@@ -675,7 +675,7 @@ IceInternal::FixedReference::filterConnections(const vector<ConnectionIPtr>& all
// first.
//
DefaultsAndOverridesPtr overrides = getInstance()->defaultsAndOverrides();
- if(getSecure() || (overrides->overrideSecure && overrides->overrideSecureValue))
+ if(overrides->overrideSecure ? overrides->overrideSecureValue : getSecure())
{
connections.erase(remove_if(connections.begin(), connections.end(), not1(ConnectionIsSecure())),
connections.end());
@@ -1093,7 +1093,7 @@ IceInternal::RoutableReference::createConnection(const vector<EndpointIPtr>& all
// endpoint vector, so that non-secure endpoints come first.
//
DefaultsAndOverridesPtr overrides = getInstance()->defaultsAndOverrides();
- if(getSecure() || (overrides->overrideSecure && overrides->overrideSecureValue))
+ if(overrides->overrideSecure ? overrides->overrideSecureValue : getSecure())
{
endpoints.erase(remove_if(endpoints.begin(), endpoints.end(), not1(Ice::constMemFun(&EndpointI::secure))),
endpoints.end());