h/LdZddlZddlZddlZddlmZmZddlmZddlm Z ddl m Z ddl m Z ddlmZdd lmZdd lmZdd lmZdd lmZmZdd lmZmZmZddlmZmZm Z ddl!m"Z"ddl#m$Z$ee%Z&GddeZ'GddeZ(GddeZ)dS)u  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 . Copyright © 2019 Cloud Linux Software Inc. This software is also available under ImunifyAV commercial license, see N)datetime timedelta) getLogger)Path) inactivity) MessageType)Scope)g) BaseCleaner)persistent_state) nice_iteratorsplit_for_chunk)MalwareHitStatusMalwareScanResourceTypeMalwareScanType)MalwareHistory MalwareHit MalwareScan) MalwareAction) realtime_avceZdZedZedZejde j Z e ddZ dS) OutdatedScansCleanerdayszmalware-scans-cleanerreturnNc@Kttj|jz }t jt j|k }t d|dS)NzCleaned %s outdated scans) intrnowCLEANUP_LIMIT_DELTA timestamprdeletewherestartedexecuteloggerinfo)clscleanup_time_limitdeleteds a/opt/imunify360/venv/lib/python3.11/site-packages/imav/malwarelib/scan/cleaners/outdated_scans.pycleanupzOutdatedScansCleaner.cleanup7s \^^c5 5 @ @ B B     U;&);; < < WYY   /99999rN__name__ __module__ __qualname__r total_secondsPERIODr!r register_lock_filer AV_IM360 LOCK_FILE classmethodr-r.r,rr0s YA    , , . .F#),,,3 3I : : :[ : : :r.rceZdZedZedZejde j Z e ddZ dS) OutdatedHistoryCleanerrrrzmalware-history-cleanerrNc@Kttj|jz }t jt j|k }t d|dS)Nz#Cleaned %s outdated malware history) rrr r!r"rr#r$ctimer&r'r()r)keep_time_thresholdr+s r,r-zOutdatedHistoryCleaner.cleanupKs! \^^c5 5 @ @ B B    ! # # U>'*== > > WYY   97CCCCCr.r/r0r:r.r,r<r<Ds YA    , , . .F#),,,3 3!5>I D D D[ D D Dr.r<c6eZdZeejdedZejddZ e j e e j ZedZdZed d Zed Zd S)OutdatedHitsCleaner'IMUNIFY360_OUTDATED_HITS_CHECK_INTERVALrrMALWARE_HITS_CLEANER_LOCK_FILEzmalware-hits-cleaner )minutesirNcKg}g}tjtjtjktjtjj ktj dk tj }t||j23d{V}t!|j} |j}|j |krNt)j|jz }t-jr||kr||j#t2$r||jYt6$r%}t8d|Yd}~d}~wwxYw6|rt=||jD]m} t8dtA| tBj"#tIj%| tLj'd{Vnt=||jD]O} tQtjtj)| tjtjktj dk}tj*tj)|+} tYj-|tLj'd{Vt8d| t]j/d d{VQdS) zRescan irrelevant malware hitsT) chunk_sizeNzCan't check file due to %sz Rescan %s outdated malware files)filestype)causez!Deleted %s not exist malware hitsr)0rselectr$statusrFOUND resource_typerFILEvalue maliciousorder_byr"ascr CHUNK_SIZEr orig_filestatst_ctimetimeREALTIME_SCAN_THRESHOLDrshould_be_runningappendFileNotFoundErroridOSErrorr'warningrr(lenr sinkprocess_messagerMalwareRescanFilesrRESCAN_OUTDATEDlistin_r#r&r not_existasynciosleep) r) to_rescannot_exist_hitshitshitorig_file_path file_ctimerealtime_thresholdexcrHhits_to_deleter+s r,_cleanupzOutdatedHitsCleaner._cleanupfs      U!%5%;;(,C,H,NN$, Xj*..00 1 1 'tGGG B B B B B B B#!#-00N B+0022; =:-- c&AA'(9;;8%(:::!((777$ . . .%%cf----- B B B;SAAAAAAAA B#H&  (s~NNN   >E KKKf,,2#/*I . s~    # #N!##z}((8899z(,<,BBCCz+t344 D!##))*-*;*;D*A*ABBJJLL  )O;        KK;W E E E-"" " " " " " " " "% # #s%7FA2E$F, F5FFcKtjd5|d{VddddS#1swxYwYdS)Nzmalware hits relevance check)rtracktaskrs)r)s r,r-zOutdatedHitsCleaner.cleanups   " "#A B B ! !,,..  ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !sA  AAr/)r1r2r3rosgetenvrr4r5 FILE_NAMEr r6r r7r8rYrTr9rsr-r:r.r,rArAXs S 5 I1    + + - -  F  (*@I4 3Iu~NNI'i333AACCJ<#<#<#[<#|!![!!!r.rA)*__doc__rhrwrXrrloggingrpathlibrdefence360agent.apir"defence360agent.contracts.messagesr!defence360agent.contracts.pluginsr &defence360agent.internals.global_scoper defence360agent.mr_properr defence360agent.subsysr defence360agent.utilsr rimav.malwarelib.configrrrimav.malwarelib.modelrrrimav.malwarelib.subsys.malwarer imav.subsysrr1r'rr<rAr:r.r,rs * ((((((((******::::::333333444444111111333333@@@@@@@@ JIIIIIIIII888888###### 8  :::::;:::(DDDDD[DDD(P!P!P!P!P!+P!P!P!P!P!r.