1
0
Fork 0
forked from wry/wry

config: add pid client criteria

This commit is contained in:
Julian Orth 2025-05-03 12:46:56 +02:00
parent 587ffc7ee5
commit a952e658da
13 changed files with 55 additions and 1 deletions

View file

@ -233,6 +233,7 @@ pub struct ClientMatch {
pub sandbox_instance_id_regex: Option<String>,
pub sandboxed: Option<bool>,
pub uid: Option<i32>,
pub pid: Option<i32>,
}
#[derive(Debug, Clone)]

View file

@ -49,7 +49,7 @@ impl Parser for ClientMatchParser<'_> {
sandbox_app_id,
sandbox_app_id_regex,
),
(sandbox_instance_id, sandbox_instance_id_regex, uid),
(sandbox_instance_id, sandbox_instance_id_regex, uid, pid),
) = ext.extract((
(
opt(str("name")),
@ -67,6 +67,7 @@ impl Parser for ClientMatchParser<'_> {
opt(str("sandbox-instance-id")),
opt(str("sandbox-instance-id-regex")),
opt(s32("uid")),
opt(s32("pid")),
),
))?;
let mut not = None;
@ -108,6 +109,7 @@ impl Parser for ClientMatchParser<'_> {
sandbox_instance_id_regex: sandbox_instance_id_regex.despan_into(),
sandboxed: sandboxed.despan(),
uid: uid.despan(),
pid: pid.despan(),
})
}
}

View file

@ -121,6 +121,7 @@ impl Rule for ClientRule {
value_ref!(SandboxInstanceId, sandbox_instance_id);
value_ref!(SandboxInstanceIdRegex, sandbox_instance_id_regex);
value!(Uid, uid);
value!(Pid, pid);
bool!(Sandboxed, sandboxed);
Some(())
}