-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support socket services with MSG_JUST_EXEC
#142
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #142 +/- ##
==========================================
+ Coverage 77.23% 77.35% +0.11%
==========================================
Files 53 53
Lines 9172 9210 +38
==========================================
+ Hits 7084 7124 +40
+ Misses 2088 2086 -2 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This has now conflicts on tests (some of this changes were also in #144 )
bb9d649
to
3672f5f
Compare
OpenQA test summaryComplete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.2&build=2024041514-4.2&flavor=pull-requests New failures, excluding unstableCompared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.2&build=2024041501-4.2&flavor=update
Failed tests30 failures
Fixed failuresCompared to: https://openqa.qubes-os.org/tests/97064#dependencies 5 fixed
Unstable tests
|
6f5c442
to
2aef335
Compare
This separates _finding_ a qrexec service (and, if necessary, connecting to a socket) from actually _executing_ the service and processing I/O. This allows qrexec-agent to handle MSG_JUST_EXEC correctly, because it can connect to a socket-based service without having to be prepared for an executable service to be run immediately. Instead, qrexec-agent spawns an executable service using its own spawning routines that do support MSG_JUST_EXEC. This also adds tests for RPC services (both executable and socket) with MSG_JUST_EXEC. Previously, these were not tested, despite being essential to a running system. For instance, the Qubes app menu uses MSG_JUST_EXEC to invoke the qubes.StartApp service every time it launches an application in a non-disposable VM from dom0.
2aef335
to
dfdfb33
Compare
This separates finding a qrexec service (and, if necessary, connecting to a socket) from actually executing the service and processing I/O. This allows qrexec-agent to handle
MSG_JUST_EXEC
correctly, because it can connect to a socket-based service without having to be prepared for an executable service to be run immediately. Instead, qrexec-agent spawns an executable service using its own spawning routines that do supportMSG_JUST_EXEC
.This also adds tests for RPC services (both executable and socket) with
MSG_JUST_EXEC
. Previously, these were not tested, despite being essential to a running system. For instance, the Qubes app menu usesMSG_JUST_EXEC
to invoke the qubes.StartApp service every time it launches an application in a non-disposable VM from dom0.