Skip to content

Commit d2aebdd

Browse files
committed
New pseudoterminal driver
1 parent 6d904d3 commit d2aebdd

9 files changed

Lines changed: 395 additions & 182 deletions

File tree

Cargo.lock

Lines changed: 11 additions & 52 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,19 @@ hyper = "1"
2222
indicatif = "0.18"
2323
libc = "0.2"
2424
memmap2 = "0.9"
25-
nix = "0.30"
2625
p256 = { version = "0.13", features = ["ecdsa"] }
2726
pem-rfc7468 = { version = "0.7", features = ["std"] }
2827
permission-slip-client = { git = "https://github.com/oxidecomputer/permission-slip" }
2928
permission-slip-common = { git = "https://github.com/oxidecomputer/permission-slip" }
3029
progenitor = "0.11"
3130
progenitor-client = "0.11"
31+
pwd = "1"
3232
rand = "0.8"
3333
rand_core = "0.6"
3434
reqwest = "0.12"
3535
rlimit = "0.10"
3636
rusqlite = { version = "0.37", features = ["blob", "chrono", "limits", "modern_sqlite", "rusqlite-macros"] }
37-
rust-pty = "0.1"
38-
rustix = "1"
37+
rustix = { version = "1", features = ["process", "pty"] }
3938
rustyline = "17"
4039
schemars = { version = "0.8", features = ["chrono", "preserve_order"] }
4140
serde = "1"

common/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ pem-rfc7468.workspace = true
1818
rand.workspace = true
1919
rand_core.workspace = true
2020
rlimit.workspace = true
21-
rust-pty.workspace = true
2221
rustix.workspace = true
2322
schemars.workspace = true
2423
serde.workspace = true

common/src/session.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ pub enum SessionError {
190190
Join(#[from] tokio::task::JoinError),
191191
#[error("Can't (de)serialize JSON session control message: {0}")]
192192
Json(#[from] serde_json::Error),
193-
#[error("Session pseudoterminal error: {0}")]
194-
Pty(#[from] rust_pty::PtyError),
193+
#[error("Can't send shutdown signal")]
194+
Shutdown,
195195
#[error("WebSocket error: {0}")]
196196
Tungstenite(#[from] tokio_tungstenite::tungstenite::error::Error),
197197
}

server/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ hyper.workspace = true
2323
libc.workspace = true
2424
memmap2.workspace = true
2525
p256.workspace = true
26+
pwd.workspace = true
2627
rand_core.workspace = true
2728
rusqlite.workspace = true
28-
rust-pty.workspace = true
2929
rustix.workspace = true
3030
schemars.workspace = true
3131
serde.workspace = true

server/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@ extern crate function_name;
55

66
pub mod database;
77
pub mod manager;
8+
pub mod pty;
89
pub mod server;
910
pub mod session;

0 commit comments

Comments
 (0)