
    7gG                        d dl Z d dlZd dlZd dlmZ d dlmZmZmZ d dl	m
Z
  edd          \  ZZZZZZZZZZZZZZZZZZZZ edd          \  Z Z!Z"Z#Z$ ed	d
          \  Z%Z&d Z' edd          \  Z(Z)Z*Z+Z,Z-Z.Z/g dZ0dZ1dZ2dZ3dZ4dZ5dZ6dZ7i edededededededededededededed ed!ed"ed#ed$ed%ed&e d'e!d(e"d)e#d*e$d+e%d,e&d-i
Z8 G d. d/e9          Z: G d0 d1e;          Z< G d2 d3          Z=dS )4    N)util)DEBUGbyte_chrbyte_ord)Message      e   j         	   )	SuccesszEnd of filezNo such filezPermission deniedFailurezBad messagezNo connectionzConnection lostzOperation unsupported                   initversionopenclosereadwritelstatfstatsetstatfsetstatopendirreaddirremovemkdirrmdirrealpathstatrenamereadlinksymlinkstatushandledatanameattrsextendedextended_replyc                       e Zd ZdS )int64N__name__
__module____qualname__     G/var/www/html/syslog/venv/lib/python3.11/site-packages/paramiko/sftp.pyr3   r3   }           Dr9   r3   c                       e Zd ZdS )	SFTPErrorNr4   r8   r9   r:   r=   r=      r;   r9   r=   c                   >    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	S )
BaseSFTPc                 T    t          j        d          | _        d | _        d| _        d S )Nzparamiko.sftpF)r   
get_loggerloggersockultra_debug)selfs    r:   __init__zBaseSFTP.__init__   s(    oo66	 r9   c                 4   t                      }|                    t                     |                     t          |           |                                 \  }}|t          k    rt          d          t          j	        d|d d                   d         }|S )NIncompatible sftp protocol>Ir   r   )
r   add_int_VERSION_send_packetCMD_INIT_read_packetCMD_VERSIONr=   structunpack)rE   mtr-   r   s        r:   _send_versionzBaseSFTP._send_version   s    II			((A&&&##%%48999-d2A2h//2 r9   c                 P   |                                  \  }}|t          k    rt          d          t          j        d|d d                   d         }ddg}t                      }|                    t                      |j        |  | 	                    t          |           |S )NrH   rI   r   r   z
check-filezmd5,sha1)rN   rM   r=   rP   rQ   r   rJ   rK   addrL   rO   )rE   rS   r-   r   extension_pairsmsgs         r:   _send_server_versionzBaseSFTP._send_server_version   s     ##%%4==8999-d2A2h//2'4iiH!!+s+++r9   c                 .     | j         j        ||g|R   d S )N)rB   log)rE   levelrX   argss       r:   _logzBaseSFTP._log   s&    s*T******r9   c                     t          |          dk    r`| j                            |          }|dk    rt                      |t          |          k    rd S ||d          }t          |          dk    `d S )Nr   )lenrC   sendEOFError)rE   outns      r:   
_write_allzBaseSFTP._write_all   sp    #hhll	s##AAvvjj CHH}}abb'C #hhll 	r9   c                    t                      }|dk    rt          | j        t          j                  rR	 t	          j        | j        gg g d          \  }}}t          |          dk    r| j                            |          }nPn| j                            |          }t          |          dk    rt                      ||z  }|t          |          z  }|dk    |S )Nr   Tg?)bytes
isinstancerC   socketselectr`   recvrb   )rE   rd   rc   r   r   errxs          r:   	_read_allzBaseSFTP._read_all   s    gg!ee$)V]33 &'-}di["b#'N'N$D%4yy1}} INN1--	 INN1%%1vv{{jj 1HCQKA% !ee& 
r9   c                 2   |                                 }t          j        dt          |          dz             t	          |          z   |z   }| j        r.|                     t          t          j	        |d                     | 
                    |           d S )NrI   r   zOUT: )asbytesrP   packr`   r   rD   r^   r   r   format_binaryre   )rE   rS   packetrc   s       r:   rL   zBaseSFTP._send_packet   s    !!k$Fa008A;;>G 	?IIeT/W==>>>r9   c                    |                      d          }t          |d                   rt          d          t          j        d|          d         }|                      |          }| j        r.|                     t          t          j	        |d                     |dk    r!t          |d                   }||dd          fS dt                      fS )Nr   r   zGarbage packet receivedrI   zIN: r   )rn   r   r=   rP   rQ   rD   r^   r   r   rr   rg   )rE   rm   sizer-   rS   s        r:   rN   zBaseSFTP._read_packet   s    NN1 AaD>> 	75666}T1%%a(~~d## 	?IIeT/f==>>>!88a!!Ad122h;%''zr9   N)r5   r6   r7   rF   rT   rY   r^   re   rn   rL   rN   r8   r9   r:   r?   r?      s        ! ! !
 
 
  + + +    .      r9   r?   )>rj   ri   rP   paramikor   paramiko.commonr   r   r   paramiko.messager   rangerM   rO   CMD_OPEN	CMD_CLOSECMD_READ	CMD_WRITE	CMD_LSTAT	CMD_FSTATCMD_SETSTATCMD_FSETSTATCMD_OPENDIRCMD_READDIR
CMD_REMOVE	CMD_MKDIR	CMD_RMDIRCMD_REALPATHCMD_STAT
CMD_RENAMECMD_READLINKCMD_SYMLINK
CMD_STATUS
CMD_HANDLECMD_DATACMD_NAME	CMD_ATTRSCMD_EXTENDEDCMD_EXTENDED_REPLYSFTP_OKSFTP_EOFSFTP_NO_SUCH_FILESFTP_PERMISSION_DENIEDSFTP_FAILURESFTP_BAD_MESSAGESFTP_NO_CONNECTIONSFTP_CONNECTION_LOSTSFTP_OP_UNSUPPORTED	SFTP_DESCSFTP_FLAG_READSFTP_FLAG_WRITESFTP_FLAG_APPENDSFTP_FLAG_CREATESFTP_FLAG_TRUNCSFTP_FLAG_EXCLrK   	CMD_NAMESintr3   	Exceptionr=   r?   r8   r9   r:   <module>r      s  &          5 5 5 5 5 5 5 5 5 5 $ $ $ $ $ $0 
E!RLL+:?%S// 7Z8Y%*U3__ "!
 
E!QKK	
 
 
	   f f w	
 f w w w  *    w w  *!" f#$ *ffw*(7 	J	 	 	 	 	C 	 	 		 	 	 	 		 	 	 	[ [ [ [ [ [ [ [ [ [r9   