mirror of
https://github.com/veeso/termscp.git
synced 2026-07-26 17:41:02 +02:00
Merge branch '0.4.1' into issue-17-still-some-problems-with-symlinks
This commit is contained in:
@@ -23,6 +23,7 @@ Released on FIXME:
|
|||||||
- SCP file transfer:
|
- SCP file transfer:
|
||||||
- Added possibility to stat directories.
|
- Added possibility to stat directories.
|
||||||
- Bugfix:
|
- Bugfix:
|
||||||
|
- [Issue 18](https://github.com/veeso/termscp/issues/18): Set file transfer type to `Binary` for FTP
|
||||||
- [Issue 17](https://github.com/veeso/termscp/issues/17)
|
- [Issue 17](https://github.com/veeso/termscp/issues/17)
|
||||||
- SCP: fixed symlink not properly detected
|
- SCP: fixed symlink not properly detected
|
||||||
- [Issue 10](https://github.com/veeso/termscp/issues/10): Fixed port not being loaded from bookmarks into gui
|
- [Issue 10](https://github.com/veeso/termscp/issues/10): Fixed port not being loaded from bookmarks into gui
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ use crate::utils::parser::{parse_datetime, parse_lstime};
|
|||||||
|
|
||||||
// Includes
|
// Includes
|
||||||
use ftp4::native_tls::TlsConnector;
|
use ftp4::native_tls::TlsConnector;
|
||||||
use ftp4::FtpStream;
|
use ftp4::{types::FileType, FtpStream};
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
use std::time::SystemTime;
|
use std::time::SystemTime;
|
||||||
@@ -329,7 +329,7 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
Err(err) => {
|
Err(err) => {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ConnectionError,
|
FileTransferErrorType::ConnectionError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -344,7 +344,7 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
Err(err) => {
|
Err(err) => {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::SslError,
|
FileTransferErrorType::SslError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -353,7 +353,7 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
Err(err) => {
|
Err(err) => {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::SslError,
|
FileTransferErrorType::SslError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -370,7 +370,14 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
if let Err(err) = stream.login(username.as_str(), password.as_str()) {
|
if let Err(err) = stream.login(username.as_str(), password.as_str()) {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::AuthenticationFailed,
|
FileTransferErrorType::AuthenticationFailed,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
// Initialize file type
|
||||||
|
if let Err(err) = stream.transfer_type(FileType::Binary) {
|
||||||
|
return Err(FileTransferError::new_ex(
|
||||||
|
FileTransferErrorType::ProtocolError,
|
||||||
|
err.to_string(),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
// Set stream
|
// Set stream
|
||||||
@@ -389,7 +396,7 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
Ok(_) => Ok(()),
|
Ok(_) => Ok(()),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ConnectionError,
|
FileTransferErrorType::ConnectionError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
None => Err(FileTransferError::new(
|
None => Err(FileTransferError::new(
|
||||||
@@ -415,7 +422,7 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
Ok(path) => Ok(PathBuf::from(path.as_str())),
|
Ok(path) => Ok(PathBuf::from(path.as_str())),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ConnectionError,
|
FileTransferErrorType::ConnectionError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
None => Err(FileTransferError::new(
|
None => Err(FileTransferError::new(
|
||||||
@@ -435,7 +442,7 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
Ok(_) => Ok(dir),
|
Ok(_) => Ok(dir),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ConnectionError,
|
FileTransferErrorType::ConnectionError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
None => Err(FileTransferError::new(
|
None => Err(FileTransferError::new(
|
||||||
@@ -475,7 +482,7 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
}
|
}
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::DirStatFailed,
|
FileTransferErrorType::DirStatFailed,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
None => Err(FileTransferError::new(
|
None => Err(FileTransferError::new(
|
||||||
@@ -494,7 +501,7 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
Ok(_) => Ok(()),
|
Ok(_) => Ok(()),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::FileCreateDenied,
|
FileTransferErrorType::FileCreateDenied,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
None => Err(FileTransferError::new(
|
None => Err(FileTransferError::new(
|
||||||
@@ -520,7 +527,7 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
Ok(_) => Ok(()),
|
Ok(_) => Ok(()),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::PexError,
|
FileTransferErrorType::PexError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -533,7 +540,7 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
if let Err(err) = self.remove(&file) {
|
if let Err(err) = self.remove(&file) {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::PexError,
|
FileTransferErrorType::PexError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -542,13 +549,13 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
Ok(_) => Ok(()),
|
Ok(_) => Ok(()),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::PexError,
|
FileTransferErrorType::PexError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::DirStatFailed,
|
FileTransferErrorType::DirStatFailed,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -581,7 +588,7 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
Ok(_) => Ok(()),
|
Ok(_) => Ok(()),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::FileCreateDenied,
|
FileTransferErrorType::FileCreateDenied,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -631,7 +638,7 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
Ok(writer) => Ok(Box::new(writer)), // NOTE: don't use BufWriter here, since already returned by the library
|
Ok(writer) => Ok(Box::new(writer)), // NOTE: don't use BufWriter here, since already returned by the library
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::FileCreateDenied,
|
FileTransferErrorType::FileCreateDenied,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
None => Err(FileTransferError::new(
|
None => Err(FileTransferError::new(
|
||||||
@@ -650,7 +657,7 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
Ok(reader) => Ok(Box::new(reader)), // NOTE: don't use BufReader here, since already returned by the library
|
Ok(reader) => Ok(Box::new(reader)), // NOTE: don't use BufReader here, since already returned by the library
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::NoSuchFileOrDirectory,
|
FileTransferErrorType::NoSuchFileOrDirectory,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
None => Err(FileTransferError::new(
|
None => Err(FileTransferError::new(
|
||||||
@@ -672,7 +679,7 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
Ok(_) => Ok(()),
|
Ok(_) => Ok(()),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ProtocolError,
|
FileTransferErrorType::ProtocolError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
None => Err(FileTransferError::new(
|
None => Err(FileTransferError::new(
|
||||||
@@ -694,7 +701,7 @@ impl FileTransfer for FtpFileTransfer {
|
|||||||
Ok(_) => Ok(()),
|
Ok(_) => Ok(()),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ProtocolError,
|
FileTransferErrorType::ProtocolError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
None => Err(FileTransferError::new(
|
None => Err(FileTransferError::new(
|
||||||
|
|||||||
@@ -318,7 +318,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
Err(err) => {
|
Err(err) => {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::BadAddress,
|
FileTransferErrorType::BadAddress,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -349,7 +349,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
Err(err) => {
|
Err(err) => {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ConnectionError,
|
FileTransferErrorType::ConnectionError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -359,7 +359,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
if let Err(err) = session.handshake() {
|
if let Err(err) = session.handshake() {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ConnectionError,
|
FileTransferErrorType::ConnectionError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
let username: String = match username {
|
let username: String = match username {
|
||||||
@@ -381,7 +381,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
) {
|
) {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::AuthenticationFailed,
|
FileTransferErrorType::AuthenticationFailed,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -393,7 +393,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
) {
|
) {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::AuthenticationFailed,
|
FileTransferErrorType::AuthenticationFailed,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -425,7 +425,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
}
|
}
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ConnectionError,
|
FileTransferErrorType::ConnectionError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -495,7 +495,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
}
|
}
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ProtocolError,
|
FileTransferErrorType::ProtocolError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -537,7 +537,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
}
|
}
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ProtocolError,
|
FileTransferErrorType::ProtocolError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -576,7 +576,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
}
|
}
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ProtocolError,
|
FileTransferErrorType::ProtocolError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -613,7 +613,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
}
|
}
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ProtocolError,
|
FileTransferErrorType::ProtocolError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -650,7 +650,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
}
|
}
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ProtocolError,
|
FileTransferErrorType::ProtocolError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -692,7 +692,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
}
|
}
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ProtocolError,
|
FileTransferErrorType::ProtocolError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -743,7 +743,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
}
|
}
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ProtocolError,
|
FileTransferErrorType::ProtocolError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -764,7 +764,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
Ok(output) => Ok(output),
|
Ok(output) => Ok(output),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ProtocolError,
|
FileTransferErrorType::ProtocolError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -823,7 +823,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
Ok(channel) => Ok(Box::new(BufWriter::with_capacity(65536, channel))),
|
Ok(channel) => Ok(Box::new(BufWriter::with_capacity(65536, channel))),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ProtocolError,
|
FileTransferErrorType::ProtocolError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -846,7 +846,7 @@ impl FileTransfer for ScpFileTransfer {
|
|||||||
Ok(reader) => Ok(Box::new(BufReader::with_capacity(65536, reader.0))),
|
Ok(reader) => Ok(Box::new(BufReader::with_capacity(65536, reader.0))),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ProtocolError,
|
FileTransferErrorType::ProtocolError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,12 +76,12 @@ impl SftpFileTransfer {
|
|||||||
Ok(_) => Ok(p),
|
Ok(_) => Ok(p),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::NoSuchFileOrDirectory,
|
FileTransferErrorType::NoSuchFileOrDirectory,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::NoSuchFileOrDirectory,
|
FileTransferErrorType::NoSuchFileOrDirectory,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -90,7 +90,7 @@ impl SftpFileTransfer {
|
|||||||
Ok(_) => Ok(p),
|
Ok(_) => Ok(p),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::NoSuchFileOrDirectory,
|
FileTransferErrorType::NoSuchFileOrDirectory,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
Err(_) => Err(FileTransferError::new(
|
Err(_) => Err(FileTransferError::new(
|
||||||
@@ -260,7 +260,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
Err(err) => {
|
Err(err) => {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::BadAddress,
|
FileTransferErrorType::BadAddress,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -291,7 +291,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
Err(err) => {
|
Err(err) => {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ConnectionError,
|
FileTransferErrorType::ConnectionError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -301,7 +301,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
if let Err(err) = session.handshake() {
|
if let Err(err) = session.handshake() {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ConnectionError,
|
FileTransferErrorType::ConnectionError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
let username: String = match username {
|
let username: String = match username {
|
||||||
@@ -323,7 +323,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
) {
|
) {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::AuthenticationFailed,
|
FileTransferErrorType::AuthenticationFailed,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -335,7 +335,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
) {
|
) {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::AuthenticationFailed,
|
FileTransferErrorType::AuthenticationFailed,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -348,7 +348,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
Err(err) => {
|
Err(err) => {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ProtocolError,
|
FileTransferErrorType::ProtocolError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -358,7 +358,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
Err(err) => {
|
Err(err) => {
|
||||||
return Err(FileTransferError::new_ex(
|
return Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ProtocolError,
|
FileTransferErrorType::ProtocolError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -386,7 +386,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
}
|
}
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ConnectionError,
|
FileTransferErrorType::ConnectionError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -459,7 +459,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
match sftp.readdir(dir.as_path()) {
|
match sftp.readdir(dir.as_path()) {
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::DirStatFailed,
|
FileTransferErrorType::DirStatFailed,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
Ok(files) => {
|
Ok(files) => {
|
||||||
// Allocate vector
|
// Allocate vector
|
||||||
@@ -490,7 +490,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
Ok(_) => Ok(()),
|
Ok(_) => Ok(()),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::FileCreateDenied,
|
FileTransferErrorType::FileCreateDenied,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -517,7 +517,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
Ok(_) => Ok(()),
|
Ok(_) => Ok(()),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::PexError,
|
FileTransferErrorType::PexError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -538,7 +538,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
Ok(_) => Ok(()),
|
Ok(_) => Ok(()),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::PexError,
|
FileTransferErrorType::PexError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -562,7 +562,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
Ok(_) => Ok(()),
|
Ok(_) => Ok(()),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::FileCreateDenied,
|
FileTransferErrorType::FileCreateDenied,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -585,7 +585,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
Ok(metadata) => Ok(self.make_fsentry(dir.as_path(), &metadata)),
|
Ok(metadata) => Ok(self.make_fsentry(dir.as_path(), &metadata)),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::NoSuchFileOrDirectory,
|
FileTransferErrorType::NoSuchFileOrDirectory,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -604,7 +604,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
Ok(output) => Ok(output),
|
Ok(output) => Ok(output),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::ProtocolError,
|
FileTransferErrorType::ProtocolError,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
false => Err(FileTransferError::new(
|
false => Err(FileTransferError::new(
|
||||||
@@ -643,7 +643,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
Ok(file) => Ok(Box::new(BufWriter::with_capacity(65536, file))),
|
Ok(file) => Ok(Box::new(BufWriter::with_capacity(65536, file))),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::FileCreateDenied,
|
FileTransferErrorType::FileCreateDenied,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -669,7 +669,7 @@ impl FileTransfer for SftpFileTransfer {
|
|||||||
Ok(file) => Ok(Box::new(BufReader::with_capacity(65536, file))),
|
Ok(file) => Ok(Box::new(BufReader::with_capacity(65536, file))),
|
||||||
Err(err) => Err(FileTransferError::new_ex(
|
Err(err) => Err(FileTransferError::new_ex(
|
||||||
FileTransferErrorType::NoSuchFileOrDirectory,
|
FileTransferErrorType::NoSuchFileOrDirectory,
|
||||||
format!("{}", err),
|
err.to_string(),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user