Keep Dosh server service alive
ci / test (push) Has been cancelled
ci / fuzz-smoke (push) Has been cancelled
ci / windows-client (push) Has been cancelled
ci / package-release (linux-x86_64, ubuntu-latest) (push) Has been cancelled
ci / package-release (macos-aarch64, macos-14) (push) Has been cancelled
ci / package-release (macos-x86_64, macos-13) (push) Has been cancelled
ci / package-release (windows-x86_64, windows-latest) (push) Has been cancelled
ci / remote-bench (push) Has been cancelled

This commit is contained in:
DuProcess
2026-07-03 14:51:47 -04:00
parent f1a3de7730
commit a8ba852f16
5 changed files with 8 additions and 4 deletions
Generated
+1 -1
View File
@@ -436,7 +436,7 @@ dependencies = [
[[package]] [[package]]
name = "dosh" name = "dosh"
version = "0.1.15" version = "0.1.16"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"base64", "base64",
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "dosh" name = "dosh"
version = "0.1.15" version = "0.1.16"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
+1 -1
View File
@@ -426,7 +426,7 @@ Wants=network-online.target
[Service] [Service]
Type=simple Type=simple
ExecStart=$bindir/dosh-server serve ExecStart=$bindir/dosh-server serve
Restart=on-failure Restart=always
RestartSec=1 RestartSec=1
KillMode=process KillMode=process
+1 -1
View File
@@ -6,7 +6,7 @@ Wants=network-online.target
[Service] [Service]
Type=simple Type=simple
ExecStart=%h/.local/bin/dosh-server serve ExecStart=%h/.local/bin/dosh-server serve
Restart=on-failure Restart=always
RestartSec=1 RestartSec=1
KillMode=process KillMode=process
+4
View File
@@ -25,6 +25,10 @@ fn systemd_service_does_not_sandbox_remote_shells() {
let install = include_str!("../install.sh"); let install = include_str!("../install.sh");
for raw in [service, install] { for raw in [service, install] {
assert!(raw.contains("KillMode=process")); assert!(raw.contains("KillMode=process"));
assert!(
raw.contains("Restart=always"),
"dosh-server should come back after accidental SIGTERM while preserving child shells"
);
for directive in [ for directive in [
"NoNewPrivileges=", "NoNewPrivileges=",
"PrivateTmp=", "PrivateTmp=",