From 8a833406614b503dcd647015d3cfd239faf5cb0c Mon Sep 17 00:00:00 2001 From: sterlingjensen <5555776+sterlingjensen@users.noreply.github.com> Date: Sat, 14 Dec 2019 23:21:54 -0600 Subject: [PATCH] Add conpty dynamic loading restrictions docs --- alacritty/Cargo.toml | 2 +- alacritty_terminal/Cargo.toml | 5 ++++- alacritty_terminal/src/tty/windows/conpty.rs | 4 ++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/alacritty/Cargo.toml b/alacritty/Cargo.toml index 9b1cfbe..be8468a 100644 --- a/alacritty/Cargo.toml +++ b/alacritty/Cargo.toml @@ -43,7 +43,7 @@ dirs = "2.0.2" x11-dl = "2" [target.'cfg(windows)'.dependencies] -winapi = { version = "0.3.7", features = ["impl-default", "winuser", "synchapi", "roerrorapi", "winerror", "wincon", "wincontypes"]} +winapi = { version = "0.3.7", features = ["impl-default", "wincon"]} [target.'cfg(windows)'.build-dependencies] embed-resource = "1.3" diff --git a/alacritty_terminal/Cargo.toml b/alacritty_terminal/Cargo.toml index 43ee270..168ecdd 100644 --- a/alacritty_terminal/Cargo.toml +++ b/alacritty_terminal/Cargo.toml @@ -35,7 +35,10 @@ winpty = { path = "../winpty" } mio-named-pipes = "0.1" miow = "0.3" dunce = "1.0" -winapi = { version = "0.3.7", features = ["impl-default", "winuser", "synchapi", "roerrorapi", "winerror", "wincon", "wincontypes"]} +winapi = { version = "0.3.7", features = [ + "impl-default", "basetsd", "libloaderapi", "minwindef", "ntdef", "processthreadsapi", "winbase", + "wincon", "wincontypes", "winerror", "winnt", "winuser", +]} widestring = "0.4" mio-anonymous-pipes = "0.1" diff --git a/alacritty_terminal/src/tty/windows/conpty.rs b/alacritty_terminal/src/tty/windows/conpty.rs index d01f67b..5e5a011 100644 --- a/alacritty_terminal/src/tty/windows/conpty.rs +++ b/alacritty_terminal/src/tty/windows/conpty.rs @@ -40,6 +40,10 @@ use crate::term::SizeInfo; use crate::tty::windows::child::ChildExitWatcher; use crate::tty::windows::Pty; +// TODO: Replace with winapi's implementation. This cannot be +// done until a safety net is in place for versions of Windows +// that do not support the ConPTY api, as such versions will +// pass unit testing - but fail to actually function. /// Dynamically-loaded Pseudoconsole API from kernel32.dll /// /// The field names are deliberately PascalCase as this matches