-
-
Notifications
You must be signed in to change notification settings - Fork 48
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
Implement connection timeout on the VM-side of qrexec #8476
Comments
This will make #5343 much less severe. Recover will involve just waiting few seconds. |
If remote VM fails to establish (already allowed by the policy) connection, the local side (qrexec-client-vm) will wait indefinitely. Similarly, if the calling side (qrexec-client-vm) do not finish connection setup (gets killed early? or maybe the whole VM goes down?), there will be a process waiting on the remote side (either qrexec-fork-server child, or qrexec-agent child). Solve this issue by adding connection timeout similar to what qrexec-client (in dom0) does. Since both libvchan_server_init() and libvchan_client_init() are involved, add new function that can handle both. This code is shared between qrexec-client-vm and qrexec-fork-server, so both are covered. Fixes QubesOS/qubes-issues#8476
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The component
|
Automated announcement from builder-github The component
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The component
|
Automated announcement from builder-github The component
|
How to file a helpful issue
The problem you're addressing (if any)
If remote VM fails to establish (already allowed by the policy) connection, the local side (qrexec-client-vm) will wait indefinitely. Similarly, if the calling side (qrexec-client-vm) do not finish connection setup (gets killed early? or maybe the whole VM goes down?), there will be a process waiting on the remote side (either qrexec-fork-server child, or qrexec-agent child).
There is built-in handling for remote domain dying, but due to XSA-115 fix it stopped working. While restoring this functionality is a matter of a simple configuration, it doesn't cover all the cases, so it isn't enough.
The solution you'd like
Implement connection timeout, similar to what
qrexec-client
in dom0 has.The value to a user, and who that user might be
Less long-lasting issues even if something goes wrong for a short time.
The text was updated successfully, but these errors were encountered: