From a8eda24aa799299737fa107dbc8e784f4d18b3a5 Mon Sep 17 00:00:00 2001 From: Raymond Lai Date: Tue, 8 Jul 2025 11:22:21 +0800 Subject: [PATCH 1/2] Enable implicit SSL also at FTP server data connections Fixes #4428, to fix Filezilla warning of no TLS enabled at data connections. --- .../filemanager/asynchronous/services/ftp/FtpService.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/amaze/filemanager/asynchronous/services/ftp/FtpService.kt b/app/src/main/java/com/amaze/filemanager/asynchronous/services/ftp/FtpService.kt index a5a630e278..ffda784483 100644 --- a/app/src/main/java/com/amaze/filemanager/asynchronous/services/ftp/FtpService.kt +++ b/app/src/main/java/com/amaze/filemanager/asynchronous/services/ftp/FtpService.kt @@ -58,6 +58,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.launch import org.apache.ftpserver.ConnectionConfigFactory +import org.apache.ftpserver.DataConnectionConfigurationFactory import org.apache.ftpserver.FtpServer import org.apache.ftpserver.FtpServerFactory import org.apache.ftpserver.filesystem.nativefs.NativeFileSystemFactory @@ -227,7 +228,7 @@ class FtpService : Service(), Runnable { TrustManagerFactory .getInstance(TrustManagerFactory.getDefaultAlgorithm()) trustManagerFactory.init(keyStore) - fac.sslConfiguration = + val sslConfiguration = DefaultSslConfiguration( keyManagerFactory, trustManagerFactory, @@ -236,7 +237,13 @@ class FtpService : Service(), Runnable { enabledCipherSuites, "ftpserver", ) + fac.sslConfiguration = sslConfiguration fac.isImplicitSsl = true + fac.dataConnectionConfiguration = + DataConnectionConfigurationFactory().apply { + this.isImplicitSsl = true + this.sslConfiguration = sslConfiguration + }.createDataConnectionConfiguration() } catch (e: GeneralSecurityException) { preferences.edit { putBoolean(KEY_PREFERENCE_SECURE, false) } } catch (e: IOException) { From 7aa0f763b7d9fcc39620cb0c7928f599aba84f9e Mon Sep 17 00:00:00 2001 From: TranceLove Date: Mon, 28 Sep 2026 18:40:26 +0900 Subject: [PATCH 2/2] Changes per PR feedback Remove FTP Listener Factory implicit SSL setting, leave implicit SSL enabled only at data connection level --- .../amaze/filemanager/asynchronous/services/ftp/FtpService.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/com/amaze/filemanager/asynchronous/services/ftp/FtpService.kt b/app/src/main/java/com/amaze/filemanager/asynchronous/services/ftp/FtpService.kt index ffda784483..8770d3d86c 100644 --- a/app/src/main/java/com/amaze/filemanager/asynchronous/services/ftp/FtpService.kt +++ b/app/src/main/java/com/amaze/filemanager/asynchronous/services/ftp/FtpService.kt @@ -238,7 +238,6 @@ class FtpService : Service(), Runnable { "ftpserver", ) fac.sslConfiguration = sslConfiguration - fac.isImplicitSsl = true fac.dataConnectionConfiguration = DataConnectionConfigurationFactory().apply { this.isImplicitSsl = true