A"g$ddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z ejeZdZdZejdZdZe d Zd ZdS) N)StringIO)contextmanager)wrapscpt|ddddS)z5Strip control characters from a value before logging. z\n z\r)strreplacevalues /builddir/build/BUILDROOT/alt-python27-cllib-3.4.40-1.el9.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/public_hooks/lib/helpers.py_sanitize_log_valuers. u::  dE * * 2 24 ? ??z&/usr/share/cloudlinux/hooks/listeners/z6\A[^\s/\\;&|`$()<>'\"!*?\[\]{}~\x00-\x1f\x7f]{1,255}\Zct|trt|st jd|d|S)uargparse 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 fullmatchargparseArgumentTypeErrorr s r valid_namer:s] eS ! !&)A)A%)H)H&( %E % % %&& & Lrc#Ktj}tj} |p tt_|p tt_dV|t_|t_dS#|t_|t_wxYw)N)sysstdoutstderrr)stdostderrs r capture_outputrLsq ZF ZF'XZZ 'XZZ      s 8A..BcJtfd}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|jD]}tjt j|j}tjttj|kr#t d|t||j drt| j }t|ddr(td j |j td j |j t#j}t%t%}} t'||5||i|dddn #1swxYwYn#t($rt*jjd|j j g||d t d |j j d YnwxYwt#j|z } |} | r'td j |j | |} | r'td j |j | td j | #t#j|z } |} | r'td j |j | |} | r'td j |j | td j | wxYwtd j tjtjtd 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) fingerprintextrazlistener %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__ospathdirnameinspect getmodule__file__normpathLISTENERS_DIRECTORYloggerwarning__name__ startswithgetattrdebuginfotimerr ExceptionravenbaseRavencaptureExceptiongetvaluegeteuidgetegidr) selfargskwargssubclass listener_pathlistenernowrrelapsed stdout_str stderr_strfuncs r _wrappedzhook_method.._wrappedbs-5577* Q* QHGOOG,=h,G,G,PQQMw 3448H8H8W8WWW '(02E}VVV ++C00 xxzz4=99Hx!2E::  ?!]H,=??? KK)4=(:K L L L)++C%ZZFF Q#FF33..Hd-f---............... g g g  11!0(2CT] S%+__%6%6&//BSBSTT279JDMdefffff g)+++#__.. NKK ^ $ x/@*NNN#__.. OLL!_!%0A:OOO 7PPPP)+++#__.. NKK ^ $ x/@*NNN#__.. OLL!_!%0A:OOO 7PPPP DM2:<< ? ? ? & '--/B6/J/J L L L L LsPF4 F( F4(F, ,F4/F, 0F43K94B IK9IK99B3N,T)rr!)rJrKs` r hook_methodrLYsC 4[[0L0L0L0L[0Lf $H Or)rr+loggingr(rerr9r7ior contextlibr functoolsr getLoggerr2r0rr/compilerrrrLrr rUs  %%%%%%  8 $ $@@@ ?2= $   >>>>>r