Server IP : 66.29.132.122 / Your IP : 52.14.80.49 Web Server : LiteSpeed System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : admazpex ( 531) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/thread-self/root/proc/thread-self/root/proc/self/root/opt/imunify360/venv/lib64/python3.11/site-packages/defence360agent/migrations/ |
Upload File : |
from tempfile import TemporaryFile def extract_name(description): return description.split("||", maxsplit=1)[0] def migrate(migrator, database, fake=False, **kwargs): """ This migration extracts incident name from whole mod_security message Centos6 version of sqlite does not have instr(), using slow python-based way """ incident = migrator.orm["incident"] # FIXME: after migrating to peewee 3 remove the try..except block def select_incidents(): try: yield from ( incident.select(incident.id, incident.description) .where(incident.plugin == "modsec") .where(incident.description.contains("||")) .tuples() .iterator() ) except RuntimeError: return with TemporaryFile(mode="w+") as f: for id_, desc in select_incidents(): f.write("{},{}\n".format(id_, extract_name(desc))) f.seek(0) with database.atomic(): for line in f: id_, name = line.split(",", maxsplit=1) incident.update(name=name.strip()).where( incident.id == int(id_) ).execute() def rollback(migrator, database, fake=False, **kwargs): """Write your rollback migrations here.""" pass