diff options
author | Benoit Foucher <benoit@zeroc.com> | 2019-07-22 10:00:38 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2019-07-22 10:00:38 +0200 |
commit | 88be41d25c83574439c109a32eb93ca17eb67b5d (patch) | |
tree | 18dd203b3072f505a501d7cf8d0d0e7fd0d9a2c3 /cpp/src/IceGrid/IceGridNode.cpp | |
parent | Fixed whitespaces (diff) | |
download | ice-88be41d25c83574439c109a32eb93ca17eb67b5d.tar.bz2 ice-88be41d25c83574439c109a32eb93ca17eb67b5d.tar.xz ice-88be41d25c83574439c109a32eb93ca17eb67b5d.zip |
Fixed IceGrid node to check for permissions verifier crypt password properties, fixes #452
Diffstat (limited to 'cpp/src/IceGrid/IceGridNode.cpp')
-rw-r--r-- | cpp/src/IceGrid/IceGridNode.cpp | 27 |
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 // |