o
    àý°jŸ  ã                   @   s   d dl mZmZmZmZmZ d dlmZ d dlm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZ edƒZG dd	„ d	eƒZG d
d„ deƒZG dd„ deƒZG dd„ deƒZe	ZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG d d!„ d!eƒZ G d"d#„ d#eƒZ!eefeefeefeefe e!fd$œZ"d%d&„ Z#d2d(d)„Z$d*d+„ Z%d,d-„ Z&d3d/d0„Z'd1S )4é    )ÚNDRCALLÚ	NDRSTRUCTÚ
NDRPOINTERÚNDRUniConformantArrayÚNDRUniConformantVaryingArray)Ú
PRPC_IF_ID)ÚULONGÚDWORD_ARRAYÚ	ULONGLONG)ÚDCERPCException)Úuuidtup_to_bin)Ú	nt_errors)z$afa8bd80-7d8a-11c9-bef4-08002b102989z1.0c                   @   s   e Zd Zddd„Zdd„ ZdS )ÚDCERPCSessionErrorNc                 C   s   t  | |||¡ d S ©N)r   Ú__init__)ÚselfÚerror_stringÚ
error_codeÚpacket© r   úŠ/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/impacket/dcerpc/v5/mgmt.pyr   $   s   zDCERPCSessionError.__init__c                 C   sF   | j }|tjv rtj| d }tj| d }d| j ||f S d| j  S )Nr   é   z'MGMT SessionError: code: 0x%x - %s - %sz+MGMT SessionError: unknown error code: 0x%x)r   r   ÚERROR_MESSAGES)r   ÚkeyÚerror_msg_shortÚerror_msg_verboser   r   r   Ú__str__'   s   

zDCERPCSessionError.__str__)NNN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   #   s    
r   c                   @   s   e Zd ZeZdS )Úrpc_if_id_p_t_arrayN)r   r   r   r   Úitemr   r   r   r   r    4   s    r    c                   @   s,   e Zd ZdefdeffZdefdeffZdS )Úrpc_if_id_vector_tÚcountÚif_idN)r   r   r   r   r    Ú	structurer
   Ústructure64r   r   r   r   r"   7   s    þþr"   c                   @   ó   e Zd ZdeffZdS )Úrpc_if_id_vector_p_tÚDataN)r   r   r   r"   Úreferentr   r   r   r   r(   A   ó    ÿr(   c                   @   ó   e Zd ZdZdZdS )Ú
inq_if_idsr   r   N©r   r   r   Úopnumr%   r   r   r   r   r-   N   ó    r-   c                   @   ó   e Zd ZdefdeffZdS )Úinq_if_idsResponseÚif_id_vectorÚstatusN)r   r   r   r(   Úerror_statusr%   r   r   r   r   r2   S   ó    þr2   c                   @   s   e Zd ZdZdeffZdS )Ú	inq_statsr   r#   N©r   r   r   r/   r   r%   r   r   r   r   r7   Y   s    ÿr7   c                   @   s"   e Zd ZdefdefdeffZdS )Úinq_statsResponser#   Ú
statisticsr4   N)r   r   r   r   r	   r5   r%   r   r   r   r   r9   _   s
    ýr9   c                   @   r,   )Úis_server_listeningé   r   Nr.   r   r   r   r   r;   f   r0   r;   c                   @   r'   )Úis_server_listeningResponser4   N©r   r   r   r5   r%   r   r   r   r   r=   k   r+   r=   c                   @   r,   )Ústop_server_listeningé   r   Nr.   r   r   r   r   r?   p   r0   r?   c                   @   r'   )Ústop_server_listeningResponser4   Nr>   r   r   r   r   rA   u   r+   rA   c                   @   s    e Zd ZdZdefdeffZdS )Úinq_princ_nameé   Úauthn_protoÚprinc_name_sizeNr8   r   r   r   r   rB   z   s
    þrB   c                   @   r1   )Úinq_princ_nameResponseÚ
princ_namer4   N)r   r   r   r   r5   r%   r   r   r   r   rF   �   r6   rF   )r   r   r<   r@   rC   c                 C   ó   t ƒ }|  |¡S r   )r-   Úrequest©ÚdcerI   r   r   r   Úhinq_if_ids–   ó   
rL   rC   c                 C   s   t ƒ }||d< |  |¡S )Nr#   )r7   rI   )rK   r#   rI   r   r   r   Ú
hinq_statsš   s   
rN   c                 C   s   t ƒ }| j|dd�S )NF©Ú
checkError)r;   rI   rJ   r   r   r   Úhis_server_listeningŸ   s   rQ   c                 C   rH   r   )r?   rI   rJ   r   r   r   Úhstop_server_listening£   rM   rR   r   c                 C   s$   t ƒ }||d< ||d< | j|dd�S )NrD   rE   FrO   )rB   rI   )rK   rD   rE   rI   r   r   r   Úhinq_princ_name§   s   rS   N)rC   )r   r   )(Úimpacket.dcerpc.v5.ndrr   r   r   r   r   Úimpacket.dcerpc.v5.epmr   Úimpacket.dcerpc.v5.dtypesr   r	   r
   Úimpacket.dcerpc.v5.rpcrtr   Úimpacket.uuidr   Úimpacketr   ÚMSRPC_UUID_MGMTr   r    r"   r(   r5   r-   r2   r7   r9   r;   r=   r?   rA   rB   rF   ÚOPNUMSrL   rN   rQ   rR   rS   r   r   r   r   Ú<module>   sB   
û
