You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by xu...@apache.org on 2026/05/11 14:13:39 UTC

(opendal) branch main updated: chore(services/ftp): Upgrade suppaftp to 8.0.3 (#7500)

This is an automated email from the ASF dual-hosted git repository.

Xuanwo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/opendal.git


The following commit(s) were added to refs/heads/main by this push:
     new f21554b93 chore(services/ftp): Upgrade suppaftp to 8.0.3 (#7500)
f21554b93 is described below

commit f21554b93f3e7a49c090f2ae8e315e059293738f
Author: Xuanwo <gi...@xuanwo.io>
AuthorDate: Mon May 11 22:13:30 2026 +0800

    chore(services/ftp): Upgrade suppaftp to 8.0.3 (#7500)
---
 core/Cargo.lock               |  5 ++---
 core/services/ftp/Cargo.toml  |  6 ++----
 core/services/ftp/src/core.rs | 11 ++++++-----
 3 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/core/Cargo.lock b/core/Cargo.lock
index 476a8df58..248999ac8 100644
--- a/core/Cargo.lock
+++ b/core/Cargo.lock
@@ -10761,9 +10761,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
 
 [[package]]
 name = "suppaftp"
-version = "6.3.0"
+version = "8.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9d869e942cc5f349ad91645925a9e6b570f62c4c170ad1c7b92b867bd16bd54"
+checksum = "4275c142b5be3af2eeadd70dd368caf3b65546c8af1035839372dd7a1436127d"
 dependencies = [
  "async-std",
  "async-trait",
@@ -10773,7 +10773,6 @@ dependencies = [
  "lazy-regex",
  "log",
  "pin-project",
- "rustls 0.23.40",
  "rustls-pki-types",
  "thiserror 2.0.18",
 ]
diff --git a/core/services/ftp/Cargo.toml b/core/services/ftp/Cargo.toml
index c66cc2818..97bb907a4 100644
--- a/core/services/ftp/Cargo.toml
+++ b/core/services/ftp/Cargo.toml
@@ -40,10 +40,8 @@ log = { workspace = true }
 opendal-core = { path = "../../core", version = "0.56.0", default-features = false }
 rustls-native-certs = "0.8"
 serde = { workspace = true, features = ["derive"] }
-suppaftp = { version = "6.3.0", default-features = false, features = [
-  "async-secure",
-  "rustls",
-  "async-rustls",
+suppaftp = { version = "8.0.3", default-features = false, features = [
+  "async-std-rustls-ring",
 ] }
 tokio = { workspace = true, features = ["macros", "time"] }
 
diff --git a/core/services/ftp/src/core.rs b/core/services/ftp/src/core.rs
index 4be772c13..0bb670763 100644
--- a/core/services/ftp/src/core.rs
+++ b/core/services/ftp/src/core.rs
@@ -19,12 +19,13 @@ use std::sync::Arc;
 
 use fastpool::{ManageObject, ObjectStatus, bounded};
 use futures_rustls::TlsConnector;
-use suppaftp::AsyncRustlsConnector;
-use suppaftp::AsyncRustlsFtpStream;
+use futures_rustls::rustls::ClientConfig;
+use futures_rustls::rustls::RootCertStore;
 use suppaftp::FtpError;
-use suppaftp::ImplAsyncFtpStream;
 use suppaftp::Status;
-use suppaftp::rustls::ClientConfig;
+use suppaftp::async_std::AsyncRustlsConnector;
+use suppaftp::async_std::AsyncRustlsFtpStream;
+use suppaftp::async_std::ImplAsyncFtpStream;
 use suppaftp::types::FileType;
 
 use super::err::format_ftp_error;
@@ -78,7 +79,7 @@ impl ManageObject for Manager {
         let stream = ImplAsyncFtpStream::connect(&self.endpoint).await?;
         // switch to secure mode if ssl/tls is on.
         let mut ftp_stream = if self.enable_secure {
-            let mut root_store = suppaftp::rustls::RootCertStore::empty();
+            let mut root_store = RootCertStore::empty();
             for cert in
                 rustls_native_certs::load_native_certs().expect("could not load platform certs")
             {