summaryrefslogtreecommitdiffstats
path: root/apps/files_external
diff options
context:
space:
mode:
authorBjoern Schiessle <schiessle@owncloud.com>2016-03-21 15:10:24 +0100
committerBjoern Schiessle <schiessle@owncloud.com>2016-03-21 17:39:43 +0100
commitf761733f17cb1bce9e3a82dd2059f5a139f8d68b (patch)
tree5cf8567ffaa8659fb7fd3f1b265e8a34579d918f /apps/files_external
parent2309ef9167f25f668f638151def46c72165118c2 (diff)
downloadnextcloud-server-f761733f17cb1bce9e3a82dd2059f5a139f8d68b.tar.gz
nextcloud-server-f761733f17cb1bce9e3a82dd2059f5a139f8d68b.zip
apply retry wrapper to make sure that we always read/write a complete block
Diffstat (limited to 'apps/files_external')
-rw-r--r--apps/files_external/lib/ftp.php5
1 files changed, 4 insertions, 1 deletions
diff --git a/apps/files_external/lib/ftp.php b/apps/files_external/lib/ftp.php
index 125888ef722..338e2c14fa4 100644
--- a/apps/files_external/lib/ftp.php
+++ b/apps/files_external/lib/ftp.php
@@ -30,6 +30,8 @@
namespace OC\Files\Storage;
+use Icewind\Streams\RetryWrapper;
+
class FTP extends \OC\Files\Storage\StreamWrapper{
private $password;
private $user;
@@ -105,7 +107,8 @@ class FTP extends \OC\Files\Storage\StreamWrapper{
case 'ab':
//these are supported by the wrapper
$context = stream_context_create(array('ftp' => array('overwrite' => true)));
- return fopen($this->constructUrl($path), $mode, false, $context);
+ $handle = fopen($this->constructUrl($path), $mode, false, $context);
+ return RetryWrapper::wrap($handle);
case 'r+':
case 'w+':
case 'wb+':