From 239bc636182ec735668067391fa9ab6070a50489 Mon Sep 17 00:00:00 2001 From: terrafrost Date: Sun, 9 Aug 2020 11:00:12 -0500 Subject: [PATCH] SSH2: uploads on low speed networks could get in infinite loop --- phpseclib/Net/SFTP.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/phpseclib/Net/SFTP.php b/phpseclib/Net/SFTP.php index da4c0294..c6c2ea33 100644 --- a/phpseclib/Net/SFTP.php +++ b/phpseclib/Net/SFTP.php @@ -3041,6 +3041,10 @@ class Net_SFTP extends Net_SSH2 */ function _send_sftp_packet($type, $data, $request_id = 1) { + // in SSH2.php the timeout is cumulative per function call. eg. exec() will + // timeout after 10s. but for SFTP.php it's cumulative per packet + $this->curTimeout = $this->timeout; + $packet = $this->use_request_id ? pack('NCNa*', strlen($data) + 5, $type, $request_id, $data) : pack('NCa*', strlen($data) + 1, $type, $data);