Compare commits

...

2 Commits

Author SHA1 Message Date
Chip Senkbeil c88f96baba
More progress 7 months ago
Chip Senkbeil d6c3b0a155
Beginning of big refactoring of crates, introduction of plugin crate, etc. 7 months ago

105
Cargo.lock generated

@ -773,7 +773,7 @@ dependencies = [
[[package]]
name = "distant"
version = "0.20.0"
version = "0.21.0"
dependencies = [
"anyhow",
"assert_cmd",
@ -786,8 +786,8 @@ dependencies = [
"dialoguer",
"directories",
"distant-core",
"distant-local",
"distant-ssh2",
"distant-plugin-local",
"distant-plugin-ssh",
"env_logger",
"file-mode",
"flexi_logger",
@ -817,29 +817,17 @@ dependencies = [
"winsplit",
]
[[package]]
name = "distant-auth"
version = "0.20.0"
dependencies = [
"async-trait",
"derive_more",
"env_logger",
"log",
"serde",
"test-log",
"tokio",
]
[[package]]
name = "distant-core"
version = "0.20.0"
version = "0.21.0"
dependencies = [
"async-trait",
"bitflags 2.4.0",
"bytes",
"derive_more",
"distant-net",
"distant-protocol",
"distant-core-net",
"distant-core-plugin",
"distant-core-protocol",
"env_logger",
"futures",
"hex",
@ -857,43 +845,28 @@ dependencies = [
]
[[package]]
name = "distant-local"
version = "0.20.0"
name = "distant-core-auth"
version = "0.21.0"
dependencies = [
"assert_fs",
"async-trait",
"distant-core",
"derive_more",
"env_logger",
"grep",
"ignore",
"indoc",
"log",
"notify",
"notify-debouncer-full",
"num_cpus",
"once_cell",
"portable-pty",
"predicates",
"rand 0.8.5",
"rstest",
"shell-words",
"serde",
"test-log",
"tokio",
"walkdir",
"whoami",
"winsplit",
]
[[package]]
name = "distant-net"
version = "0.20.0"
name = "distant-core-net"
version = "0.21.0"
dependencies = [
"async-trait",
"bytes",
"chacha20poly1305",
"const-str",
"derive_more",
"distant-auth",
"distant-core-auth",
"dyn-clone",
"env_logger",
"flate2",
@ -917,8 +890,18 @@ dependencies = [
]
[[package]]
name = "distant-protocol"
version = "0.20.0"
name = "distant-core-plugin"
version = "0.21.0"
dependencies = [
"async-trait",
"distant-core-auth",
"distant-core-protocol",
"serde",
]
[[package]]
name = "distant-core-protocol"
version = "0.21.0"
dependencies = [
"bitflags 2.4.0",
"const-str",
@ -934,8 +917,36 @@ dependencies = [
]
[[package]]
name = "distant-ssh2"
version = "0.20.0"
name = "distant-plugin-local"
version = "0.21.0"
dependencies = [
"assert_fs",
"async-trait",
"distant-core",
"env_logger",
"grep",
"ignore",
"indoc",
"log",
"notify",
"notify-debouncer-full",
"num_cpus",
"once_cell",
"portable-pty",
"predicates",
"rand 0.8.5",
"rstest",
"shell-words",
"test-log",
"tokio",
"walkdir",
"whoami",
"winsplit",
]
[[package]]
name = "distant-plugin-ssh"
version = "0.21.0"
dependencies = [
"anyhow",
"assert_fs",
@ -3493,9 +3504,9 @@ dependencies = [
[[package]]
name = "typed-path"
version = "0.3.2"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b26db9a2991a51e1e805820c2cabfc974f625ad6457be8a3eaba4c78361484e"
checksum = "bbb9d13b8242894ff21f9990082b90a6410a43dcc6029ac4227a1467853ba781"
[[package]]
name = "typenum"

@ -3,7 +3,7 @@ name = "distant"
description = "Operate on a remote computer through file and process manipulation"
categories = ["command-line-utilities"]
keywords = ["cli"]
version = "0.20.0"
version = "0.21.0"
authors = ["Chip Senkbeil <chip@senkbeil.org>"]
edition = "2021"
homepage = "https://github.com/chipsenkbeil/distant"
@ -13,12 +13,13 @@ license = "MIT OR Apache-2.0"
[workspace]
members = [
"distant-auth",
"distant-core",
"distant-local",
"distant-net",
"distant-protocol",
"distant-ssh2",
"distant-core-auth",
"distant-core-net",
"distant-core-plugin",
"distant-core-protocol",
"distant-plugin-local",
"distant-plugin-ssh",
]
[profile.release]
@ -29,8 +30,8 @@ strip = true
[features]
default = ["vendored-openssl"]
openssl = ["distant-ssh2/openssl"]
vendored-openssl = ["distant-ssh2/vendored-openssl"]
openssl = ["distant-plugin-ssh/openssl"]
vendored-openssl = ["distant-plugin-ssh/vendored-openssl"]
[dependencies]
anyhow = "1.0.71"
@ -40,8 +41,8 @@ clap_complete = "4.3.0"
config = { version = "0.13.3", default-features = false, features = ["toml"] }
derive_more = { version = "0.99.17", default-features = false, features = ["display", "from", "error", "is_variant"] }
dialoguer = { version = "0.10.4", default-features = false }
distant-core = { version = "=0.20.0", path = "distant-core" }
distant-local = { version = "=0.20.0", path = "distant-local" }
distant-core = { version = "=0.21.0", path = "distant-core" }
distant-plugin-local = { version = "=0.21.0", path = "distant-plugin-local" }
directories = "5.0.1"
file-mode = "0.1.2"
flexi_logger = "0.25.5"
@ -59,13 +60,13 @@ tokio = { version = "1.28.2", features = ["full"] }
toml_edit = { version = "0.19.10", features = ["serde"] }
terminal_size = "0.2.6"
termwiz = "0.20.0"
typed-path = "0.3.2"
typed-path = "0.6.0"
which = "4.4.0"
winsplit = "0.1.0"
whoami = "1.4.0"
# Optional native SSH functionality
distant-ssh2 = { version = "=0.20.0", path = "distant-ssh2", optional = true }
distant-plugin-ssh = { version = "=0.21.0", path = "distant-plugin-ssh", optional = true }
[target.'cfg(unix)'.dependencies]
fork = "0.1.21"

@ -1,9 +1,9 @@
[package]
name = "distant-auth"
description = "Authentication library for distant, providing various implementations"
name = "distant-core-auth"
description = "Core authentication library for distant, providing various implementations"
categories = ["authentication"]
keywords = ["auth", "authentication", "async"]
version = "0.20.0"
version = "0.21.0"
authors = ["Chip Senkbeil <chip@senkbeil.org>"]
edition = "2021"
homepage = "https://github.com/chipsenkbeil/distant"

@ -1,9 +1,9 @@
[package]
name = "distant-net"
description = "Network library for distant, providing implementations to support client/server architecture"
name = "distant-core-net"
description = "Core network library for distant, providing implementations to support client/server architecture"
categories = ["network-programming"]
keywords = ["api", "async"]
version = "0.20.0"
version = "0.21.0"
authors = ["Chip Senkbeil <chip@senkbeil.org>"]
edition = "2021"
homepage = "https://github.com/chipsenkbeil/distant"
@ -17,7 +17,7 @@ bytes = "1.4.0"
chacha20poly1305 = "0.10.1"
const-str = "0.5.6"
derive_more = { version = "0.99.17", default-features = false, features = ["as_mut", "as_ref", "deref", "deref_mut", "display", "from", "error", "into", "into_iterator", "is_variant", "try_into"] }
distant-auth = { version = "=0.20.0", path = "../distant-auth" }
distant-core-auth = { version = "=0.21.0", path = "../distant-core-auth" }
dyn-clone = "1.0.11"
flate2 = "1.0.26"
hex = "0.4.3"
@ -37,7 +37,7 @@ strum = { version = "0.24.1", features = ["derive"] }
tokio = { version = "1.28.2", features = ["full"] }
[dev-dependencies]
distant-auth = { version = "=0.20.0", path = "../distant-auth", features = ["tests"] }
distant-core-auth = { version = "=0.21.0", path = "../distant-core-auth", features = ["tests"] }
env_logger = "0.10.0"
serde_json = "1.0.96"
tempfile = "3.5.0"

@ -1,8 +1,8 @@
use std::io;
use async_trait::async_trait;
use distant_auth::msg::*;
use distant_auth::{AuthHandler, Authenticate, Authenticator};
use distant_core_auth::msg::*;
use distant_core_auth::{AuthHandler, Authenticate, Authenticator};
use log::*;
use crate::common::{utils, FramedTransport, Transport};
@ -165,7 +165,7 @@ where
#[cfg(test)]
mod tests {
use distant_auth::tests::TestAuthHandler;
use distant_core_auth::tests::TestAuthHandler;
use test_log::test;
use tokio::sync::mpsc;

@ -14,7 +14,7 @@ use std::time::Duration;
use std::{convert, io};
use async_trait::async_trait;
use distant_auth::AuthHandler;
use distant_core_auth::AuthHandler;
#[cfg(windows)]
pub use windows::*;

@ -2,7 +2,7 @@ use std::io;
use std::ops::{Deref, DerefMut};
use async_trait::async_trait;
use distant_auth::{AuthHandler, Authenticate, Verifier};
use distant_core_auth::{AuthHandler, Authenticate, Verifier};
use log::*;
use serde::{Deserialize, Serialize};
use tokio::sync::oneshot;
@ -506,8 +506,8 @@ impl<T: Transport> Connection<T> {
mod tests {
use std::sync::Arc;
use distant_auth::msg::Challenge;
use distant_auth::{Authenticator, DummyAuthHandler};
use distant_core_auth::msg::Challenge;
use distant_core_auth::{Authenticator, DummyAuthHandler};
use test_log::test;
use super::*;

@ -11,7 +11,7 @@ use crate::common::{utils, Value};
/// Generates a new [`Header`] of key/value pairs based on literals.
///
/// ```
/// use distant_net::header;
/// use distant_core_net::header;
///
/// let _header = header!("key" -> "value", "key2" -> 123);
/// ```

@ -15,7 +15,7 @@ impl Version {
/// major version is `0`.
///
/// ```
/// use distant_net::common::Version;
/// use distant_core_net::common::Version;
///
/// // Matching versions are compatible
/// let a = Version::new(1, 2, 3);

@ -12,6 +12,6 @@ pub mod server;
pub use client::{Client, ReconnectStrategy};
/// Authentication functionality tied to network operations.
pub use distant_auth as auth;
pub use distant_core_auth as auth;
pub use server::Server;
pub use {log, paste};

@ -1,7 +1,7 @@
use std::io;
use distant_auth::msg::{Authentication, AuthenticationResponse};
use distant_auth::AuthHandler;
use distant_core_auth::msg::{Authentication, AuthenticationResponse};
use distant_core_auth::AuthHandler;
use log::*;
use crate::client::Client;
@ -298,7 +298,7 @@ impl ManagerClient {
#[cfg(test)]
mod tests {
use distant_auth::DummyAuthHandler;
use distant_core_auth::DummyAuthHandler;
use super::*;
use crate::client::UntypedClient;

@ -1,4 +1,4 @@
use distant_auth::msg::AuthenticationResponse;
use distant_core_auth::msg::AuthenticationResponse;
use serde::{Deserialize, Serialize};
use super::{ManagerAuthenticationId, ManagerChannelId};

@ -1,4 +1,4 @@
use distant_auth::msg::Authentication;
use distant_core_auth::msg::Authentication;
use serde::{Deserialize, Serialize};
use super::{ConnectionInfo, ConnectionList, ManagerAuthenticationId, ManagerChannelId, SemVer};

@ -3,7 +3,7 @@ use std::io;
use std::sync::Arc;
use async_trait::async_trait;
use distant_auth::msg::AuthenticationResponse;
use distant_core_auth::msg::AuthenticationResponse;
use log::*;
use tokio::sync::{oneshot, RwLock};

@ -3,8 +3,8 @@ use std::io;
use std::sync::Arc;
use async_trait::async_trait;
use distant_auth::msg::*;
use distant_auth::Authenticator;
use distant_core_auth::msg::*;
use distant_core_auth::Authenticator;
use tokio::sync::{oneshot, RwLock};
use crate::manager::data::{ManagerAuthenticationId, ManagerResponse};

@ -2,7 +2,7 @@ use std::future::Future;
use std::io;
use async_trait::async_trait;
use distant_auth::Authenticator;
use distant_core_auth::Authenticator;
use crate::client::UntypedClient;
use crate::common::{Destination, Map};
@ -47,7 +47,7 @@ where
/// Generates a new [`LaunchHandler`] for the provided anonymous function in the form of
///
/// ```
/// use distant_net::boxed_launch_handler;
/// use distant_core_net::boxed_launch_handler;
///
/// let _handler = boxed_launch_handler!(|destination, options, authenticator| {
/// todo!("Implement handler logic.");
@ -117,7 +117,7 @@ where
/// Generates a new [`ConnectHandler`] for the provided anonymous function in the form of
///
/// ```
/// use distant_net::boxed_connect_handler;
/// use distant_core_net::boxed_connect_handler;
///
/// let _handler = boxed_connect_handler!(|destination, options, authenticator| {
/// todo!("Implement handler logic.");

@ -3,7 +3,7 @@ use std::sync::Arc;
use std::time::Duration;
use async_trait::async_trait;
use distant_auth::Verifier;
use distant_core_auth::Verifier;
use log::*;
use serde::de::DeserializeOwned;
use serde::Serialize;
@ -265,7 +265,7 @@ mod tests {
use std::time::Duration;
use async_trait::async_trait;
use distant_auth::{AuthenticationMethod, DummyAuthHandler, NoneAuthenticationMethod};
use distant_core_auth::{AuthenticationMethod, DummyAuthHandler, NoneAuthenticationMethod};
use test_log::test;
use tokio::sync::mpsc;

@ -1,7 +1,7 @@
use std::io;
use std::net::IpAddr;
use distant_auth::Verifier;
use distant_core_auth::Verifier;
use serde::de::DeserializeOwned;
use serde::Serialize;
@ -63,7 +63,7 @@ mod tests {
use std::net::{Ipv6Addr, SocketAddr};
use async_trait::async_trait;
use distant_auth::DummyAuthHandler;
use distant_core_auth::DummyAuthHandler;
use test_log::test;
use super::*;

@ -1,7 +1,7 @@
use std::io;
use std::path::Path;
use distant_auth::Verifier;
use distant_core_auth::Verifier;
use serde::de::DeserializeOwned;
use serde::Serialize;
@ -62,7 +62,7 @@ where
#[cfg(test)]
mod tests {
use async_trait::async_trait;
use distant_auth::DummyAuthHandler;
use distant_core_auth::DummyAuthHandler;
use tempfile::NamedTempFile;
use test_log::test;

@ -1,7 +1,7 @@
use std::ffi::{OsStr, OsString};
use std::io;
use distant_auth::Verifier;
use distant_core_auth::Verifier;
use serde::de::DeserializeOwned;
use serde::Serialize;
@ -74,7 +74,7 @@ where
#[cfg(test)]
mod tests {
use async_trait::async_trait;
use distant_auth::DummyAuthHandler;
use distant_core_auth::DummyAuthHandler;
use test_log::test;
use super::*;

@ -5,7 +5,7 @@ use std::sync::{Arc, Weak};
use std::task::{Context, Poll};
use std::time::{Duration, Instant};
use distant_auth::Verifier;
use distant_core_auth::Verifier;
use log::*;
use serde::de::DeserializeOwned;
use serde::Serialize;
@ -619,7 +619,7 @@ mod tests {
use std::sync::atomic::{AtomicBool, Ordering};
use async_trait::async_trait;
use distant_auth::DummyAuthHandler;
use distant_core_auth::DummyAuthHandler;
use test_log::test;
use super::*;

@ -1,12 +1,12 @@
use std::io;
use async_trait::async_trait;
use distant_net::auth::{DummyAuthHandler, Verifier};
use distant_net::boxed_connect_handler;
use distant_net::client::Client;
use distant_net::common::{Destination, InmemoryTransport, Map, OneshotListener};
use distant_net::manager::{Config, ManagerClient, ManagerServer};
use distant_net::server::{RequestCtx, Server, ServerHandler};
use distant_core_net::auth::{DummyAuthHandler, Verifier};
use distant_core_net::boxed_connect_handler;
use distant_core_net::client::Client;
use distant_core_net::common::{Destination, InmemoryTransport, Map, OneshotListener};
use distant_core_net::manager::{Config, ManagerClient, ManagerServer};
use distant_core_net::server::{RequestCtx, Server, ServerHandler};
use log::*;
use test_log::test;

@ -1,8 +1,8 @@
use async_trait::async_trait;
use distant_auth::{DummyAuthHandler, Verifier};
use distant_net::client::Client;
use distant_net::common::{InmemoryTransport, OneshotListener};
use distant_net::server::{RequestCtx, Server, ServerHandler};
use distant_core_auth::{DummyAuthHandler, Verifier};
use distant_core_net::client::Client;
use distant_core_net::common::{InmemoryTransport, OneshotListener};
use distant_core_net::server::{RequestCtx, Server, ServerHandler};
use log::*;
use test_log::test;

@ -1,8 +1,8 @@
use async_trait::async_trait;
use distant_auth::{DummyAuthHandler, Verifier};
use distant_net::client::Client;
use distant_net::common::{InmemoryTransport, OneshotListener, Request};
use distant_net::server::{RequestCtx, Server, ServerHandler};
use distant_core_auth::{DummyAuthHandler, Verifier};
use distant_core_net::client::Client;
use distant_core_net::common::{InmemoryTransport, OneshotListener, Request};
use distant_core_net::server::{RequestCtx, Server, ServerHandler};
use log::*;
use test_log::test;

@ -0,0 +1,18 @@
[package]
name = "distant-core-plugin"
description = "Core plugin library for distant that provides everything needed to build a plugin"
categories = []
keywords = []
version = "0.21.0"
authors = ["Chip Senkbeil <chip@senkbeil.org>"]
edition = "2021"
homepage = "https://github.com/chipsenkbeil/distant"
repository = "https://github.com/chipsenkbeil/distant"
readme = "README.md"
license = "MIT OR Apache-2.0"
[dependencies]
async-trait = "0.1.68"
distant-core-auth = { version = "=0.21.0", path = "../distant-core-auth" }
distant-core-protocol = { version = "=0.21.0", path = "../distant-core-protocol" }
serde = { version = "1.0.163", features = ["derive"] }

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save