-
-
Notifications
You must be signed in to change notification settings - Fork 59
Allow spaces in values for qvm-features-request #9775
Copy link
Copy link
Labels
C: coreThis issue pertains to a Qubes core component.This issue pertains to a Qubes core component.P: defaultPriority: default. Default priority for new issues, to be replaced given sufficient information.Priority: default. Default priority for new issues, to be replaced given sufficient information.affects-4.3This issue affects Qubes OS 4.3.This issue affects Qubes OS 4.3.diagnosedTechnical diagnosis of this issue has been performed.Technical diagnosis of this issue has been performed.pr submittedA pull request has been submitted for this issue.A pull request has been submitted for this issue.r4.2-host-stabler4.2-stabler4.3-host-cur-test
Metadata
Metadata
Assignees
Labels
C: coreThis issue pertains to a Qubes core component.This issue pertains to a Qubes core component.P: defaultPriority: default. Default priority for new issues, to be replaced given sufficient information.Priority: default. Default priority for new issues, to be replaced given sufficient information.affects-4.3This issue affects Qubes OS 4.3.This issue affects Qubes OS 4.3.diagnosedTechnical diagnosis of this issue has been performed.Technical diagnosis of this issue has been performed.pr submittedA pull request has been submitted for this issue.A pull request has been submitted for this issue.r4.2-host-stabler4.2-stabler4.3-host-cur-test
Type
Fields
Give feedbackNo fields configured for Bug.
Qubes OS release
Qubes OS 4.3
Brief summary
qvm-features-requestandqubes-core-adminexhibits very strange failure patterns if you callqvm-features-requestfrom inside a template and try to set a key-value pair with a value that contains a space. In essence:So far the behavior pattern seems to be reproducible, but somewhat unpredictable.
Steps to reproduce
sudo systemctl stop qubesd.sudo /usr/bin/qubesd -vvfor debugging.fedora-41-xfce, butdebian-12-xfcealso works.qvm-features-requestcommands, one at a time:Call 1: Run
qvm-features-request abc=def --commit.Call 2: Run
qvm-features-request abc.def=def --commit.Call 3: Run
qvm-features-request abc="def ghi" --commit.Call 4: Run
qvm-features-request abc.def=def --commit.Call 5: Run
qvm-features-request abc=def --commit.Call 6: Run
qvm-features-request abc.def=def --commit.Call 7: Run
qvm-features-request abc.def="def ghi" --commit.Call 8: Run
qvm-features-request abc.def=def --commit.Expected behavior
All
qvm-features-requestcalls should exit non-zero, regardless of whether they contain spaces or not. The calls should ultimately be no-ops since dom0 has no code to actually set the requested features.Actual behavior
The following pattern is exhibited, with anomalies bolded:
Call 1: Succeeds.
Call 2: Succeeds.
Call 3: Fails.
Call 4: Fails (even though the value doesn't contain a space).
Call 5: Succeeds.
Call 6: Succeeds (apparently the previous success somehow got this case un-stuck?)
Call 7: Fails.
Call 8: Succeeds (maybe because we're dealing with the same key in both calls 7 and 8?)
Additional information
Every time a successful call is made,
qubesdoutputs a log message similar toqubes.utils: Renamed file: '/var/lib/qubes/qubes.xml~XXXXXXX' -> '/var/lib/qubes/qubes.xml'(whereXXXXXXXare what appear to be random characters). Every time a failed call is made,qubesdoutputs a log message likeapp: permission denied for call b'qubes.FeaturesRequest'+b'' (b'fedora-41-xfce' -> b'dom0') with payload of 0 bytes.