Rust-ftp finally with tls-native :D

This commit is contained in:
ChristianVisintin
2020-12-03 21:31:51 +01:00
parent a63af295de
commit 3112f999e3
3 changed files with 86 additions and 34 deletions

View File

@@ -33,7 +33,7 @@ use crate::fs::{FsDirectory, FsEntry, FsFile};
use crate::utils::lstime_to_systime;
// Includes
use ftp::openssl::ssl::{SslContext, SslMethod};
use ftp::native_tls::TlsConnector;
use ftp::FtpStream;
use regex::Regex;
use std::io::{Read, Write};
@@ -238,9 +238,14 @@ impl FileTransfer for FtpFileTransfer {
};
// If SSL, open secure session
if self.ftps {
let ctx = SslContext::builder(SslMethod::tls()).unwrap();
let ctx = ctx.build();
stream = match stream.into_secure(ctx) {
let ctx = match TlsConnector::builder().danger_accept_invalid_certs(true).danger_accept_invalid_hostnames(true).build() {
Ok(tls) => tls,
Err(err) => return Err(FileTransferError::new_ex(
FileTransferErrorType::SslError,
format!("{}", err),
))
};
stream = match stream.into_secure(ctx, address.as_str()) {
Ok(s) => s,
Err(err) => {
return Err(FileTransferError::new_ex(