TjHddlZddlZddlZddlZddlmZddlmZmZddl m Z ddl m Z m Z ddlmZmZddlmZddlmZdd lmZdd lmZdd lmZmZGd d eZGddeZGddeZGddeZdZ dZ!dZ"dZ#dZ$dZ%dZ&dS)N)RequestException)cpapiget_lve_version)get_cl_edition_readable)get_rhn_systemid_value get_username) get_ip_addr get_hostname)UNKNOWN_CP_NAME)Client)RequestsHTTPTransport) HttpTransport)get_pkg_versionSENSITIVE_FIELDSceZdZfdZxZS)SafeRequestsHTTPTransportcr t|||dS#t$rYdSwxYwN)supersendr)selfurldataheaders __class__s /builddir/build/BUILDROOT/alt-python27-cllib-3.4.41-1.el8.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clsentry/client.pyrzSafeRequestsHTTPTransport.sendsL  GGLLdG , , , , ,    DD s #( 66)__name__ __module__ __qualname__r __classcell__rs@rrrs8rceZdZfdZxZS)"SafeRequestsHTTPTransportSentrySdkcn t|dS#t$rYdSwxYwr)r _send_eventr)reventrs rr&z.SafeRequestsHTTPTransportSentrySdk._send_event&sJ  GG   & & & & &    DD s !& 44)rrrr&r r!s@rr$r$%s8r"r$ceZdZfdZxZS)ThreadedHttpTransportctjtj|f}d|_|dS)N)targetargsT) threadingThreadr send_eventdaemonstart)rr'threadrs rr/z ThreadedHttpTransport.send_event0s9!);5(KKK  r")rrrr/r r!s@rr)r)/s8r"r)c8eZdZdZfdZedZxZS)UserlandClientz= Userland's sentry client with some common settings. c ||tgddgddddtdt j|fi|dS)NsentryravenTid)z$clsentry.processors.UserlandSanitize)tagsignore_exceptions exclude_pathsauto_log_stacksstring_max_lengthlist_max_length processors transport)update_get_user_tagsKeyboardInterruptrr__init__)rdsnoptionsrs rrDzUserlandClient.__init__;s''))!" $!%"C3     " (((((((r"ctS)z? Get tags for easy search :rtype: dict ) get_user_tags)clss rrBzUserlandClient._get_user_tagsOs r")rrr__doc__rD classmethodrBr r!s@rr4r46s])))))([r"r4ctj}|r|dnd}|r|dnt}tjrdnd}id|d|d|dt d d t d t d d tddtddtddtddtddtddtddtddtj dtdtttt ddS)z3 Get tags for easy search :rtype: dict versionNnameWP2zControl Panel NamezControl Panel VersionzControl Panel ProductzCloudLinux version os_releasezCloudlinux edition Architecture architecture lve_versionr lvemanagerzalt-python27-cllibz lve-statsz lve-utilszcl-end-server-toolszcl-node-exportercagefskernelusername ip_address system_id)hostnamerY)rget_cp_descriptiongetr is_wp2_environmentrrrrplatformreleaserr r )cp_description cp_versioncp_name cp_products rrHrHXs -//N2@J##I...dJ,:On  (((G244>$J g     4\BB   577   .~>>   ((+  ol33  o.BCC  _[11  _[11  /DEE  O,>??  /(++  ("$$! " LNN# $ k,..11% &!NN+K88)   r"cbg}|dD]}|dd}t|dkrC|dtvr"||ddzdzn||d|S)z?Mask sensitive values in a form-encoded 'key=value&...' string.&=r *********)splitlenlowerrappendjoin)spartspairkvs r_sanitize_keyvalsrszs E  ZZQ   r77a< 2      u}}'%@@ e||--acz-e4444 e|| ''' LsAA54A5ct|tr|tvrdSt|trt |St|t tfr'dt|fd|DSt|trt|S|S)z;Recursively sanitize a single key/value pair. Never raises.ric8t|ttfrot|dkr\t|dtrA|dt vr t||ddgStd|S)Nrhrriru) rzr|r}rkstrrlrtyper)items r_sanitize_itemz&sanitize_value.._sanitize_items4$// :CIINN"47C005CQ +;;;!tDzz47K"8999!"d++ +r"c3.K|]}|VdSr).0rrs r z!sanitize_value..s-BBD>>$//BBBBBBr") rzrrlrr{ sanitize_dictr|r}rr)keyrrs @rrrs#s /? ? ?{%$U###%$''C , , ,tE{{BBBBEBBBBBB%'&&& Lr"c`|D]\}}t||||<|Sr)itemsr)rrrs rrrs7jjll// U"3..S Kr"c d|vr3t|dtrt|d|d<|S#t$rB t|tr|ddn#t$rYnwxYw|cYSwxYw)Nrequest)rzr{r Exceptionpop)r'hints rsanitize_eventrs    *U9-=t"D"D ,U9-=>>E)   %&& + )T***    D  s38; B+A21B2 A?<B>A??BBc|didg}|rT|ddi}|dg}|r d|ddd vrdS|d }|rt|d d}|r|g|d <t||S) N exceptionvaluesr stacktraceframesr6moduleru log_record fingerprint)r\getattrr)r'rexception_valuesrrrrs r before_sendrsyyb1155hCC%a(,,\2>> "--  h&*..2">">>>4,''J1j->>  1$/=E- % & &&r")'rxr^rr-requests.exceptionsrclcommonrrclcommon.lib.cleditionrclcommon.utilsrrclcommon.lib.networkr r clcommon.cpapi.constr r7r raven.transportr sentry_sdk.transportrclsentry.utilsrrrr$r)r4rHrsrrrrrrr"rrs  000000++++++++::::::????????::::::::000000111111......<<<<<<<< 5MVDD   ,(    '''''r"