PATH:
opt
/
imunify360
/
venv
/
lib
/
python3.11
/
site-packages
/
imav
/
migrations
""" 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 time from peewee import SqliteDatabase, TextField from imav.migration_utils.revisium import find_revisium_db from imav.migration_utils.settings import SettingsExtractor logger = logging.getLogger(__name__) db = SqliteDatabase(None) class KeyValue(db.Model): """ex-Revisium settings database model""" key = TextField() value = TextField() class Meta: primary_key = False class Revisium(SettingsExtractor): """ex-Revisium database settings extractor""" def _get(self): return KeyValue.get(KeyValue.key == self.key).value def migrate_eula(migrator, database=None): db.init(database) eula_value = Revisium("ra_eula", 0).get() last_updated_eula_date = "2021-06-29" logger.info("EULA value=%s from Revisium database", str(eula_value)) if eula_value >= 2: logger.info("Accepting eula for date=%s", last_updated_eula_date) Eula = migrator.orm["eula"] Eula.insert( updated=last_updated_eula_date, accepted=time.time() ).execute() def migrate(migrator, database, fake=False, **kwargs): if fake: return revisium_db_path = find_revisium_db() if revisium_db_path is None: logger.info("No legacy ImunifyAV database found. Skipping...") return try: migrate_eula(migrator, revisium_db_path) except Exception as e: logger.warning("Failed to migrate eula for ImunifyAV: %r", e) def rollback(migrator, database, fake=False, **kwargs): pass if __name__ == "__main__": print(migrate_eula(find_revisium_db()))
[-] 014_add_imunify_security.py
[edit]
[+]
..
[-] 001_fix_scan_unserialization.py
[edit]
[-] 010_add_malwarehistory_scan_id.py
[edit]
[-] 008_subscription_permissions.py
[edit]
[-] 003_whmapi1_set_importance_imav.py
[edit]
[-] 000_noop_migration.py
[edit]
[-] 013_add_malware_ctime.py
[edit]
[-] 004_add_malwarehit_owner.py
[edit]
[+]
__pycache__
[-] 005_populate_malwarehit_owner.py
[edit]
[-] 004_plesk_eula.py
[edit]
[-] 017_add_version_field.py
[edit]
[-] 009_revisium_scan_history.py
[edit]
[-] 004_patchman_client.py
[edit]
[-] 018_delete_suspicious_hits.py
[edit]
[-] 020_add_default_plesk_settings_av.py
[edit]
[-] 007_add_malwarehistory_fileuser.py
[edit]
[-] 017_add_imunify_patch_subscriptions_table.py
[edit]
[-] 006_add_malwarehit_snippet.py
[edit]
[-] 021_remove_cron_scan_file.py
[edit]
[-] 012_add_rescan_outdated_scan_type.py
[edit]
[-] __init__.py
[edit]
[-] 007_revisium_ignore_list.py
[edit]
[-] 011_add_malwarehistory_index.py
[edit]
[-] 003_add_new_fields_to_malware_history.py
[edit]
[-] 008_populate_malwarehistory_foleuser.py
[edit]
[-] 015_manually_deleted_at_field_added.py
[edit]
[-] 005_plesk_cleanup_storage.py
[edit]
[-] 002_convert_serialized_scans.py
[edit]
[-] 019_add_malware_history_signature_id_field.py
[edit]
[-] 016_add_vulnerability_hit_table.py
[edit]
[-] 004_plesk_configs.py
[edit]