A"g$ d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z d dl mZ d dlm Z ej e Zd ZdZ ej d Zd Zed Zd ZdS ) N)StringIO)contextmanager)wrapsc p t | dd dd S )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_valuer s. u::dE**224??? z&/usr/share/cloudlinux/hooks/listeners/z6\A[^\s/\\;&|`$()<>'\"!*?\[\]{}~\x00-\x1f\x7f]{1,255}\Zc t | t rt | st j d| 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 fullmatchargparseArgumentTypeErrorr s r valid_namer : s] eS!! &)A)A%)H)H &( %E % % %&