
    Idf                     0    d dl  d dlmZ  G d de      Zy)    )*)securityc                       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y)Connc                     | j                  |      rB| j                  |      D ]  }| j                  |dz   |d   z           | j                  |       y | j	                  |       y )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   sV    <<4 :TD[5=89:JJtKK    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  }|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+++h333FX+++h333FX***h333FX***h777FX+++h3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  r9|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+++h222FX+++h222FX***h000FX***h777FX+++h222FX///h000FX+++h777FX,,,h222Fh000Fh777Fr   Nc                     || j                   }|| j                  |      }| j                  ||t        t        z        }	 | j                  ||      }| j                  |       |S # | j                  |       w xY w)z!Get security descriptor for file.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EK{{%()99  <	T5)BJJt	 JJts   A' 'A:c                     || j                   }|| j                  |      }| j                  ||t        t        z        }	 | j                  |||       | j                  |       y# | j                  |       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   sz     =..E>>uEK{{%()99  <	KKb%(JJtDJJts   A' 'A:)NN)__name__
__module____qualname__r   r   r   r   r   r   r-   r    r'   r8   r;    r   r   r   r      sh     			 		 2!J  ,  	r   r   N)"samba.samba3.libsmb_samba_cwrappersamba.dcerpcr   LibsmbCConnr   r?   r   r   <module>rC      s     1 !o; or   