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")
{