summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG-3.7.md5
-rw-r--r--cpp/src/IceGrid/IceGridNode.cpp27
2 files changed, 32 insertions, 0 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/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
//