From ca6572f7c96fd14733b42ad6dcd361bc136093ed Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Wed, 12 Aug 2026 03:08:50 +0000 Subject: Validate direct systemd wants service facts --- src/manifest.rs | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/manifest.rs b/src/manifest.rs index 5b7ae77..ed326e1 100644 --- a/src/manifest.rs +++ b/src/manifest.rs @@ -279,9 +279,25 @@ fn portable_path(path: &Path) -> Result { } fn is_enabled_service(path: &str) -> bool { - path.starts_with("etc/systemd/system/") - && path.contains(".target.wants/") - && path.ends_with(".service") + let mut components = path.split('/'); + matches!( + ( + components.next(), + components.next(), + components.next(), + components.next(), + components.next(), + components.next(), + ), + ( + Some("etc"), + Some("systemd"), + Some("system"), + Some(wants), + Some(service), + None, + ) if wants.ends_with(".target.wants") && service.ends_with(".service") + ) } fn is_internal_metadata_path(path: &str) -> bool { -- cgit v1.2.3