Skip to content
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

Eliminate libqrexec-utils #9191

Open
4 tasks
DemiMarie opened this issue May 4, 2024 · 0 comments
Open
4 tasks

Eliminate libqrexec-utils #9191

DemiMarie opened this issue May 4, 2024 · 0 comments
Labels
C: core P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.

Comments

@DemiMarie
Copy link

How to file a helpful issue

The problem you're addressing (if any)

libqrexec-utils is a shared library, creating compatibility requirements that make qrexec harder to improve. However, it should have no users outside of Qubes OS itself.

The solution you'd like

Replace it with a static library linked in qrexec-client, qrexec-daemon, qrexec-agent, qrexec-client-vm, and qrexec-fork-server. The first two can be replace by a single multi-call binary, as can the last three. Therefore, there will be no increase in code size.

The value to a user, and who that user might be

Developers will be able to ship new features more easily.

Completion criteria checklist

  • Convert qrexec-client and qrexec-daemon into multi-call binary.
  • Convert qrexec-agent, qrexec-fork-server, and qrexec-client-vm into multi-call binary.
  • Link libqrexec-utils statically instead of dynamically.
  • Stop shipping libqrexec-utils or libqrexec-utils.h (but keep shipping qrexec.h, as that’s the protocol definition).
@DemiMarie DemiMarie added T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. C: core P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. labels May 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: core P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.
Projects
None yet
Development

No branches or pull requests

1 participant