File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/__pycache__/smb.cpython-310.pyc
o
�N�g�, � @ s� d Z ddlZddlZddlZddlZddlZddlZddlm Z e�
e�ZzOddl
mZ ddlmZmZmZ ddlmZmZmZmZmZmZmZmZmZ ddlmZmZm Z m!Z!m"Z"m#Z# ddl$m%Z% dd l&m'Z' e�
d
��(ej)� dZ*W n e+y dZ*Y nw G d
d� d�Z,d+dd�Z-d,dd�Z. d-dd�Z/d-dd�Z0 d-dd�Z1 d-dd�Z2 d.dd �Z3 d-d!d"�Z4 d-d#d$�Z5d-d%d&�Z6 d-d'd(�Z7 d-d)d*�Z8dS )/z;
Utility functions for SMB connections
:depends: impacket
� N)�
MissingSmb)�
Connection)�CreateContextName�SMB2CreateContextRequest�#SMB2CreateQueryMaximalAccessRequest) �CreateDisposition�
CreateOptions�DirectoryAccessMask�FileAttributes�FileInformationClass�FilePipePrinterAccessMask�ImpersonationLevel�Open�ShareAccess)�AccessAllowedAce�
AccessMask� AclPacket� SDControl� SIDPacket�SMB2CreateSDBuffer)�Session)�TreeConnectZsmbprotocolTFc @ s` e Zd Zddd�Zdd� Zdd� Zedd � �Zd
d� Ze dd
� �Z
edd� �Ze ddd��Z
dS )�SMBProto� c C sT t �� }t�|d ddtj�d d d }|| _t|||dd�}t|||dd�| _d S )Nr � T)Zrequire_signingF)Zrequire_encryption) �uuidZuuid4�socket�getaddrinfo�IPPROTO_TCP�serverr r �session)�selfr �username�password�portZ
connection_id�addr�
connection� r'