a
    kÄ#dwu  ã                   @   sÊ  d dl mZmZmZ d dlmZ d dlmZmZ d dl	m
Z
mZmZmZmZmZmZmZmZmZ d dlmZ dddd	d
dddddddddddddddddddddd d!d"d#œZd$d%d&d'd(d)d*d+œZd,d-„ ZG d.d/„ d/e
ƒZG d0d1„ d1eƒZG d2d3„ d3eƒZG d4d5„ d5eƒZG d6d7„ d7eƒZG d8d9„ d9eƒZd:d;d<œZd=d>d?d@œZ G dAdB„ dBeƒZ!G dCdD„ dDeƒZ"G dEdF„ dFeƒZ#eee"d dG� eee"dHdIdJdK� eee#dJdG� G dLdM„ dMeƒZ$G dNdO„ dOeƒZ%eee$d dG� eee%dJdG� eee$dHdIdIdK� G dPdQ„ dQeƒZ&G dRdS„ dSeƒZ'eee&d dG� eee'dJdG� eee&dHdId dK� G dTdU„ dUeƒZ(G dVdW„ dWeƒZ)eee(d dG� eee)dJdG� eee(dHdIdXdK� G dYdZ„ dZeƒZ*G d[d\„ d\eƒZ+eee*d dG� eee+dJdG� eee*dHdId]dK� d^d_d`dadbdcddœZ,G dedf„ dfeƒZ-G dgdh„ dheƒZ.eee-d dG� eee.dJdG� eee-dHdIdidK� G djdk„ dkeƒZ/G dldm„ dmeƒZ0eee/d dG� eee0dJdG� eee/dHdIdndK� G dodp„ dpeƒZ1G dqdr„ dreƒZ2eee1d dG� eee2dJdG� eee1dHdIdsdK� G dtdu„ dueƒZ3G dvdw„ dweƒZ4eee3d dG� eee4dJdG� eee3dHdIdxdK� G dydz„ dzeƒZ5G d{d|„ d|eƒZ6eee5d dG� eee6dJdG� eee5dHdId}dK� G d~d„ deƒZ7G d€d�„ d�eƒZ8eee7d dG� eee8dJdG� eee7dHdId‚dK� G dƒd„„ d„eƒZ9G d…d†„ d†eƒZ:eee9d dG� eee:dJdG� eee9dHdId‡dK� G dˆd‰„ d‰eƒZ;G dŠd‹„ d‹eƒZ<eee;d dG� eee<dJdG� eee;dHdIdŒdK� G d�dŽ„ dŽeƒZ=G d�d�„ d�eƒZ>eee=d dG� eee>dJdG� eee=dHdId‘dK� G d’d“„ d“eƒZ?G d”d•„ d•eƒZ@eee?d dG� eee@dJdG� eee?dHdId–dK� G d—d˜„ d˜eƒZAG d™dš„ dšeƒZBeeeAd dG� eeeBdJdG� eeeAdHdId›dK� G dœd�„ d�eƒZCG dždŸ„ dŸeƒZDeeeCd dG� eeeDdJdG� eeeCdHdId dK� G d¡d¢„ d¢eƒZEG d£d¤„ d¤eƒZFeeeEd dG� eeeFdJdG� eeeEdHdId¥dK� G d¦d§„ d§eƒZGG d¨d©„ d©eƒZHeeeGd dG� eeeHdJdG� eeeGdHdIdªdK� G d«d¬„ d¬eƒZIG d­d®„ d®eƒZJeeeId dG� eeeJdJdG� eeeIdHdId¯dK� G d°d±„ d±eƒZKG d²d³„ d³eƒZLeeeKd dG� eeeLdJdG� eeeKdHdId´dK� dµS )¶é    )ÚRPCÚRPC_CallÚObject_Name)Ú	unhexlify)ÚPacketÚbind_layers)
ÚIntFieldÚIntEnumFieldÚFieldListFieldÚ	LongFieldÚ	XIntFieldÚ
XLongFieldÚConditionalFieldÚPacketListFieldÚStrLenFieldÚPacketField)Úinteger_typesZNFS3_OKZNFS3ERR_PERMZNFS3ERR_NOENTZ
NFS3ERR_IOZNFS3ERR_NXIOZNFS3ERR_ACCESZNFS3ERR_EXISTZNFS3ERR_XDEVZNFS3ERR_NODEVZNFS3ERR_NOTDIRZNFS3ERR_ISDIRZNFS3ERR_INVALZNFS3ERR_FBIGZNFS3ERR_NOSPCZNFS3ERR_ROFSZNFS3ERR_MLINKZNFS3ERR_NAMETOOLONGZNFS3ERR_NOTEMPTYZNFS3ERR_DQUOTZNFS3ERR_STALEZNFS3ERR_REMOTEZNFS3ERR_BADHANDLEZNFS3ERR_NOT_SYNCZNFS3ERR_BAD_COOKIEZNFS3ERR_NOTSUPPZNFS3ERR_TOOSMALLZNFS3ERR_SERVERFAULTZNFS3ERR_BADTYPEZNFS3ERR_JUKEBOX)r   é   é   é   é   é   é   é   é   é   é   é   é   é   é   é   é?   éB   éE   éF   éG   i'  i'  i'  i'  i'  i'  i'  i'  ZNF3REGZNF3DIRZNF3BLKZNF3CHRZNF3LNKZNF3SOCKZNF3FIFO)r   r   é   é   r   r   é   c                 C   sR   t | tƒrt| ƒS t | tƒr0dd tt| ƒ¡ S t | tƒrNdd tt| ƒ¡ S | S )Nz(%s)z, z[%s])Ú
isinstancer   ÚoctÚtupleÚjoinÚmapÚloctÚlist©Úx© r3   úH/var/www/html/gsl.tools/lib/python3.9/site-packages/scapy/contrib/nfs.pyr/   <   s    


r/   c                   @   s   e Zd ZdZdd„ ZdS )Ú	OIntFieldz(IntField child with octal representationc                 C   s   t |  ||¡ƒS ©N)r/   Zi2h)ÚselfÚpktr2   r3   r3   r4   Úi2reprH   s    zOIntField.i2reprN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r9   r3   r3   r3   r4   r5   F   s   r5   c                   @   s²   e Zd ZdZeddeƒeddƒeddƒeddƒeddƒeddƒed	dƒe	d
ddgeddƒdd„ d�e
ddƒe
ddƒeddƒeddƒeddƒeddƒeddƒeddƒgZdd„ ZdS )ÚFattr3úFile AttributesÚtyper   ÚmodeZnlinkÚuidÚgidÚsizeÚusedZrdevÚ Nc                 C   s   dS ©Nr   r3   r1   r3   r3   r4   Ú<lambda>W   ó    zFattr3.<lambda>)Z
count_fromZfsidÚfileidÚatime_sÚatime_nsÚmtime_sÚmtime_nsÚctime_sÚctime_nsc                 C   s   d|fS ©NrF   r3   ©r7   Úsr3   r3   r4   Úextract_paddingc   s    zFattr3.extract_padding)r:   r;   r<   Únamer	   Úftype3r5   r   r   r
   r   Úfields_descrT   r3   r3   r3   r4   r>   L   s*   
ÿîr>   c                   @   sN   e Zd ZdZeddƒedddd„ d�ed	dd
d„ d�gZddd„Zdd„ ZdS )ÚFile_ObjectzFile ObjectÚlengthr   ÚfhrI   c                 C   s   | j S r6   ©rY   ©r8   r3   r3   r4   rH   k   rI   zFile_Object.<lambda>©Zlength_fromÚfillc                 C   s   d| j  d S ©Nr(   r[   r\   r3   r3   r4   rH   l   rI   Nc                 C   sN   |  ¡ rt|ƒ}|d u r t|ƒ}|d u r8dd| d  }|| _|| _|| _d S )Nó    r(   )Úisalnumr   ÚlenrY   rZ   r^   )r7   Znew_filehandlerY   r^   r3   r3   r4   Úseto   s    zFile_Object.setc                 C   s   d|fS rQ   r3   rR   r3   r3   r4   rT   }   s    zFile_Object.extract_padding)NN)	r:   r;   r<   rU   r   r   rW   rc   rT   r3   r3   r3   r4   rX   g   s   ý
rX   c                   @   sD   e Zd ZdZeddƒeddƒeddƒeddƒeddƒgZdd	„ Zd
S )ÚWCC_Attrr?   rD   r   rM   rN   rO   rP   c                 C   s   d|fS rQ   r3   rR   r3   r3   r4   rT   ‹   s    zWCC_Attr.extract_paddingN)r:   r;   r<   rU   r   r   rW   rT   r3   r3   r3   r4   rd   �   s   ûrd   c                   @   s|   e Zd ZdZeddƒedeƒ eƒeddƒeddƒeede	ƒ e	ƒdd	„ ƒed
dƒeede
ƒ e
ƒdd	„ ƒeddƒgZdd„ ZdS )ÚFile_From_Dir_PlusÚFilerJ   r   ÚfilenameÚcookieÚattributes_followÚ
attributesc                 C   s
   | j dkS ©Nr   ©ri   r\   r3   r3   r4   rH   ˜   rI   zFile_From_Dir_Plus.<lambda>Úhandle_followsÚ
filehandlec                 C   s
   | j dkS rk   )rm   r\   r3   r3   r4   rH   �   rI   Úvalue_followsc                 C   s   d|fS rQ   r3   rR   r3   r3   r4   rT   ¢   s    z"File_From_Dir_Plus.extract_paddingN)r:   r;   r<   rU   r   r   r   r   r   r>   rX   rW   rT   r3   r3   r3   r4   re   �   s"   þþòre   c                   @   s@   e Zd ZdZeddƒedeƒ eƒeddƒeddƒgZdd„ Z	d	S )
ÚFile_From_Dirrf   rJ   r   rg   rh   ro   c                 C   s   d|fS rQ   r3   rR   r3   r3   r4   rT   ¯   s    zFile_From_Dir.extract_paddingN)
r:   r;   r<   rU   r   r   r   r   rW   rT   r3   r3   r3   r4   rp   ¦   s   ürp   zDONT SETZSET©r   r   zDONT CHANGEzSERVER TIMEzCLIENT TIME©r   r   r   c                   @   sè   e Zd ZdZeddeƒeeddƒdd„ ƒeddeƒeeddƒd	d„ ƒed
deƒeeddƒdd„ ƒeddeƒee	ddƒdd„ ƒedde
ƒeeddƒdd„ ƒeeddƒdd„ ƒedde
ƒeeddƒdd„ ƒeeddƒdd„ ƒgZdd„ ZdS )ÚSattr3ZSetattr3Úset_moder   rA   c                 C   s
   | j dkS rk   )rt   r\   r3   r3   r4   rH   »   rI   zSattr3.<lambda>Úset_uidrB   c                 C   s
   | j dkS rk   )ru   r\   r3   r3   r4   rH   ½   rI   Úset_gidrC   c                 C   s
   | j dkS rk   )rv   r\   r3   r3   r4   rH   ¿   rI   Úset_sizerD   c                 C   s
   | j dkS rk   )rw   r\   r3   r3   r4   rH   Á   rI   Ú	set_atimerK   c                 C   s
   | j dkS rG   ©rx   r\   r3   r3   r4   rH   Ä   rI   rL   c                 C   s
   | j dkS rG   ry   r\   r3   r3   r4   rH   Ç   rI   Ú	set_mtimerM   c                 C   s
   | j dkS rG   ©rz   r\   r3   r3   r4   rH   Ë   rI   rN   c                 C   s
   | j dkS rG   r{   r\   r3   r3   r4   rH   Î   rI   c                 C   s   d|fS rQ   r3   rR   r3   r3   r4   rT   Ò   s    zSattr3.extract_paddingN)r:   r;   r<   rU   r	   Ú
attrs_enumr   r5   r   r   Ú
times_enumrW   rT   r3   r3   r3   r4   rs   ·   s2   




ÿÿ
ÿÿìrs   c                   @   s    e Zd ZdZedeƒ eƒgZdS )ÚGETATTR_CallzGETATTR Callrn   N©r:   r;   r<   rU   r   rX   rW   r3   r3   r3   r4   r~   Ö   s   ÿr~   c                   @   s<   e Zd ZdZeddeƒeedeƒ eƒdd„ ƒgZ	dd„ Z
d	S )
ÚGETATTR_ReplyzGETATTR ReplyÚstatusr   rj   c                 C   s
   | j dkS ©Nr   ©r�   r\   r3   r3   r4   rH   ã   rI   zGETATTR_Reply.<lambda>c                 C   s   dS )N)rF   Nr3   rR   r3   r3   r4   rT   ç   s    zGETATTR_Reply.extract_paddingN)r:   r;   r<   rU   r	   Únfsstat3r   r   r>   rW   rT   r3   r3   r3   r4   r€   Ý   s   
þþr€   )Úmtypei£† r'   r   )ÚprogramZpversionZ	procedurec                   @   s,   e Zd ZdZedeƒ eƒedeƒ eƒgZdS )ÚLOOKUP_CallzLOOKUP CallÚdirrg   N©r:   r;   r<   rU   r   rX   r   rW   r3   r3   r3   r4   r‡   ò   s   þr‡   c                
   @   sz   e Zd ZdZeddeƒeedeƒ eƒdd„ ƒee	ddƒdd„ ƒeed	e
ƒ e
ƒd
d„ ƒe	ddƒeede
ƒ e
ƒdd„ ƒgZdS )ÚLOOKUP_ReplyzLOOKUP Replyr�   r   rn   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH      rI   zLOOKUP_Reply.<lambda>Úaf_filec                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH     rI   Úfile_attributesc                 C   s   | j dko| jdkS ©Nr   r   )r�   r‹   r\   r3   r3   r4   rH     rI   Úaf_dirZdir_attributesc                 C   s
   | j dkS rk   )rŽ   r\   r3   r3   r4   rH   
  rI   N)r:   r;   r<   rU   r	   r„   r   r   rX   r   r>   rW   r3   r3   r3   r4   rŠ   ú   s"   
þþþôrŠ   c                   @   s   e Zd ZdZg ZdS )Ú	NULL_CallzNFS NULL CallN©r:   r;   r<   rU   rW   r3   r3   r3   r4   r�     s   r�   c                   @   s   e Zd ZdZg ZdS )Ú
NULL_ReplyzNFS NULL ReplyNr�   r3   r3   r3   r4   r‘     s   r‘   c                   @   s    e Zd ZdZedeƒ eƒgZdS )ÚFSINFO_CallzFSINFO Callrn   Nr   r3   r3   r3   r4   r’   #  s   ÿr’   c                   @   s  e Zd ZdZeddeƒeddƒeede	ƒ e	ƒdd„ ƒeeddƒd	d„ ƒeed
dƒdd„ ƒeeddƒdd„ ƒeeddƒdd„ ƒeeddƒdd„ ƒeeddƒdd„ ƒeeddƒdd„ ƒee
ddƒdd„ ƒeeddƒdd„ ƒeeddƒdd„ ƒeeddƒdd„ ƒgZdS )ÚFSINFO_ReplyzFSINFO Replyr�   r   ri   rj   c                 C   s
   | j dkS rk   rl   r\   r3   r3   r4   rH   1  rI   zFSINFO_Reply.<lambda>Zrtmaxc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   3  rI   Zrtprefc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   4  rI   Zrtmultc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   5  rI   Zwtmaxc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   6  rI   Zwtprefc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   7  rI   Zwtmultc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   8  rI   Zdtprefc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   9  rI   Zmaxfilesizec                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   ;  rI   Ztimedelta_sc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   >  rI   Ztimedelta_nsc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   A  rI   Ú
propertiesc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   D  rI   N)r:   r;   r<   rU   r	   r„   r   r   r   r>   r   r   rW   r3   r3   r3   r4   r“   *  s6   
þÿÿÿÿér“   r   c                   @   s    e Zd ZdZedeƒ eƒgZdS )ÚPATHCONF_CallzPATHCONF Callrn   Nr   r3   r3   r3   r4   r•   P  s   ÿr•   c                   @   sÈ   e Zd ZdZeddeƒeddƒeede	ƒ e	ƒdd„ ƒeeddƒd	d„ ƒeed
dƒdd„ ƒeedddddœƒdd„ ƒeedddddœƒdd„ ƒeedddddœƒdd„ ƒeedddddœƒdd„ ƒg	Z
dS )ÚPATHCONF_ReplyzPATHCONF Replyr�   r   ri   rj   c                 C   s
   | j dkS rk   rl   r\   r3   r3   r4   rH   ^  rI   zPATHCONF_Reply.<lambda>Zlinkmaxc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   `  rI   Zname_maxc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   a  rI   Zno_truncÚNOZYESrq   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   d  rI   Zchown_restrictedc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   h  rI   Zcase_insensitivec                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   l  rI   Zcase_preservingc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   p  rI   N)r:   r;   r<   rU   r	   r„   r   r   r   r>   rW   r3   r3   r3   r4   r–   W  s4   
þþþþþër–   r   ÚREADZLOOKUPZMODIFYZEXTENDÚDELETEZEXECUTE)r   r   r(   é   é   é    c                   @   s*   e Zd ZdZedeƒ eƒeddeƒgZdS )ÚACCESS_CallzACCESS Callrn   Zcheck_accessr   N)	r:   r;   r<   rU   r   rX   r	   Úaccess_specsrW   r3   r3   r3   r4   r�   …  s   
þr�   c                   @   sN   e Zd ZdZeddeƒeddƒeede	ƒ e	ƒdd„ ƒee
ddƒd	d„ ƒgZd
S )ÚACCESS_ReplyzACCESS Replyr�   r   ri   rj   c                 C   s
   | j dkS rk   rl   r\   r3   r3   r4   rH   ”  rI   zACCESS_Reply.<lambda>Zaccess_rightsc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   —  rI   N)r:   r;   r<   rU   r	   r„   r   r   r   r>   r   rW   r3   r3   r3   r4   rŸ   �  s   
þÿùrŸ   r(   c                   @   s@   e Zd ZdZedeƒ eƒeddƒeddƒeddƒedd	ƒgZd
S )ÚREADDIRPLUS_CallzREADDIRPLUS Callrn   rh   r   ÚverifierÚdircounti   Zmaxcounti   N©	r:   r;   r<   rU   r   rX   r   r   rW   r3   r3   r3   r4   r    ¡  s   ûr    c                   @   s–   e Zd ZdZeddeƒeddƒeede	ƒ e	ƒdd„ ƒee
ddƒd	d„ ƒeed
dƒdd„ ƒeeddedd„ d�dd„ ƒeeddƒdd„ ƒgZdd„ ZdS )ÚREADDIRPLUS_ReplyzREADDIRPLUS Replyr�   r   ri   rj   c                 C   s
   | j dkS rk   rl   r\   r3   r3   r4   rH   ³  rI   zREADDIRPLUS_Reply.<lambda>r¡   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   ¶  rI   ro   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   ¹  rI   ÚfilesNc                 C   s4   | j dkr0t|ƒdks |j dkr0t|ƒdkr0tS d S ©Nr   r   r(   )ro   rb   re   ©r8   ÚlstÚcurZremainr3   r3   r4   rH   ¾  s    

ÿÿ
þ©Znext_cls_cbc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   Ã  rI   Úeofc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   Å  rI   c                 C   s   d|fS rQ   r3   rR   r3   r3   r4   rT   È  s    z!READDIRPLUS_Reply.extract_padding)r:   r;   r<   rU   r	   r„   r   r   r   r>   r   r   re   rW   rT   r3   r3   r3   r4   r¤   ¬  s.   
þÿÿþø
ér¤   r   c                   @   sh   e Zd ZdZedeƒ eƒeddƒeddƒeddddd	œƒed
dƒe	dddd„ d�e	dddd„ d�gZ
dS )Ú
WRITE_Callz
WRITE Callrn   Úoffsetr   ÚcountZstableÚUNSTABLEÚSTABLErq   rY   ÚcontentsrI   c                 C   s   | j S r6   r[   r\   r3   r3   r4   rH   Û  rI   zWRITE_Call.<lambda>r]   r^   c                 C   s   d| j  d S r_   r[   r\   r3   r3   r4   rH   Ü  rI   N)r:   r;   r<   rU   r   rX   r   r   r	   r   rW   r3   r3   r3   r4   r¬   Ó  s   ùr¬   c                   @   s˜   e Zd ZdZeddeƒeddƒeede	ƒ e	ƒdd„ ƒeddƒeed	e
ƒ e
ƒd
d„ ƒeeddƒdd„ ƒeedddddœƒdd„ ƒeeddƒdd„ ƒgZdS )ÚWRITE_ReplyzWRITE Replyr�   r   Ú	af_beforeÚattributes_beforec                 C   s
   | j dkS rk   ©r³   r\   r3   r3   r4   rH   ç  rI   zWRITE_Reply.<lambda>Úaf_afterÚattributes_afterc                 C   s
   | j dkS rk   ©r¶   r\   r3   r3   r4   rH   ì  rI   r®   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   î  rI   Z	committedr¯   r°   rq   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   ñ  rI   r¡   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   ô  rI   N©r:   r;   r<   rU   r	   r„   r   r   r   rd   r>   r   rW   r3   r3   r3   r4   r²   à  s*   
þþþÿïr²   r)   c                   @   s0   e Zd ZdZedeƒ eƒeddƒeddƒgZdS )ÚCOMMIT_CallzCOMMIT Callrn   r­   r   r®   Nr£   r3   r3   r3   r4   rº   þ  s
   ýrº   c                	   @   sl   e Zd ZdZeddeƒeddƒeede	ƒ e	ƒdd„ ƒeddƒeed	e
ƒ e
ƒd
d„ ƒeeddƒdd„ ƒgZdS )ÚCOMMIT_ReplyzCOMMIT Replyr�   r   r³   r´   c                 C   s
   | j dkS rk   rµ   r\   r3   r3   r4   rH     rI   zCOMMIT_Reply.<lambda>r¶   r·   c                 C   s
   | j dkS rk   r¸   r\   r3   r3   r4   rH     rI   r¡   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH     rI   Nr¹   r3   r3   r3   r4   r»     s    
þþÿôr»   r   c                   @   s4   e Zd ZdZedeƒ eƒedeƒ eƒeddƒgZdS )ÚSETATTR_CallzSETATTR Callrn   rj   Úcheckr   N)	r:   r;   r<   rU   r   rX   rs   r   rW   r3   r3   r3   r4   r¼   "  s
   ýr¼   c                	   @   sZ   e Zd ZdZeddeƒeddƒeede	ƒ e	ƒdd„ ƒeddƒeed	e
ƒ e
ƒd
d„ ƒgZdS )ÚSETATTR_ReplyzSETATTR Replyr�   r   r³   r´   c                 C   s
   | j dkS rk   rµ   r\   r3   r3   r4   rH   2  rI   zSETATTR_Reply.<lambda>r¶   r·   c                 C   s
   | j dkS rk   r¸   r\   r3   r3   r4   rH   7  rI   N©r:   r;   r<   rU   r	   r„   r   r   r   rd   r>   rW   r3   r3   r3   r4   r¾   +  s   
þþør¾   r   c                   @   s    e Zd ZdZedeƒ eƒgZdS )ÚFSSTAT_CallzFSSTAT Callrn   Nr   r3   r3   r3   r4   rÀ   C  s   ÿrÀ   c                   @   sº   e Zd ZdZeddeƒeddƒeede	ƒ e	ƒdd„ ƒee
ddƒd	d„ ƒee
d
dƒdd„ ƒee
ddƒdd„ ƒee
ddƒdd„ ƒee
ddƒdd„ ƒee
ddƒdd„ ƒeeddƒdd„ ƒg
ZdS )ÚFSSTAT_ReplyzFSSTAT Replyr�   r   ri   rj   c                 C   s
   | j dkS rk   rl   r\   r3   r3   r4   rH   Q  rI   zFSSTAT_Reply.<lambda>Ztbytesc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   S  rI   Zfbytesc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   T  rI   Zabytesc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   U  rI   Ztfilesc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   V  rI   Zffilesc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   W  rI   Zafilesc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   X  rI   Zinvarsecc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   Y  rI   N)r:   r;   r<   rU   r	   r„   r   r   r   r>   r   rW   r3   r3   r3   r4   rÁ   J  s   
þórÁ   r   c                	   @   sf   e Zd ZdZedeƒ eƒedeƒ eƒedddddd	œƒeed
e	ƒ e	ƒdd„ ƒee
ddƒdd„ ƒgZdS )ÚCREATE_CallzCREATE Callrˆ   rg   Úcreate_modeNZ	UNCHECKEDZGUARDEDZ	EXCLUSIVErr   rj   c                 C   s
   | j dkS rG   ©rÃ   r\   r3   r3   r4   rH   n  rI   zCREATE_Call.<lambda>r¡   r   c                 C   s
   | j dkS rG   rÄ   r\   r3   r3   r4   rH   q  rI   )r:   r;   r<   rU   r   rX   r   r	   r   rs   r   rW   r3   r3   r3   r4   rÂ   d  s   þþÿörÂ   c                   @   sª   e Zd ZdZeddeƒeeddƒdd„ ƒeede	ƒ e	ƒdd„ ƒeed	dƒd
d„ ƒeede
ƒ e
ƒdd„ ƒeddƒeedeƒ eƒdd„ ƒeddƒeede
ƒ e
ƒdd„ ƒg	ZdS )ÚCREATE_ReplyzCREATE Replyr�   r   rm   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   {  rI   zCREATE_Reply.<lambda>rn   c                 C   s   | j dko| jdkS r�   ©r�   rm   r\   r3   r3   r4   rH     rI   ri   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   ‚  rI   rj   c                 C   s   | j dko| jdkS r�   ©r�   ri   r\   r3   r3   r4   rH   †  rI   r³   Údir_attributes_beforec                 C   s
   | j dkS rk   rµ   r\   r3   r3   r4   rH   ‹  rI   r¶   Údir_attributes_afterc                 C   s
   | j dkS rk   r¸   r\   r3   r3   r4   rH   �  rI   N©r:   r;   r<   rU   r	   r„   r   r   r   rX   r>   rd   rW   r3   r3   r3   r4   rÅ   v  s6   
ÿþÿþþþêrÅ   rš   c                   @   s,   e Zd ZdZedeƒ eƒedeƒ eƒgZdS )ÚREMOVE_CallzREMOVE Callrˆ   rg   Nr‰   r3   r3   r3   r4   rË   š  s   þrË   c                	   @   sZ   e Zd ZdZeddeƒeddƒeede	ƒ e	ƒdd„ ƒeddƒeed	e
ƒ e
ƒd
d„ ƒgZdS )ÚREMOVE_ReplyzREMOVE Replyr�   r   r³   r´   c                 C   s
   | j dkS rk   rµ   r\   r3   r3   r4   rH   ©  rI   zREMOVE_Reply.<lambda>r¶   r·   c                 C   s
   | j dkS rk   r¸   r\   r3   r3   r4   rH   ®  rI   Nr¿   r3   r3   r3   r4   rÌ   ¢  s   
þþørÌ   é   c                   @   s8   e Zd ZdZedeƒ eƒeddƒeddƒeddƒgZ	dS )ÚREADDIR_CallzREADDIR Callrn   rh   r   r¡   r®   N)
r:   r;   r<   rU   r   rX   r   r   r   rW   r3   r3   r3   r4   rÎ   º  s   ürÎ   c                   @   sŽ   e Zd ZdZeddeƒeddƒeede	ƒ e	ƒdd„ ƒee
ddƒd	d„ ƒeed
dƒdd„ ƒeeddedd„ d�dd„ ƒeeddƒdd„ ƒgZdS )ÚREADDIR_ReplyzREADDIR Replyr�   r   ri   rj   c                 C   s
   | j dkS rk   rl   r\   r3   r3   r4   rH   Ë  rI   zREADDIR_Reply.<lambda>r¡   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   Î  rI   ro   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   Ñ  rI   r¥   Nc                 C   s4   | j dkr0t|ƒdks |j dkr0t|ƒdkr0tS d S r¦   )ro   rb   rp   r§   r3   r3   r4   rH   Ö  s    

ÿÿ
þrª   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   Û  rI   r«   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   Ü  rI   )r:   r;   r<   rU   r	   r„   r   r   r   r>   r   r   rp   rW   r3   r3   r3   r4   rÏ   Ä  s,   
þÿÿþø	êrÏ   r›   c                   @   sD   e Zd ZdZedeƒ eƒedeƒ eƒedeƒ eƒedeƒ eƒgZdS )ÚRENAME_CallzRENAME CallZdir_fromZ	name_fromZdir_toZname_toNr‰   r3   r3   r3   r4   rÐ   ç  s   ürÐ   c                   @   s–   e Zd ZdZeddeƒeddƒeede	ƒ e	ƒdd„ ƒeddƒeed	e
ƒ e
ƒd
d„ ƒeddƒeede	ƒ e	ƒdd„ ƒeddƒeede
ƒ e
ƒdd„ ƒg	ZdS )ÚRENAME_ReplyzRENAME Replyr�   r   Úaf_before_fZattributes_before_fc                 C   s
   | j dkS rk   )rÒ   r\   r3   r3   r4   rH   ø  rI   zRENAME_Reply.<lambda>Ú
af_after_fZattributes_after_fc                 C   s
   | j dkS rk   )rÓ   r\   r3   r3   r4   rH   ý  rI   Úaf_before_tZattributes_before_tc                 C   s
   | j dkS rk   )rÔ   r\   r3   r3   r4   rH     rI   Ú
af_after_tZattributes_after_tc                 C   s
   | j dkS rk   )rÕ   r\   r3   r3   r4   rH     rI   Nr¿   r3   r3   r3   r4   rÑ   ñ  s.   
þþþþîrÑ   é   c                   @   s8   e Zd ZdZedeƒ eƒedeƒ eƒedeƒ eƒgZdS )Ú	LINK_Callz	LINK Callrn   Zlink_dirÚ	link_nameNr‰   r3   r3   r3   r4   r×     s
   ýr×   c                   @   sx   e Zd ZdZeddeƒeddƒeede	ƒ e	ƒdd„ ƒeddƒeed	e
ƒ e
ƒd
d„ ƒeddƒeede	ƒ e	ƒdd„ ƒgZdS )Ú
LINK_Replyz
LINK Replyr�   r   r‹   rŒ   c                 C   s
   | j dkS rk   )r‹   r\   r3   r3   r4   rH   #  rI   zLINK_Reply.<lambda>Úaf_link_beforeZlink_attributes_beforec                 C   s
   | j dkS rk   )rÚ   r\   r3   r3   r4   rH   (  rI   Úaf_link_afterZlink_attributes_afterc                 C   s
   | j dkS rk   )rÛ   r\   r3   r3   r4   rH   -  rI   N)r:   r;   r<   rU   r	   r„   r   r   r   r>   rd   rW   r3   r3   r3   r4   rÙ     s$   
þþþórÙ   é   c                   @   s,   e Zd ZdZedeƒ eƒedeƒ eƒgZdS )Ú
RMDIR_Callz
RMDIR Callrˆ   rg   Nr‰   r3   r3   r3   r4   rÝ   7  s   þrÝ   c                	   @   sZ   e Zd ZdZeddeƒeddƒeede	ƒ e	ƒdd„ ƒeddƒeed	e
ƒ e
ƒd
d„ ƒgZdS )ÚRMDIR_ReplyzRMDIR Replyr�   r   r³   r´   c                 C   s
   | j dkS rk   rµ   r\   r3   r3   r4   rH   F  rI   zRMDIR_Reply.<lambda>r¶   r·   c                 C   s
   | j dkS rk   r¸   r\   r3   r3   r4   rH   K  rI   Nr¿   r3   r3   r3   r4   rÞ   ?  s   
þþørÞ   r   c                   @   s    e Zd ZdZedeƒ eƒgZdS )ÚREADLINK_CallzREADLINK Callrn   Nr   r3   r3   r3   r4   rß   U  s   ÿrß   c                   @   sR   e Zd ZdZeddeƒeddƒeede	ƒ e	ƒdd„ ƒeede
ƒ e
ƒd	d„ ƒgZd
S )ÚREADLINK_ReplyzREADLINK Replyr�   r   ri   rj   c                 C   s
   | j dkS rk   rl   r\   r3   r3   r4   rH   c  rI   zREADLINK_Reply.<lambda>rg   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   g  rI   N)r:   r;   r<   rU   r	   r„   r   r   r   r>   r   rW   r3   r3   r3   r4   rà   \  s   
þþùrà   r   c                   @   s0   e Zd ZdZedeƒ eƒeddƒeddƒgZdS )Ú	READ_Callz	READ Callrn   r­   r   r®   Nr£   r3   r3   r3   r4   rá   s  s
   ýrá   c                   @   s¦   e Zd ZdZeddeƒeddƒeede	ƒ e	ƒdd„ ƒeeddƒd	d„ ƒeed
dƒdd„ ƒeeddƒdd„ ƒee
dddd„ d�dd„ ƒee
dddd„ d�dd„ ƒgZdS )Ú
READ_Replyz
READ Replyr�   r   ri   rj   c                 C   s
   | j dkS rk   rl   r\   r3   r3   r4   rH   ƒ  rI   zREAD_Reply.<lambda>r®   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   …  rI   r«   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   †  rI   Údata_lengthc                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   ˆ  rI   ÚdatarI   c                 C   s   | j S r6   ©rã   r\   r3   r3   r4   rH   ‹  rI   r]   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   Œ  rI   r^   c                 C   s   d| j  d S r_   rå   r\   r3   r3   r4   rH   �  rI   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   ’  rI   N)r:   r;   r<   rU   r	   r„   r   r   r   r>   r   rW   r3   r3   r3   r4   râ   |  s.   
þÿþ
ÿüðrâ   r   c                   @   s8   e Zd ZdZedeƒ eƒedeƒ eƒedeƒ eƒgZdS )Ú
MKDIR_Callz
MKDIR Callrˆ   Údir_namerj   N©	r:   r;   r<   rU   r   rX   r   rs   rW   r3   r3   r3   r4   ræ   œ  s
   ýræ   c                   @   sª   e Zd ZdZeddeƒeeddƒdd„ ƒeede	ƒ e	ƒdd„ ƒeed	dƒd
d„ ƒeede
ƒ e
ƒdd„ ƒeddƒeedeƒ eƒdd„ ƒeddƒeede
ƒ e
ƒdd„ ƒg	ZdS )ÚMKDIR_ReplyzMKDIR Replyr�   r   rm   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   ª  rI   zMKDIR_Reply.<lambda>rn   c                 C   s   | j dko| jdkS r�   rÆ   r\   r3   r3   r4   rH   ®  rI   ri   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   ±  rI   rj   c                 C   s   | j dko| jdkS r�   rÇ   r\   r3   r3   r4   rH   µ  rI   r³   rÈ   c                 C   s
   | j dkS rk   rµ   r\   r3   r3   r4   rH   º  rI   r¶   rÉ   c                 C   s
   | j dkS rk   r¸   r\   r3   r3   r4   rH   ¿  rI   NrÊ   r3   r3   r3   r4   ré   ¥  s6   
ÿþÿþþþêré   é	   c                   @   sD   e Zd ZdZedeƒ eƒedeƒ eƒedeƒ eƒedeƒ eƒgZdS )ÚSYMLINK_CallzSYMLINK Callrˆ   rç   rj   rØ   Nrè   r3   r3   r3   r4   rë   É  s   ürë   c                   @   sª   e Zd ZdZeddeƒeeddƒdd„ ƒeede	ƒ e	ƒdd„ ƒeed	dƒd
d„ ƒeede
ƒ e
ƒdd„ ƒeddƒeedeƒ eƒdd„ ƒeddƒeede
ƒ e
ƒdd„ ƒg	ZdS )ÚSYMLINK_ReplyzSYMLINK Replyr�   r   rm   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   Ø  rI   zSYMLINK_Reply.<lambda>rn   c                 C   s   | j dko| jdkS r�   rÆ   r\   r3   r3   r4   rH   Ü  rI   ri   c                 C   s
   | j dkS r‚   rƒ   r\   r3   r3   r4   rH   ß  rI   rj   c                 C   s   | j dko| jdkS r�   rÇ   r\   r3   r3   r4   rH   ã  rI   r³   rÈ   c                 C   s
   | j dkS rk   rµ   r\   r3   r3   r4   rH   è  rI   r¶   rÉ   c                 C   s
   | j dkS rk   r¸   r\   r3   r3   r4   rH   í  rI   NrÊ   r3   r3   r3   r4   rì   Ó  s6   
ÿþÿþþþêrì   é
   N)MZscapy.contrib.oncrpcr   r   r   Úbinasciir   Zscapy.packetr   r   Zscapy.fieldsr   r	   r
   r   r   r   r   r   r   r   Zscapy.libs.sixr   r„   rV   r/   r5   r>   rX   rd   re   rp   r|   r}   rs   r~   r€   r‡   rŠ   r�   r‘   r’   r“   r•   r–   rž   r�   rŸ   r    r¤   r¬   r²   rº   r»   r¼   r¾   rÀ   rÁ   rÂ   rÅ   rË   rÌ   rÎ   rÏ   rÐ   rÑ   r×   rÙ   rÝ   rÞ   rß   rà   rá   râ   ræ   ré   rë   rì   r3   r3   r3   r4   Ú<module>	   sx  0ã!ù


ÿ
ÿ
ÿú
 
ÿ	
ÿ	
ÿ
ÿ
ÿ

ÿ

ÿ	
ÿ		

ÿ