Tjr ddlZddlZddlZddlZddlZddlZddlmZej e Z ddl m Z ddlmZddlmZddlmZdZd Zejejed D] Zeed ZdS) N)LISTENERS_DIRECTORY)ModifyDomainHook)ModifyAdminHook)ModifyUserHook)ModifyPackageHookc tj|}n#t$rYdSwxYwtj|jo,|jdko!|jtjtjzz S)a Return True only if `filepath` is a regular file owned by root (uid 0) and not group- or world-writable. Used to gate a listener before its top-level code is exec_module()'d as root: a *.py (or a symlink whose real target) a non-root principal can write is refused rather than executed. os.stat follows symlinks, so it stats the real inode whose code would run. Fr)osstatOSErrorS_ISREGst_modest_uidS_IWGRPS_IWOTH)filepathsts /builddir/build/BUILDROOT/alt-python27-cllib-3.4.41-1.el8.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/public_hooks/lib/__init__.py_is_root_owned_unwritablersw WX   uu L $ $ = IN =t|dl:; <>s  %%ctj|dd}|tjvrtj|St |st d|dStj ||}|td|d|tj |}|j ||tj|<|S)NzDrefusing to load listener %s: not root-owned or group/world-writablezCan't find module z at )r pathbasenamesysmodulesrloggerwarning importlibutilspec_from_file_location ImportErrormodule_from_specloader exec_module)rname module_specmodules r import_filer(*s 7  H % %crc *D s{{4  %X . ../7 9 9 9t.88xHHKCtCCCCDDD^ , ,[ 9 9F""6***CK Mz*.py)rrrr)globimportlib.utilrloggingr r rhelpersr getLogger__name__rmodify_domain_hookrmodify_admin_hookrmodify_user_hookrmodify_package_hookrrr(rjoinhook_py__all__r)rr8s  ((((((  8 $ $000000......,,,,,,222222>>>"<ty&96BBCCGK r)