mirror of
https://github.com/outbackdingo/hyprcosmic.git
synced 2026-08-25 14:53:21 +00:00
watch: source-include expansion by textual splicing so diagnostic spans stay correct across merged files; debounced inotify; a bad edit prints diagnostics and keeps watching rather than killing the daemon. assets: plan/apply split mirroring emit.rs. Tarball entries and symlink/ hardlink targets are validated before extraction, sharing one routine between plan and apply so the check cannot drift. Added tests/archive_escape.rs as independent verification of that boundary. The tar crate refuses to build hostile archives through its safe API, so the fixtures write GNU header name/linkname bytes directly — the same thing a malicious archiver does. Asserts on the filesystem afterwards rather than on returned errors, and covers symlink indirection, where neither entry path contains '..' yet a later write still escapes. 99 tests.
24 lines
561 B
TOML
24 lines
561 B
TOML
[package]
|
|
name = "cosmic-conf"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
license = "GPL-3.0-only"
|
|
description = "Compiles a single Hyprland-idiom config file into the cosmic-config tree"
|
|
|
|
[dependencies]
|
|
flate2 = "1.1.9"
|
|
notify = "8.2.0"
|
|
ron = "0.12"
|
|
serde = { version = "1.0.229", features = ["derive"] }
|
|
tar = "0.4.46"
|
|
|
|
[features]
|
|
# `emit` links cosmic-config and the component crates. Off by default so the
|
|
# pure units (parser, schema, resolve) build and test without the libcosmic
|
|
# dependency graph.
|
|
default = []
|
|
emit = []
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3.27.0"
|