mirror of
https://github.com/veeso/termscp.git
synced 2025-12-07 09:36:00 -08:00
Merge branch '0.6.0' into keyring-rs-linux
This commit is contained in:
23
.github/ISSUE_TEMPLATE/security.md
vendored
Normal file
23
.github/ISSUE_TEMPLATE/security.md
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
name: Security report
|
||||||
|
about: Create a report of a security vulnerability
|
||||||
|
title: "[SECURITY] - ISSUE_TITLE"
|
||||||
|
labels: security
|
||||||
|
assignees: veeso
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
Severity:
|
||||||
|
|
||||||
|
- [ ] **critical**
|
||||||
|
- [ ] high
|
||||||
|
- [ ] medium
|
||||||
|
- [ ] low
|
||||||
|
|
||||||
|
A clear and concise description of the security vulnerability.
|
||||||
|
|
||||||
|
## Additional information
|
||||||
|
|
||||||
|
Add any other context about the problem here.
|
||||||
21
.github/workflows/aur-pub.yml
vendored
21
.github/workflows/aur-pub.yml
vendored
@@ -1,21 +0,0 @@
|
|||||||
name: aur-pub
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "*"
|
|
||||||
jobs:
|
|
||||||
aur-publish:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Publish AUR package
|
|
||||||
uses: KSXGitHub/github-actions-deploy-aur@v2.2.4
|
|
||||||
with:
|
|
||||||
pkgname: termscp
|
|
||||||
pkgbuild: ./dist/pkgs/arch/PKGBUILD
|
|
||||||
commit_username: ${{ secrets.AUR_USERNAME }}
|
|
||||||
commit_email: ${{ secrets.AUR_EMAIL }}
|
|
||||||
ssh_private_key: ${{ secrets.AUR_KEY }}
|
|
||||||
commit_message: Update AUR package
|
|
||||||
ssh_keyscan_types: rsa,dsa,ecdsa,ed25519
|
|
||||||
11
SECURITY.md
Normal file
11
SECURITY.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# Security Policy
|
||||||
|
|
||||||
|
## Supported Versions
|
||||||
|
|
||||||
|
Only latst version of termscp has the latest security updates.
|
||||||
|
Because of that, **you should always consider updating termscp to the latest version**.
|
||||||
|
|
||||||
|
## Reporting a Vulnerability
|
||||||
|
|
||||||
|
If you have any security vulnerability or concern to report, please open an issue using the `Security report` template.
|
||||||
|
w
|
||||||
15
dist/build/deploy.sh
vendored
15
dist/build/deploy.sh
vendored
@@ -28,20 +28,5 @@ cd -
|
|||||||
mkdir -p ${PKGS_DIR}/rpm/
|
mkdir -p ${PKGS_DIR}/rpm/
|
||||||
CONTAINER_NAME=$(docker create termscp-${VERSION}-x86_64_centos7 termscp-${VERSION}-x86_64_centos7)
|
CONTAINER_NAME=$(docker create termscp-${VERSION}-x86_64_centos7 termscp-${VERSION}-x86_64_centos7)
|
||||||
docker cp ${CONTAINER_NAME}:/usr/src/termscp/target/release/rpmbuild/RPMS/x86_64/termscp-${VERSION}-1.el7.x86_64.rpm ${PKGS_DIR}/rpm/termscp-${VERSION}-1.x86_64.rpm
|
docker cp ${CONTAINER_NAME}:/usr/src/termscp/target/release/rpmbuild/RPMS/x86_64/termscp-${VERSION}-1.el7.x86_64.rpm ${PKGS_DIR}/rpm/termscp-${VERSION}-1.x86_64.rpm
|
||||||
# Build x86_64_archlinux
|
|
||||||
|
|
||||||
##################### TEMP REMOVED ###################################
|
|
||||||
# cd x86_64_archlinux/
|
|
||||||
# docker build --tag termscp-${VERSION}-x86_64_archlinux .
|
|
||||||
# # Create container and get AUR pkg
|
|
||||||
# cd -
|
|
||||||
# mkdir -p ${PKGS_DIR}/arch/
|
|
||||||
# CONTAINER_NAME=$(docker create termscp-${VERSION}-x86_64_archlinux termscp-${VERSION}-x86_64_archlinux)
|
|
||||||
# docker cp ${CONTAINER_NAME}:/usr/src/termscp/termscp-${VERSION}-x86_64.tar.gz ${PKGS_DIR}/arch/
|
|
||||||
# docker cp ${CONTAINER_NAME}:/usr/src/termscp/PKGBUILD ${PKGS_DIR}/arch/
|
|
||||||
# docker cp ${CONTAINER_NAME}:/usr/src/termscp/.SRCINFO ${PKGS_DIR}/arch/
|
|
||||||
# # Replace termscp-bin with termscp in PKGBUILD
|
|
||||||
# sed -i 's/termscp-bin/termscp/g' ${PKGS_DIR}/arch/PKGBUILD
|
|
||||||
##################### TEMP REMOVED ###################################
|
|
||||||
|
|
||||||
exit $?
|
exit $?
|
||||||
|
|||||||
34
dist/build/x86_64_archlinux/Dockerfile
vendored
34
dist/build/x86_64_archlinux/Dockerfile
vendored
@@ -1,34 +0,0 @@
|
|||||||
FROM archlinux:latest as builder
|
|
||||||
|
|
||||||
WORKDIR /usr/src/
|
|
||||||
# Install dependencies
|
|
||||||
RUN pacman -Syu --noconfirm \
|
|
||||||
git \
|
|
||||||
gcc \
|
|
||||||
openssl \
|
|
||||||
pkg-config \
|
|
||||||
dbus \
|
|
||||||
sudo
|
|
||||||
# Install rust
|
|
||||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > /tmp/rust.sh && \
|
|
||||||
chmod +x /tmp/rust.sh && \
|
|
||||||
/tmp/rust.sh -y
|
|
||||||
# Create build user
|
|
||||||
RUN useradd build -m && \
|
|
||||||
passwd -d build && \
|
|
||||||
mkdir -p termscp && \
|
|
||||||
chown -R build.build termscp/
|
|
||||||
# Clone repository
|
|
||||||
RUN git clone https://github.com/veeso/termscp.git
|
|
||||||
# Set workdir to termscp
|
|
||||||
WORKDIR /usr/src/termscp/
|
|
||||||
# Install cargo arxch
|
|
||||||
RUN source $HOME/.cargo/env && cargo install cargo-aur
|
|
||||||
# Build for x86_64
|
|
||||||
RUN source $HOME/.cargo/env && cargo build --release
|
|
||||||
# Build pkgs
|
|
||||||
RUN source $HOME/.cargo/env && cargo aur
|
|
||||||
# Create SRCINFO
|
|
||||||
RUN chown -R build.build ../termscp/ && sudo -u build bash -c 'makepkg --printsrcinfo > .SRCINFO'
|
|
||||||
|
|
||||||
CMD ["sh"]
|
|
||||||
14
dist/pkgs/arch/.SRCINFO
vendored
14
dist/pkgs/arch/.SRCINFO
vendored
@@ -1,14 +0,0 @@
|
|||||||
pkgbase = termscp
|
|
||||||
pkgdesc = termscp is a SCP/SFTP/FTPS client for command line with an integrated UI to explore the remote file system. Basically WinSCP on a terminal.
|
|
||||||
pkgver = 0.6.0
|
|
||||||
pkgrel = 1
|
|
||||||
url = https://github.com/veeso/termscp
|
|
||||||
arch = x86_64
|
|
||||||
license = MIT
|
|
||||||
provides = termscp
|
|
||||||
options = strip
|
|
||||||
source = https://github.com/veeso/termscp/releases/download/v0.6.0/termscp-0.6.0-x86_64.tar.gz
|
|
||||||
sha256sums = 279b4cab7da68c6db0efc054ddf72e36de85910110721b66d5cdc55833c99ccf
|
|
||||||
|
|
||||||
pkgname = termscp
|
|
||||||
|
|
||||||
16
dist/pkgs/arch/PKGBUILD
vendored
16
dist/pkgs/arch/PKGBUILD
vendored
@@ -1,16 +0,0 @@
|
|||||||
# Maintainer: Christian Visintin
|
|
||||||
pkgname=termscp
|
|
||||||
pkgver=0.6.0
|
|
||||||
pkgrel=1
|
|
||||||
pkgdesc="termscp is a SCP/SFTP/FTPS client for command line with an integrated UI to explore the remote file system. Basically WinSCP on a terminal."
|
|
||||||
url="https://github.com/veeso/termscp"
|
|
||||||
license=("MIT")
|
|
||||||
arch=("x86_64")
|
|
||||||
provides=("termscp")
|
|
||||||
options=("strip")
|
|
||||||
source=("https://github.com/veeso/termscp/releases/download/v$pkgver/termscp-$pkgver-x86_64.tar.gz")
|
|
||||||
sha256sums=("f66a1d1602dc8ea336ba4a42bfbe818edc9c20722e1761b471b76109c272094c")
|
|
||||||
|
|
||||||
package() {
|
|
||||||
install -Dm755 termscp -t "$pkgdir/usr/bin/"
|
|
||||||
}
|
|
||||||
@@ -28,9 +28,6 @@
|
|||||||
// Modules
|
// Modules
|
||||||
pub mod serializer;
|
pub mod serializer;
|
||||||
|
|
||||||
// Deps
|
|
||||||
extern crate edit;
|
|
||||||
|
|
||||||
// Locals
|
// Locals
|
||||||
use crate::filetransfer::FileTransferProtocol;
|
use crate::filetransfer::FileTransferProtocol;
|
||||||
|
|
||||||
|
|||||||
@@ -25,13 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Dependencies
|
|
||||||
extern crate chrono;
|
|
||||||
extern crate ftp4;
|
|
||||||
#[cfg(os_target = "windows")]
|
|
||||||
extern crate path_slash;
|
|
||||||
extern crate regex;
|
|
||||||
|
|
||||||
use super::{FileTransfer, FileTransferError, FileTransferErrorType};
|
use super::{FileTransfer, FileTransferError, FileTransferErrorType};
|
||||||
use crate::fs::{FsDirectory, FsEntry, FsFile};
|
use crate::fs::{FsDirectory, FsEntry, FsFile};
|
||||||
use crate::utils::fmt::{fmt_time, shadow_password};
|
use crate::utils::fmt::{fmt_time, shadow_password};
|
||||||
|
|||||||
@@ -25,8 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// dependencies
|
|
||||||
extern crate wildmatch;
|
|
||||||
// locals
|
// locals
|
||||||
use crate::fs::{FsEntry, FsFile};
|
use crate::fs::{FsEntry, FsFile};
|
||||||
// ext
|
// ext
|
||||||
|
|||||||
@@ -25,12 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Dependencies
|
|
||||||
#[cfg(os_target = "windows")]
|
|
||||||
extern crate path_slash;
|
|
||||||
extern crate regex;
|
|
||||||
extern crate ssh2;
|
|
||||||
|
|
||||||
// Locals
|
// Locals
|
||||||
use super::{FileTransfer, FileTransferError, FileTransferErrorType};
|
use super::{FileTransfer, FileTransferError, FileTransferErrorType};
|
||||||
use crate::fs::{FsDirectory, FsEntry, FsFile};
|
use crate::fs::{FsDirectory, FsEntry, FsFile};
|
||||||
|
|||||||
@@ -25,9 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Dependencies
|
|
||||||
extern crate ssh2;
|
|
||||||
|
|
||||||
// Locals
|
// Locals
|
||||||
use super::{FileTransfer, FileTransferError, FileTransferErrorType};
|
use super::{FileTransfer, FileTransferError, FileTransferErrorType};
|
||||||
use crate::fs::{FsDirectory, FsEntry, FsFile};
|
use crate::fs::{FsDirectory, FsEntry, FsFile};
|
||||||
|
|||||||
@@ -25,11 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Deps
|
|
||||||
extern crate bytesize;
|
|
||||||
extern crate regex;
|
|
||||||
#[cfg(target_family = "unix")]
|
|
||||||
extern crate users;
|
|
||||||
// Locals
|
// Locals
|
||||||
use super::FsEntry;
|
use super::FsEntry;
|
||||||
use crate::utils::fmt::{fmt_path_elide, fmt_pex, fmt_time};
|
use crate::utils::fmt::{fmt_path_elide, fmt_pex, fmt_time};
|
||||||
|
|||||||
@@ -28,8 +28,6 @@
|
|||||||
// Mods
|
// Mods
|
||||||
pub(crate) mod builder;
|
pub(crate) mod builder;
|
||||||
mod formatter;
|
mod formatter;
|
||||||
// Deps
|
|
||||||
extern crate bitflags;
|
|
||||||
// Locals
|
// Locals
|
||||||
use super::FsEntry;
|
use super::FsEntry;
|
||||||
use formatter::Formatter;
|
use formatter::Formatter;
|
||||||
|
|||||||
@@ -25,8 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// dependencies
|
|
||||||
extern crate wildmatch;
|
|
||||||
// ext
|
// ext
|
||||||
use std::fs::{self, File, Metadata, OpenOptions};
|
use std::fs::{self, File, Metadata, OpenOptions};
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
|
|||||||
24
src/lib.rs
24
src/lib.rs
@@ -32,12 +32,36 @@
|
|||||||
|
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate bitflags;
|
extern crate bitflags;
|
||||||
|
extern crate bytesize;
|
||||||
|
extern crate chrono;
|
||||||
|
extern crate content_inspector;
|
||||||
|
extern crate crossterm;
|
||||||
|
extern crate dirs;
|
||||||
|
extern crate edit;
|
||||||
|
extern crate ftp4;
|
||||||
|
extern crate hostname;
|
||||||
|
#[cfg(feature = "with-keyring")]
|
||||||
|
extern crate keyring;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate lazy_static;
|
extern crate lazy_static;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate log;
|
extern crate log;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate magic_crypt;
|
extern crate magic_crypt;
|
||||||
|
extern crate open;
|
||||||
|
#[cfg(target_os = "windows")]
|
||||||
|
extern crate path_slash;
|
||||||
|
extern crate rand;
|
||||||
|
extern crate regex;
|
||||||
|
extern crate ssh2;
|
||||||
|
extern crate tempfile;
|
||||||
|
extern crate textwrap;
|
||||||
|
extern crate tuirealm;
|
||||||
|
extern crate ureq;
|
||||||
|
#[cfg(target_family = "unix")]
|
||||||
|
extern crate users;
|
||||||
|
extern crate whoami;
|
||||||
|
extern crate wildmatch;
|
||||||
|
|
||||||
pub mod activity_manager;
|
pub mod activity_manager;
|
||||||
pub mod bookmarks;
|
pub mod bookmarks;
|
||||||
|
|||||||
@@ -25,8 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Deps
|
|
||||||
extern crate whoami;
|
|
||||||
// Crate
|
// Crate
|
||||||
#[cfg(feature = "with-keyring")]
|
#[cfg(feature = "with-keyring")]
|
||||||
use super::keys::keyringstorage::KeyringStorage;
|
use super::keys::keyringstorage::KeyringStorage;
|
||||||
|
|||||||
@@ -25,8 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Deps
|
|
||||||
extern crate rand;
|
|
||||||
// Locals
|
// Locals
|
||||||
use crate::config::serializer::ConfigSerializer;
|
use crate::config::serializer::ConfigSerializer;
|
||||||
use crate::config::{SerializerError, SerializerErrorKind, UserConfig};
|
use crate::config::{SerializerError, SerializerErrorKind, UserConfig};
|
||||||
|
|||||||
@@ -25,9 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Deps
|
|
||||||
extern crate dirs;
|
|
||||||
|
|
||||||
// Ext
|
// Ext
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
|
|
||||||
|
|||||||
@@ -25,8 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Deps
|
|
||||||
extern crate keyring;
|
|
||||||
// Local
|
// Local
|
||||||
use super::{KeyStorage, KeyStorageError};
|
use super::{KeyStorage, KeyStorageError};
|
||||||
// Ext
|
// Ext
|
||||||
@@ -107,8 +105,6 @@ impl KeyStorage for KeyringStorage {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
|
||||||
extern crate whoami;
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|||||||
@@ -25,9 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Dependencies
|
|
||||||
extern crate dirs;
|
|
||||||
|
|
||||||
// Locals
|
// Locals
|
||||||
use super::{AuthActivity, FileTransferProtocol};
|
use super::{AuthActivity, FileTransferProtocol};
|
||||||
use crate::system::bookmarks_client::BookmarksClient;
|
use crate::system::bookmarks_client::BookmarksClient;
|
||||||
|
|||||||
@@ -31,10 +31,6 @@ mod misc;
|
|||||||
mod update;
|
mod update;
|
||||||
mod view;
|
mod view;
|
||||||
|
|
||||||
// Dependencies
|
|
||||||
extern crate crossterm;
|
|
||||||
extern crate tuirealm;
|
|
||||||
|
|
||||||
// locals
|
// locals
|
||||||
use super::{Activity, Context, ExitReason};
|
use super::{Activity, Context, ExitReason};
|
||||||
use crate::filetransfer::FileTransferProtocol;
|
use crate::filetransfer::FileTransferProtocol;
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
extern crate tempfile;
|
|
||||||
// locals
|
// locals
|
||||||
use super::{FileTransferActivity, FsEntry, LogLevel, SelectedEntry, TransferPayload};
|
use super::{FileTransferActivity, FsEntry, LogLevel, SelectedEntry, TransferPayload};
|
||||||
use crate::filetransfer::FileTransferErrorType;
|
use crate::filetransfer::FileTransferErrorType;
|
||||||
|
|||||||
@@ -25,8 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// deps
|
|
||||||
extern crate open;
|
|
||||||
// locals
|
// locals
|
||||||
use super::{FileTransferActivity, FsEntry, LogLevel, SelectedEntry, TransferPayload};
|
use super::{FileTransferActivity, FsEntry, LogLevel, SelectedEntry, TransferPayload};
|
||||||
// ext
|
// ext
|
||||||
|
|||||||
@@ -33,12 +33,6 @@ pub(self) mod session;
|
|||||||
pub(self) mod update;
|
pub(self) mod update;
|
||||||
pub(self) mod view;
|
pub(self) mod view;
|
||||||
|
|
||||||
// Dependencies
|
|
||||||
extern crate chrono;
|
|
||||||
extern crate crossterm;
|
|
||||||
extern crate textwrap;
|
|
||||||
extern crate tuirealm;
|
|
||||||
|
|
||||||
// locals
|
// locals
|
||||||
use super::{Activity, Context, ExitReason};
|
use super::{Activity, Context, ExitReason};
|
||||||
use crate::filetransfer::ftp_transfer::FtpFileTransfer;
|
use crate::filetransfer::ftp_transfer::FtpFileTransfer;
|
||||||
|
|||||||
@@ -25,12 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Deps
|
|
||||||
extern crate bytesize;
|
|
||||||
extern crate content_inspector;
|
|
||||||
extern crate crossterm;
|
|
||||||
extern crate tempfile;
|
|
||||||
|
|
||||||
// Locals
|
// Locals
|
||||||
use super::{FileTransferActivity, LogLevel};
|
use super::{FileTransferActivity, LogLevel};
|
||||||
use crate::filetransfer::FileTransferError;
|
use crate::filetransfer::FileTransferError;
|
||||||
|
|||||||
@@ -25,8 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// deps
|
|
||||||
extern crate bytesize;
|
|
||||||
// locals
|
// locals
|
||||||
use super::{
|
use super::{
|
||||||
actions::SelectedEntry, browser::FileExplorerTab, FileTransferActivity, LogLevel,
|
actions::SelectedEntry, browser::FileExplorerTab, FileTransferActivity, LogLevel,
|
||||||
|
|||||||
@@ -25,11 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Deps
|
|
||||||
extern crate bytesize;
|
|
||||||
extern crate hostname;
|
|
||||||
#[cfg(target_family = "unix")]
|
|
||||||
extern crate users;
|
|
||||||
// locals
|
// locals
|
||||||
use super::{browser::FileExplorerTab, Context, FileTransferActivity};
|
use super::{browser::FileExplorerTab, Context, FileTransferActivity};
|
||||||
use crate::fs::explorer::FileSorting;
|
use crate::fs::explorer::FileSorting;
|
||||||
|
|||||||
@@ -32,10 +32,6 @@ mod config;
|
|||||||
mod update;
|
mod update;
|
||||||
mod view;
|
mod view;
|
||||||
|
|
||||||
// Deps
|
|
||||||
extern crate crossterm;
|
|
||||||
extern crate tuirealm;
|
|
||||||
|
|
||||||
// Locals
|
// Locals
|
||||||
use super::{Activity, Context, ExitReason};
|
use super::{Activity, Context, ExitReason};
|
||||||
// Ext
|
// Ext
|
||||||
|
|||||||
@@ -25,9 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// deps
|
|
||||||
extern crate textwrap;
|
|
||||||
extern crate tuirealm;
|
|
||||||
// locals
|
// locals
|
||||||
use crate::utils::fmt::align_text_center;
|
use crate::utils::fmt::align_text_center;
|
||||||
// ext
|
// ext
|
||||||
|
|||||||
@@ -25,10 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Dependencies
|
|
||||||
extern crate crossterm;
|
|
||||||
extern crate tuirealm;
|
|
||||||
|
|
||||||
// Locals
|
// Locals
|
||||||
use super::input::InputHandler;
|
use super::input::InputHandler;
|
||||||
use super::store::Store;
|
use super::store::Store;
|
||||||
|
|||||||
@@ -25,8 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
extern crate crossterm;
|
|
||||||
|
|
||||||
use crossterm::event::{poll, read, Event};
|
use crossterm::event::{poll, read, Event};
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
|
|||||||
@@ -25,9 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Deps
|
|
||||||
extern crate magic_crypt;
|
|
||||||
|
|
||||||
// Ext
|
// Ext
|
||||||
use magic_crypt::MagicCryptTrait;
|
use magic_crypt::MagicCryptTrait;
|
||||||
|
|
||||||
|
|||||||
@@ -25,9 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
extern crate chrono;
|
|
||||||
extern crate textwrap;
|
|
||||||
|
|
||||||
use chrono::prelude::*;
|
use chrono::prelude::*;
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
use std::time::{Duration, SystemTime};
|
use std::time::{Duration, SystemTime};
|
||||||
|
|||||||
@@ -25,8 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Deps
|
|
||||||
extern crate ureq;
|
|
||||||
// Locals
|
// Locals
|
||||||
use super::parser::parse_semver;
|
use super::parser::parse_semver;
|
||||||
// Others
|
// Others
|
||||||
@@ -80,7 +78,15 @@ mod tests {
|
|||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[cfg(not(all(target_os = "macos", feature = "github-actions")))]
|
#[cfg(not(all(
|
||||||
|
any(
|
||||||
|
target_os = "macos",
|
||||||
|
target_os = "freebsd",
|
||||||
|
target_os = "netbsd",
|
||||||
|
target_os = "netbsd"
|
||||||
|
),
|
||||||
|
feature = "github-actions"
|
||||||
|
)))]
|
||||||
fn test_utils_git_check_for_updates() {
|
fn test_utils_git_check_for_updates() {
|
||||||
assert!(check_for_updates("100.0.0").ok().unwrap().is_none());
|
assert!(check_for_updates("100.0.0").ok().unwrap().is_none());
|
||||||
assert!(check_for_updates("0.0.1").ok().unwrap().is_some());
|
assert!(check_for_updates("0.0.1").ok().unwrap().is_some());
|
||||||
|
|||||||
@@ -25,11 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Dependencies
|
|
||||||
extern crate chrono;
|
|
||||||
extern crate regex;
|
|
||||||
extern crate whoami;
|
|
||||||
|
|
||||||
// Locals
|
// Locals
|
||||||
use crate::filetransfer::FileTransferProtocol;
|
use crate::filetransfer::FileTransferProtocol;
|
||||||
#[cfg(not(test))] // NOTE: don't use configuration during tests
|
#[cfg(not(test))] // NOTE: don't use configuration during tests
|
||||||
|
|||||||
@@ -25,8 +25,6 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
// Deps
|
|
||||||
extern crate rand;
|
|
||||||
// Ext
|
// Ext
|
||||||
use rand::{distributions::Alphanumeric, thread_rng, Rng};
|
use rand::{distributions::Alphanumeric, thread_rng, Rng};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user