U vfG6@sddlZddlZddlZddlmZddlmZmZmZddl m Z e dd\Z Z ZZZZZZZZZZZZZZZZZZe dd\Z Z!Z"Z#Z$e d d \Z%Z&dZ'e dd \Z(Z)Z*Z+Z,Z-Z.Z/d d dddddddg Z0dZ1dZ2dZ3dZ4dZ5dZ6dZ7e de dedededed ed!ed"ed#ed$ed%ed&ed'ed(ed)ed*ed+ed,ed-ed.e d/e!d0e"d1e#d2e$d3e%d4e&d5iZ8Gd6d7d7e9Z:Gd8d9d9e;Z/opt/alt/python38/lib/python3.8/site-packages/paramiko/sftp.pyr*}sr*c@s eZdZdS) SFTPErrorNr+r/r/r/r0r1sr1c@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS)BaseSFTPcCstd|_d|_d|_dS)Nz paramiko.sftpF)rZ get_loggerloggersock ultra_debug)selfr/r/r0__init__s zBaseSFTP.__init__cCsTt}|t|t||\}}|tkr8tdt d|ddd}|S)NIncompatible sftp protocol>Irr) radd_int_VERSION _send_packetCMD_INIT _read_packet CMD_VERSIONr1structunpack)r6mtr&rr/r/r0 _send_versions   zBaseSFTP._send_versioncCsf|\}}|tkrtdtd|ddd}ddg}t}|t|j|| t ||S)Nr8r9rrz check-filezmd5,sha1) r>r=r1r@rArr:r;addr<r?)r6rCr&rZextension_pairsmsgr/r/r0_send_server_versions    zBaseSFTP._send_server_versioncGs|jj||f|dS)N)r3log)r6levelrFargsr/r/r0_logsz BaseSFTP._logcCsHt|dkrD|j|}|dkr&t|t|kr6dS||d}qdS)Nr)lenr4sendEOFError)r6outnr/r/r0 _write_alls   zBaseSFTP._write_allcCst}|dkrt|jtjrTt|jgggd\}}}t|dkr|j|}q`qn |j|}t|dkrrt||7}|t|8}q|S)Nrg?)bytes isinstancer4socketselectrLrecvrN)r6rPrOrrerrxr/r/r0 _read_alls    zBaseSFTP._read_allcCsP|}tdt|dt||}|jrB|tt |d| |dS)Nr9rzOUT: ) Zasbytesr@packrLrr5rKrr format_binaryrQ)r6rCpacketrOr/r/r0r<s  zBaseSFTP._send_packetcCs|d}t|drtdtd|d}||}|jrR|tt |d|dkrvt|d}||ddfSdt fS)NrrzGarbage packet receivedr9zIN: r) rYrr1r@rAr5rKrrr[rR)r6rXsizer&rCr/r/r0r>s    zBaseSFTP._read_packetN) r,r-r.r7rDrGrKrQrYr<r>r/r/r/r0r2s  r2)>rUrTr@ZparamikorZparamiko.commonrrrZparamiko.messagerranger=r?ZCMD_OPENZ CMD_CLOSEZCMD_READZ CMD_WRITEZ CMD_LSTATZ CMD_FSTATZ CMD_SETSTATZ CMD_FSETSTATZ CMD_OPENDIRZ CMD_READDIRZ CMD_REMOVEZ CMD_MKDIRZ CMD_RMDIRZ CMD_REALPATHZCMD_STATZ CMD_RENAMEZ CMD_READLINKZ CMD_SYMLINKZ CMD_STATUSZ CMD_HANDLEZCMD_DATAZCMD_NAMEZ CMD_ATTRSZ CMD_EXTENDEDZCMD_EXTENDED_REPLYZSFTP_OKZSFTP_EOFZSFTP_NO_SUCH_FILEZSFTP_PERMISSION_DENIEDZ SFTP_FAILUREZSFTP_BAD_MESSAGEZSFTP_NO_CONNECTIONZSFTP_CONNECTION_LOSTZSFTP_OP_UNSUPPORTEDZ SFTP_DESCZSFTP_FLAG_READZSFTP_FLAG_WRITEZSFTP_FLAG_APPENDZSFTP_FLAG_CREATEZSFTP_FLAG_TRUNCZSFTP_FLAG_EXCLr;Z CMD_NAMESintr* Exceptionr1r2r/r/r/r0s    %