diff options
author | Jose <jose@zeroc.com> | 2019-07-22 10:12:54 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2019-07-22 10:12:54 +0200 |
commit | 2e4fd3bd17104f5a08f229e585a0dde0775122fc (patch) | |
tree | 1e54a4099f862ce40ccdaee2d6f06b4c0c4f525e | |
parent | Renamed API macro to ICEIMPL_API. Fixes #451. (diff) | |
parent | Fixed IceGrid node to check for permissions verifier crypt password propertie... (diff) | |
download | ice-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.md | 5 | ||||
-rw-r--r-- | config/Make.rules | 6 | ||||
-rw-r--r-- | cpp/src/IceGrid/IceGridNode.cpp | 27 | ||||
-rw-r--r-- | python/test/Ice/custom/Test.ice | 1 |
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(); |