2020-10-03 09:35:18 +03:00
|
|
|
[package]
|
|
|
|
name = "wezterm-mux-server"
|
|
|
|
version = "0.1.0"
|
|
|
|
authors = ["Wez Furlong <wez@wezfurlong.org>"]
|
|
|
|
edition = "2018"
|
|
|
|
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
|
|
|
|
[dependencies]
|
|
|
|
anyhow = "1.0"
|
2020-10-05 07:07:40 +03:00
|
|
|
async_ossl = { path = "../async_ossl" }
|
2020-10-03 09:35:18 +03:00
|
|
|
codec = { path = "../codec" }
|
|
|
|
config = { path = "../config" }
|
2020-10-25 09:29:52 +03:00
|
|
|
env-bootstrap = { path = "../env-bootstrap" }
|
2020-10-03 09:35:18 +03:00
|
|
|
filedescriptor = { version="0.7", path = "../filedescriptor" }
|
2020-10-05 07:07:40 +03:00
|
|
|
futures = "0.3"
|
2020-10-03 09:35:18 +03:00
|
|
|
hostname = "0.3"
|
2020-10-04 19:39:28 +03:00
|
|
|
libc = "0.2"
|
2020-10-03 09:35:18 +03:00
|
|
|
log = "0.4"
|
|
|
|
mux = { path = "../mux" }
|
|
|
|
openssl = "0.10"
|
|
|
|
portable-pty = { path = "../pty", features = ["serde_support"]}
|
|
|
|
promise = { path = "../promise" }
|
|
|
|
rangeset = { path = "../rangeset" }
|
2020-10-04 20:05:31 +03:00
|
|
|
rcgen = "0.8"
|
2020-10-03 20:36:23 +03:00
|
|
|
smol = "1.2"
|
2020-10-03 09:35:18 +03:00
|
|
|
structopt = "0.3"
|
|
|
|
umask = { path = "../umask" }
|
|
|
|
url = "2"
|
|
|
|
wezterm-term = { path = "../term", features=["use_serde"] }
|
|
|
|
|
|
|
|
[features]
|
|
|
|
default = ["vendor_openssl"]
|
|
|
|
# FIXME: find a way to magically disable vendor_openssl only on linux!
|
|
|
|
vendor_openssl = ["openssl/vendored"]
|
2020-10-03 20:36:23 +03:00
|
|
|
|
|
|
|
[target."cfg(windows)".dependencies]
|
|
|
|
uds_windows = "0.1"
|
fixup starting mux on windows
* Taught wezterm-mux-server how to `--daemonize` on windows
* Removed pty based command spawn used to spawn unix domain servers.
This was present because it was the only way to successfully spawn
wsl in the past. What I'm finding today is that it doesn't work
at all for me, generating an `0xc0000142` Application failed to
initialize error. A plain command builder spawn seems to work,
so that's what we're going with.
* Ensure that we put `.exe` on executable name on windows, otherwise
the spawn may fail.
* `Path::exists()` always returns false for unix domain sockets on
Windows, so unconditionally try to remove the socket before binding,
otherwise the bind will falsely fail, claiming that another process
is already bound.
The docs for mux will need to be updated to show how to revise them
for the new mux server invocation:
```lua
unix_domains = {
{
name = "wsl",
serve_command = {"wsl", "wezterm-mux-server", "--daemonize"}
},
}
```
2020-10-06 06:29:47 +03:00
|
|
|
winapi = { version = "0.3", features = [ "winuser" ]}
|