summaryrefslogtreecommitdiff
path: root/cpp
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 /cpp
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
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/IceGrid/IceGridNode.cpp27
1 files changed, 27 insertions, 0 deletions
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
//