summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2019-07-22 10:12:54 +0200
committerJose <jose@zeroc.com>2019-07-22 10:12:54 +0200
commit2e4fd3bd17104f5a08f229e585a0dde0775122fc (patch)
tree1e54a4099f862ce40ccdaee2d6f06b4c0c4f525e
parentRenamed API macro to ICEIMPL_API. Fixes #451. (diff)
parentFixed IceGrid node to check for permissions verifier crypt password propertie... (diff)
downloadice-2e4fd3bd17104f5a08f229e585a0dde0775122fc.tar.bz2
ice-2e4fd3bd17104f5a08f229e585a0dde0775122fc.tar.xz
ice-2e4fd3bd17104f5a08f229e585a0dde0775122fc.zip
Merge remote-tracking branch 'origin/3.7' into swift
-rw-r--r--CHANGELOG-3.7.md5
-rw-r--r--config/Make.rules6
-rw-r--r--cpp/src/IceGrid/IceGridNode.cpp27
-rw-r--r--python/test/Ice/custom/Test.ice1
4 files changed, 35 insertions, 4 deletions
diff --git a/CHANGELOG-3.7.md b/CHANGELOG-3.7.md
index 4ba699852ef..6d7aa76dcf2 100644
--- a/CHANGELOG-3.7.md
+++ b/CHANGELOG-3.7.md
@@ -62,6 +62,11 @@ These are the changes since Ice 3.7.2.
## C++ Changes
+- Fixed bug where the `IceGrid.Registry.CryptPasswords` or
+ `IceGrid.Registry.AdminCryptPasswords` properties were ignored if the IceGrid
+ registry was collocated with the IceGrid node executable using the
+ `IceGrid.Node.CollocateRegistry` property.
+
- Removed IceStorm restriction where retryCount could only be used with two-way
proxies. It's now possible to use it with one-way or batch proxies.
diff --git a/config/Make.rules b/config/Make.rules
index 254bd4f574b..4be6bc6a774 100644
--- a/config/Make.rules
+++ b/config/Make.rules
@@ -97,9 +97,9 @@ nodejs := $(shell command -v node 2> /dev/null)
# Languages, platforms and configurations to build
#
supported-languages ?= $(strip cpp java java-compat python ruby php \
- $(if $(filter %/node,$(nodejs)),js) \
- $(if $(filter %/dotnet,$(dotnet)),csharp) \
- $(if $(filter Darwin,$(os)),objective-c))
+ $(if $(filter %/node,$(nodejs)),js) \
+ $(if $(filter %/dotnet,$(dotnet)),csharp) \
+ $(if $(filter Darwin,$(os)),objective-c))
supported-configs ?= shared
version = 3.7b2
diff --git a/cpp/src/IceGrid/IceGridNode.cpp b/cpp/src/IceGrid/IceGridNode.cpp
index 9a96452a520..7a94afe0aae 100644
--- a/cpp/src/IceGrid/IceGridNode.cpp
+++ b/cpp/src/IceGrid/IceGridNode.cpp
@@ -753,6 +753,33 @@ NodeService::initializeCommunicator(int& argc, char* argv[],
InitializationData initData = initializationData;
initData.properties = createProperties(argc, argv, initData.properties);
+ // If IceGrid.Registry.[Admin]PermissionsVerifier is not set and
+ // IceGrid.Registry.[Admin]CryptPasswords is set, load the
+ // Glacier2CryptPermissionsVerifier plug-in
+ //
+ vector<string> vTypes;
+ vTypes.push_back("");
+ vTypes.push_back("Admin");
+
+ for(vector<string>::const_iterator p = vTypes.begin(); p != vTypes.end(); ++p)
+ {
+ string verifier = "IceGrid.Registry." + *p + "PermissionsVerifier";
+
+ if(initData.properties->getProperty(verifier).empty())
+ {
+ string cryptPasswords = initData.properties->getProperty("IceGrid.Registry." + *p + "CryptPasswords");
+
+ if(!cryptPasswords.empty())
+ {
+ initData.properties->setProperty("Ice.Plugin.Glacier2CryptPermissionsVerifier",
+ "Glacier2CryptPermissionsVerifier:createCryptPermissionsVerifier");
+
+ initData.properties->setProperty("Glacier2CryptPermissionsVerifier.IceGrid.Registry." + *p +
+ "PermissionsVerifier", cryptPasswords);
+ }
+ }
+ }
+
//
// Never create Admin object in Ice.Admin adapter
//
diff --git a/python/test/Ice/custom/Test.ice b/python/test/Ice/custom/Test.ice
index bbc5ccae520..dbc421297cc 100644
--- a/python/test/Ice/custom/Test.ice
+++ b/python/test/Ice/custom/Test.ice
@@ -104,7 +104,6 @@ module Test
["python:memoryview:Custom.myBogusArraySignatureFactory"]BoolSeq1 opBogusArraySignatureFactory();
["python:memoryview:Custom.myNoCallableFactory"]BoolSeq1 opBogusArrayNoCallableFactory();
-
D opD(D d);
void shutdown();