Preserve required UAC elevation for game_setup.cmd, game_start.cmd, and server_start.cmd through a fixed-role elevated launcher worker. The worker reloads and matches embedded catalog authority, verifies the exact script from a no-follow locked handle, resolves System32 cmd.exe, and transfers path locks into the command process. Setup still waits for completion; game and server return after the verified handoff while their command process retains the locks. Unmanifested, changed, reparse-backed, markerless, and streamed-only scripts fail closed. Test Plan: - just test - just clippy - just frontend-test - just build-fixture - nine Linux-visible authority/parser/digest tests - Windows-only lock-transfer test added but not run (no Windows target/runtime available) - git diff --check
71 lines
1.9 KiB
TOML
71 lines
1.9 KiB
TOML
[package]
|
|
name = "lanspread-tauri-deno-ts"
|
|
version = "0.1.0"
|
|
description = "A Tauri App"
|
|
authors = ["you"]
|
|
edition = "2024"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[lib]
|
|
crate-type = ["cdylib", "rlib", "staticlib"]
|
|
doctest = false
|
|
# The `_lib` suffix may seem redundant but it is necessary
|
|
# to make the lib name unique and wouldn't conflict with the bin name.
|
|
# This seems to be only an issue on Windows, see https://github.com/rust-lang/cargo/issues/8519
|
|
name = "lanspread_tauri_deno_ts_lib"
|
|
test = true
|
|
|
|
[dependencies]
|
|
lanspread-compat = { path = "../../lanspread-compat" }
|
|
lanspread-db = { path = "../../lanspread-db" }
|
|
# local
|
|
lanspread-peer = { path = "../../lanspread-peer" }
|
|
|
|
# external
|
|
base64 = { workspace = true }
|
|
blake3 = { workspace = true }
|
|
cap-fs-ext = { workspace = true }
|
|
cap-primitives = { workspace = true }
|
|
eyre = { workspace = true }
|
|
log = { workspace = true }
|
|
mimalloc = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
tauri = { workspace = true }
|
|
tauri-plugin-dialog = { workspace = true }
|
|
tauri-plugin-shell = { workspace = true }
|
|
tauri-plugin-store = { workspace = true }
|
|
time = { workspace = true }
|
|
tokio = { workspace = true }
|
|
tokio-util = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-log = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
walkdir = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
sqlx = { workspace = true }
|
|
|
|
[build-dependencies]
|
|
lanspread-compat = { path = "../../lanspread-compat" }
|
|
serde_json = { workspace = true }
|
|
tauri-build = { version = "2", features = [] }
|
|
tokio = { workspace = true }
|
|
|
|
[target."cfg(windows)".dependencies]
|
|
windows = {
|
|
workspace = true,
|
|
features = [
|
|
"Win32_Security",
|
|
"Win32_Storage_FileSystem",
|
|
"Win32_System_SystemInformation",
|
|
]
|
|
}
|
|
|
|
[lints.clippy]
|
|
needless_pass_by_value = "allow"
|
|
pedantic = { level = "warn", priority = -1 }
|
|
todo = "warn"
|
|
unwrap_used = "warn"
|