add packing of IP perms, small cleanup in packing

This commit is contained in:
Stephen Birarda 2016-07-25 17:12:16 -07:00
parent cd436355fc
commit f7298ef767

View file

@ -354,16 +354,14 @@ void DomainServerSettingsManager::packPermissionsForMap(QString mapName,
NodePermissionsMap& permissionsRows, NodePermissionsMap& permissionsRows,
QString keyPath) { QString keyPath) {
// find (or create) the "security" section of the settings map // find (or create) the "security" section of the settings map
QVariant* security = valueForKeyPath(_configMap.getUserConfig(), "security"); QVariant* security = valueForKeyPath(_configMap.getUserConfig(), "security", true);
if (!security || !security->canConvert(QMetaType::QVariantMap)) { if (!security->canConvert(QMetaType::QVariantMap)) {
security = valueForKeyPath(_configMap.getUserConfig(), "security", true);
(*security) = QVariantMap(); (*security) = QVariantMap();
} }
// find (or create) whichever subsection of "security" we are packing // find (or create) whichever subsection of "security" we are packing
QVariant* permissions = valueForKeyPath(_configMap.getUserConfig(), keyPath); QVariant* permissions = valueForKeyPath(_configMap.getUserConfig(), keyPath, true);
if (!permissions || !permissions->canConvert(QMetaType::QVariantList)) { if (!permissions->canConvert(QMetaType::QVariantList)) {
permissions = valueForKeyPath(_configMap.getUserConfig(), keyPath, true);
(*permissions) = QVariantList(); (*permissions) = QVariantList();
} }
@ -420,6 +418,12 @@ void DomainServerSettingsManager::packPermissions() {
// save settings for specific users // save settings for specific users
packPermissionsForMap("permissions", _agentPermissions, AGENT_PERMISSIONS_KEYPATH); packPermissionsForMap("permissions", _agentPermissions, AGENT_PERMISSIONS_KEYPATH);
// save settings for IP addresses
packPermissionsForMap("permissions", _ipPermissions, IP_PERMISSIONS_KEYPATH);
// save settings for IP address blacklist
packPermissionsForMap("permissions", _ipForbiddens, IP_FORBIDDENS_KEYPATH);
// save settings for groups // save settings for groups
packPermissionsForMap("permissions", _groupPermissions, GROUP_PERMISSIONS_KEYPATH); packPermissionsForMap("permissions", _groupPermissions, GROUP_PERMISSIONS_KEYPATH);