From be43b49838a8eb23ae298253d28a7ca9ff53788b Mon Sep 17 00:00:00 2001 From: Samuel Walker Date: Fri, 21 Jun 2024 23:17:56 -0600 Subject: [PATCH] working on basic ftp implementation --- launcher/src/ftp.rs | 18 ++++++++++++++++++ launcher/src/main.rs | 3 +++ 2 files changed, 21 insertions(+) create mode 100644 launcher/src/ftp.rs diff --git a/launcher/src/ftp.rs b/launcher/src/ftp.rs new file mode 100644 index 0000000..ca4f95c --- /dev/null +++ b/launcher/src/ftp.rs @@ -0,0 +1,18 @@ +use suppaftp::FtpError; +use suppaftp::NativeTlsFtpStream; +use suppaftp::NativeTlsConnector; +use suppaftp::native_tls::Certificate; +use suppaftp::native_tls::TlsConnector; + + +fn ftpConnection() -> Result{ + let ftp_stream = NativeTlsFtpStream::connect("gitea.piwalker.net:21").unwrap_or_else(|err| + panic!("{}", err) + ); + let cert = include_bytes!("../res/vsftpd.crt"); + let cert = Certificate::from_pem(cert).unwrap(); + let mut ftp_stream = ftp_stream.into_secure(NativeTlsConnector::from(TlsConnector::builder().add_root_certificate(cert).build().unwrap()), "gitea.piwalker.net").unwrap(); + ftp_stream.login("anonymous", "anonymous@").map(|_| Ok(ftp_stream)).unwrap() +} + + diff --git a/launcher/src/main.rs b/launcher/src/main.rs index 906816b..f6bb127 100644 --- a/launcher/src/main.rs +++ b/launcher/src/main.rs @@ -7,6 +7,8 @@ use serde_json::{Result, Value}; use suppaftp::{FtpError, NativeTlsConnector, NativeTlsFtpStream}; use suppaftp::native_tls::{Certificate, TlsConnector}; +mod ftp; + fn main() { println!("test"); let ftp_stream = NativeTlsFtpStream::connect("gitea.piwalker.net:21").unwrap_or_else(|err| @@ -16,6 +18,7 @@ fn main() { let cert = Certificate::from_pem(cert).unwrap(); let mut ftp_stream = ftp_stream.into_secure(NativeTlsConnector::from(TlsConnector::builder().add_root_certificate(cert).build().unwrap()), "gitea.piwalker.net").unwrap(); assert!(ftp_stream.login("anonymous", "anonymous@").is_ok()); + assert!(ftp_stream.size("test").is_ok()); println!("test"); let data = ftp_stream.retr_as_buffer("fcs7/versions.json").unwrap(); println!("test");