| Server IP : 162.214.74.102 / Your IP : 216.73.216.192 Web Server : Apache System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64 User : lrsys ( 1015) PHP Version : 5.6.40 Disable Function : exec,passthru,shell_exec,system MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/utils/ |
Upload File : |
"""High-level file operations."""
import errno
import logging
import os
import shutil
logger = logging.getLogger(__name__)
def is_safe_subdir_name(name) -> bool:
return (
isinstance(name, str)
and bool(name)
and "\x00" not in name
and name == os.path.basename(name)
and name not in (".", "..")
)
def rmtree(path, ignore_errors=False, onerror=None, *, max_tries=3):
"""More robust shutil.rmtree.
Retry on "Directory not empty" race condition:
https://github.com/ansible/ansible/issues/34335#issuecomment-362995700
"""
for i in range(1, max_tries + 1):
try:
return shutil.rmtree(path, ignore_errors, onerror)
except OSError as e:
if i == max_tries or e.errno not in [
errno.EEXIST,
errno.ENOTEMPTY,
]:
raise
# Got "Directory not empty" and attempts are not exhausted yet
logger.warning("Can't remove %s tree, reason: %s", path, e)