§ ;Š»jr ãó—ddlZddlZddlZddlZddlZddlZddlmZej e ¦«Z ddl m Z ddlmZddlmZddlmZd„Zd „Zejej ed ¦«¦«D] Zee¦«Œd ZdS) éNé)ÚLISTENERS_DIRECTORY)ÚModifyDomainHook)ÚModifyAdminHook)ÚModifyUserHook)ÚModifyPackageHookcóÜ— tj|¦«}n#t$rYdSwxYwtj|j¦«o,|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)ÚosÚstatÚOSErrorÚS_ISREGÚst_modeÚst_uidÚS_IWGRPÚS_IWOTH)ÚfilepathÚsts ú¢/builddir/build/BUILDROOT/alt-python27-cllib-3.4.44-1.el8.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/public_hooks/lib/__init__.pyÚ_is_root_owned_unwritablersw€ðÝ ŒW�XÑ Ô ˆˆøÝ ððð؈uˆuðøøøå ŒL˜œÑ $Ô $ð =Ø ŒI˜ŠNð =à”�tœ|­d¬lÑ:Ñ;Ð <ð>s ‚— %¤%cóê—tj |¦«dd…}|tjvrtj|St |¦«st  d|¦«dStj   ||¦«}|€td|›d|›�¦«‚tj   |¦«}|j  |¦«|tj|<|S)NéýÿÿÿzDrefusing to load listener %s: not root-owned or group/world-writablezCan't find module z at )r ÚpathÚbasenameÚsysÚmodulesrÚloggerÚwarningÚ importlibÚutilÚspec_from_file_locationÚ ImportErrorÚmodule_from_specÚloaderÚ exec_module)rÚnameÚ module_specÚmodules rÚ import_filer(*sî€å Œ7× Ò ˜HÑ %Ô % c r cÔ *€DØ �sŒ{ÐÐÝŒ{˜4Ô Ð õ % XÑ .Ô .ðÝ�Šð.Ø/7ñ 9ô 9ð 9àˆtõ”.×8Ò8¸¸xÑHÔH€KØÐÝÐC¨tÐCÐC¸ÐCÐCÑDÔDÐDõŒ^× ,Ò ,¨[Ñ 9Ô 9€FØÔ×"Ò" 6Ñ*Ô*Ð*ð…C„K�ÑØ €Móz*.py)rrrr)ÚglobÚimportlib.utilrÚloggingr r rÚhelpersrÚ getLoggerÚ__name__rÚmodify_domain_hookrÚmodify_admin_hookrÚmodify_user_hookrÚmodify_package_hookrrr(rÚjoinÚhook_pyÚ__all__©r)rúr8sðð € € € ØÐÐÐØ€€€Ø € € € Ø € € € Ø € € € à(Ð(Ð(Ð(Ð(Ð(à ˆÔ ˜8Ñ $Ô $€à0Ð0Ð0Ð0Ð0Ð0Ø.Ð.Ð.Ð.Ð.Ð.Ø,Ð,Ð,Ð,Ð,Ð,Ø2Ð2Ð2Ð2Ð2Ð2ð>ð>ð>ð"ððð<ˆtŒy˜œŸšÐ&9¸6ÑBÔBÑCÔCðð€GØ€K�ÑÔÐÐð €€€r)