
    bf                     6    d dl T d dlmZ  G d de          ZdS )    )*)securityc                   v    e Zd Zd Zej        ej        z  ej        z  ej        z  Z	d Z
d Z	 	 ddZ	 	 ddZdS )Connc                     |                      |          rP|                     |          D ]#}|                     |dz   |d         z              $|                     |           d S |                     |           d S )N\name)chkpathlistdeltreermdirunlink)selfpathentrys      D/usr/lib/python3/dist-packages/samba/samba3/libsmb_samba_internal.pyr   zConn.deltree   s    << 	4 : :TD[5=89999JJtKK    c                 6   d}|t           j        z  r|t           j        z  }|t           j        z  r|t           j        z  }|t           j        z  r|t           j        z  }|t           j        z  r|t           j        z  }|t           j        z  r|t           j        z  }|S Nr   )r   SECINFO_OWNERSEC_STD_READ_CONTROLSECINFO_GROUPSECINFO_DACLSECINFO_SACLSEC_FLAG_SYSTEM_SECURITYSECINFO_LABELr   secinfoaccesss      r   required_access_for_get_secinfoz$Conn.required_access_for_get_secinfo"   s     X++ 	4h33FX++ 	4h33FX** 	4h33FX** 	8h77FX++ 	4h33Fr   c                 &   d}|t           j        z  r|t           j        z  }|t           j        z  r|t           j        z  }|t           j        z  r|t           j        z  }|t           j        z  r|t           j        z  }|t           j        z  r|t           j        z  }|t           j	        z  r|t           j        z  }|t           j
        z  r|t           j        z  }|t           j        z  r-|t           j        z  }|t           j        z  }|t           j        z  }|S r   )r   r   SEC_STD_WRITE_OWNERr   r   SEC_STD_WRITE_DACr   r   r   SECINFO_ATTRIBUTESECINFO_SCOPESECINFO_BACKUPr   s      r   required_access_for_set_secinfoz$Conn.required_access_for_set_secinfo;   s    X++ 	3h22FX++ 	3h22FX** 	1h00FX** 	8h77FX++ 	3h22FX// 	1h00FX++ 	8h77FX,, 	8h22Fh00Fh77Fr   Nc                    || j         }||                     |          }|                     ||t          t          z            }	 |                     ||          }|                     |           n# |                     |           w xY w|S )z!Get security descriptor for file.NNameDesiredAccessShareAccess)SECINFO_DEFAULT_FLAGSr    createFILE_SHARE_READFILE_SHARE_WRITEget_sdclose)r   filenamesinfoaccess_maskfnumsds         r   get_aclzConn.get_acl^   s    
 =.E>>uEEK{{%()99  < <	T5))BJJtDJJt	s   A3 3B
c                    || j         }||                     |          }|                     ||t          t          z            }	 |                     |||           |                     |           dS # |                     |           w xY w)z!Set security descriptor for file.Nr)   )r-   r'   r.   r/   r0   set_sdr2   )r   r3   r7   r4   r5   r6   s         r   set_aclzConn.set_aclq   s     =.E>>uEEK{{%()99  < <	KKb%(((JJtDJJts   A5 5B)NN)__name__
__module____qualname__r   r   r   r   r   r   r-   r    r'   r8   r;    r   r   r   r      s           			 		   2! ! !J     ,  	     r   r   N)"samba.samba3.libsmb_samba_cwrappersamba.dcerpcr   LibsmbCConnr   r?   r   r   <module>rC      sc     1 0 0 0 ! ! ! ! ! !o o o o o; o o o o or   