From a6631eceb47e14102ce91bcb274abe75a520235d Mon Sep 17 00:00:00 2001
From: Senorsen <senorsen.zhang@gmail.com>
Date: Wed, 16 Mar 2016 01:49:40 +0800
Subject: [PATCH] Add urlencode to username part of ftp and sftp links

according to #17796
---
 apps/files_external/lib/ftp.php  | 2 +-
 apps/files_external/lib/sftp.php | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/apps/files_external/lib/ftp.php b/apps/files_external/lib/ftp.php
index 125888ef722..ed8f980fea2 100644
--- a/apps/files_external/lib/ftp.php
+++ b/apps/files_external/lib/ftp.php
@@ -76,7 +76,7 @@ class FTP extends \OC\Files\Storage\StreamWrapper{
 		if ($this->secure) {
 			$url.='s';
 		}
-		$url.='://'.$this->user.':'.$this->password.'@'.$this->host.$this->root.$path;
+		$url.='://'.urlencode($this->user).':'.urlencode($this->password).'@'.$this->host.$this->root.$path;
 		return $url;
 	}
 
diff --git a/apps/files_external/lib/sftp.php b/apps/files_external/lib/sftp.php
index f6b2873cf49..fc55e800a89 100644
--- a/apps/files_external/lib/sftp.php
+++ b/apps/files_external/lib/sftp.php
@@ -459,7 +459,7 @@ class SFTP extends \OC\Files\Storage\Common {
 		// Do not pass the password here. We want to use the Net_SFTP object
 		// supplied via stream context or fail. We only supply username and
 		// hostname because this might show up in logs (they are not used).
-		$url = 'sftp://'.$this->user.'@'.$this->host.':'.$this->port.$this->root.$path;
+		$url = 'sftp://' . urlencode($this->user) . '@' . $this->host . ':' . $this->port . $this->root . $path;
 		return $url;
 	}
 }
-- 
GitLab