§ ;Š»jíãóÖ—ddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z eje¦«Zd„ZdZejd¦«Zd„Ze d „¦«Zd „ZdS) éN)ÚStringIO)Úcontextmanager)Úwrapscóp—t|¦« dd¦« dd¦«S)z5Strip control characters from a value before logging.ú z\nú z\r)ÚstrÚreplace©Úvalues ú¡/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/helpers.pyÚ_sanitize_log_valuers.€å ˆu‰:Œ:× Ò ˜d EÑ *Ô *× 2Ò 2°4¸Ñ ?Ô ?Ð?óz&/usr/share/cloudlinux/hooks/listeners/z;\A(?!-)[^\s/\\;&|`$()<>'\"!*?\[\]{}~\x00-\x1f\x7f]{1,255}\Zcó”—t|t¦«rt |¦«st jd|›d�¦«‚|S)uÓargparse type-callback for hosting account / panel-owner names. Used by post_modify_user.py, pre_modify_user.py, post_modify_admin.py, and post_modify_domain.py to reject values that contain shell metacharacters, path separators, control chars, or whitespace before dispatching to listener plugins. Accepts any Unicode string of length 1..255 that does not contain a forbidden character — see `_VALID_NAME_RE` above for the full list. z invalid name z;: contains forbidden character or has length outside 1..255)Ú isinstancer Ú_VALID_NAME_REÚ fullmatchÚargparseÚArgumentTypeErrorr s r Ú valid_namer@s]€õ �e�SÑ !Ô !ð&­×)AÒ)AÀ%Ñ)HÔ)Hð&ÝÔ(ð %˜Eð %ð %ð %ñ&ô&ð &ð €Lrc#óK—tj}tj} |p t¦«t_|p t¦«t_dV—|t_|t_dS#|t_|t_wxYw)N)ÚsysÚstdoutÚstderrr)ÚstdoÚstderrs r Úcapture_outputrRsqèè€å ŒZ€FÝ ŒZ€FðØÐ'�X™ZœZ�Œ ØÐ'�X™ZœZ�Œ Ø ˆˆˆà�Œ Ø�Œ ˆ ˆ øð�Œ Ø�Œ ÐÐÐÐs œ8A.Á.BcóJ‡—t‰¦«ˆfd„¦«}d|_|S)a, Magic decorator that calls all subclass methods that override base decorated one. Requirements: - subclass must be defined in .py file in LISTENERS_DIRECTORY - subclass must NOT start with '_' char - subclass must override base event method (the one with '@hook_method') c ób•—|j ¦«D�]’}tj t j|¦«j¦«}tj t¦«tj |¦«kr#t  d|t|¦«Œ¡|j   d¦«rŒ¼t|¦«‰ j ¦«}t|dd¦«r(t d‰ j |j ¦«�Œt d‰ j |j ¦«t#j¦«}t%¦«t%¦«}} t'||¦«5||i|¤Žddd¦«n #1swxYwYn’#t($r…t*jj d|j ‰ j g| ¦«| ¦«dœ¬ ¦«t  d |j ‰ j d ¬ ¦«YnwxYwt#j¦«|z } | ¦«} | r't d ‰ j |j | ¦«| ¦«} | r't d‰ j |j | ¦«t d‰ j | ¦«�ŒÞ#t#j¦«|z } | ¦«} | r't d ‰ j |j | ¦«| ¦«} | r't d‰ j |j | ¦«t d‰ j | ¦«wxYwt d‰ j tj¦«tj¦«¦«t d‰ j t9|¦«t9|¦«¦«dS)Nz,%s is not in %s directory; it is in %s, skipÚ_Úis_magic_methodFz skip %s is not implemented in %szexecuting %s:%sz {{ default }})rr)Ú fingerprintÚextrazlistener %s:%s crashedé)Úexc_infoz8captured stdout of %s:%s ~BEGIN OUTPUT~ %s ~END OUTPUT~ z8captured stderr of %s:%s ~BEGIN OUTPUT~ %s ~END OUTPUT~ zrunning %s: %.4f elapsedz.%s executed by the user with uid %s and gid %szended %s(%s, %s))Ú __class__Ú__subclasses__ÚosÚpathÚdirnameÚinspectÚ getmoduleÚ__file__ÚnormpathÚLISTENERS_DIRECTORYÚloggerÚwarningÚ__name__Ú startswithÚgetattrÚdebugÚinfoÚtimerrÚ ExceptionÚravenÚbaseÚRavenÚcaptureExceptionÚgetvalueÚgeteuidÚgetegidr) ÚselfÚargsÚkwargsÚsubclassÚ listener_pathÚlistenerÚnowrrÚelapsedÚ stdout_strÚ stderr_strÚfuncs €r Ú_wrappedzhook_method.._wrappedhs-ø€ðœ×5Ò5Ñ7Ô7ð* Qñ* QˆHÝœGŸOšO­GÔ,=¸hÑ,GÔ,GÔ,PÑQÔQˆMåŒw×ÒÕ 3Ñ4Ô4½¼×8HÒ8HÈÑ8WÔ8WÒWÐWÝ—’ð 'Ø(0Õ2EÀ}ñVôVðVààÔ ×+Ò+¨CÑ0Ô0ð Øõ˜x˜x™zœz¨4¬=Ñ9Ô9ˆHÝ�xÐ!2°EÑ:Ô:ð Ý— ’ Ð?Ø!œ]¨HÔ,=ñ?ô?ð?áå �KŠKÐ)¨4¬=¸(Ô:KÑ LÔ LÐ LÝ”)‘+”+ˆCÝ%™ZœZ­©¬�FˆFð QÝ# F¨FÑ3Ô3ð.ð.Ø�H˜dÐ- fÐ-Ð-Ð-ð.ð.ð.ñ.ô.ð.ð.ð.ð.ð.ð.øøøð.ð.ð.ð.øøåð gð gð gõ” Ô ×1Ò1Ø!0°(Ô2CÀTÄ]Ð SØ%+§_¢_Ñ%6Ô%6À&Ç/Â/ÑBSÔBSÐTÐTð2ñôðõ—’Ð7¸Ô9JÈDÌMÐde�ÑfÔfÐfÐfÐfð gøøøõœ)™+œ+¨Ñ+�Ø#Ÿ_š_Ñ.Ô.� ØðNÝ—K’KÐ ^Ø $¤ ¨xÔ/@À*ñNôNðNà#Ÿ_š_Ñ.Ô.� ØðOÝ—L’LÐ!_Ø!%¤°Ô0AÀ:ñOôOðOå— ’ Ð7¸¼ÈÑPÔPÐPÑPøõœ)™+œ+¨Ñ+�Ø#Ÿ_š_Ñ.Ô.� ØðNÝ—K’KÐ ^Ø $¤ ¨xÔ/@À*ñNôNðNà#Ÿ_š_Ñ.Ô.� ØðOÝ—L’LÐ!_Ø!%¤°Ô0AÀ:ñOôOðOå— ’ Ð7¸¼ÈÑPÔPÐPÐPøøøÝ� Š ÐDØ”M¥2¤:¡<¤<µ´±´ñ ?ô ?ð ?å� Š Ð&¨¬ Ý'¨Ñ-Ô-Õ/BÀ6Ñ/JÔ/Jñ Lô Lð Lð Lð LsPÆF4Æ F(Æ F4Æ(F, Æ,F4Æ/F, Æ0F4Æ3K9Æ4B IÉK9ÉIÉK9Ë9B3N,T)rr!)rJrKs` r Ú hook_methodrL_sCø€õ ˆ4�[„[ð0Lð0Lð0Lð0Lñ„[ð0Lðf $€HÔØ €Or)rr+Úloggingr(Úrerr9r7ÚiorÚ contextlibrÚ functoolsrÚ getLoggerr2r0rr/ÚcompilerrrrL©rr úrUs ðð€€€Ø€€€Ø€€€Ø € € € Ø € € € Ø € € € à € € € Ø € € € ØÐÐÐÐÐØ%Ð%Ð%Ð%Ð%Ð%ØÐÐÐÐÐà ˆÔ ˜8Ñ $Ô $€ð@ð@ð@ð ?Ðð>�”ØBñô€ð ððð$ð ð ñ„ð ð>ð>ð>ð>ð>r