%PDF- %PDF-
Direktori : /opt/imunify360/venv/lib/python3.8/site-packages/defence360agent/migrations/ |
Current File : //opt/imunify360/venv/lib/python3.8/site-packages/defence360agent/migrations/108_validate_config.py |
""" This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. Copyright © 2019 Cloud Linux Software Inc. This software is also available under ImunifyAV commercial license, see <https://www.imunify360.com/legal/eula> """ import logging import os from defence360agent.contracts.config import ( ConfigsValidator, ConfigsValidatorError, LocalConfig, ) logger = logging.getLogger(__name__) # NOTE: # "MOD_SEC_BLOCK_BY_CUSTOM_RULE" keys are validated even if they are strings. # This migration is probably not needed anymore anyway. def migrate(migrator, database, fake=False, **kwargs): if fake: return # adding brute-force rule to existing config # this is needed until DEFA-689 is done try: try: ConfigsValidator.validate_system_config() except ConfigsValidatorError: local_config = LocalConfig() backup_config = local_config.path + ".invalid" os.rename(local_config.path, backup_config) default_config = local_config.config_to_dict() local_config.dict_to_config(default_config) logger.warning( "Invalid config replaced with default one." " Old config save in %s", backup_config, ) except Exception: logger.exception("Failed to replace invalid config with default one") def rollback(migrator, database, fake=False, **kwargs): pass