Closes #34393 Currently, we’re using `zed.exe --askpass` kind of like an `nc` substitute, it prints out the SSH password to stdout with something like `println!("user-pwd")`. `ssh.exe` then reads the password from stdout so it can establish the connection. The problem is that in release builds we set `subsystem=windows` to avoid Windows spawning a black console window by default. The side effect is that `zed.exe` no longer has a stdout, so `ssh.exe` can’t read the password. Through testing, I confirmed that neither allocating a new console for `zed.exe` nor attaching it to the parent process’s stdout resolves the issue. As a result, this PR updates the implementation to use `cli.exe --askpass` instead. TODO: - [ ] Check that the `cli` path is correct on macOS - [ ] Check that the `cli` path is correct on Linux Release Notes: - N/A --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
48 lines
926 B
TOML
48 lines
926 B
TOML
[package]
|
|
name = "cli"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
license = "GPL-3.0-or-later"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
path = "src/cli.rs"
|
|
doctest = false
|
|
|
|
[[bin]]
|
|
name = "cli"
|
|
path = "src/main.rs"
|
|
|
|
[features]
|
|
no-bundled-uninstall = []
|
|
default = []
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
askpass.workspace = true
|
|
clap.workspace = true
|
|
collections.workspace = true
|
|
ipc-channel = "0.19"
|
|
parking_lot.workspace = true
|
|
paths.workspace = true
|
|
release_channel.workspace = true
|
|
serde.workspace = true
|
|
util.workspace = true
|
|
tempfile.workspace = true
|
|
workspace-hack.workspace = true
|
|
|
|
[target.'cfg(any(target_os = "linux", target_os = "freebsd"))'.dependencies]
|
|
exec.workspace = true
|
|
fork.workspace = true
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
core-foundation.workspace = true
|
|
core-services = "0.2"
|
|
plist = "1.3"
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
windows.workspace = true
|