-
-
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
Support TCP socket qrexec services #9037
Labels
C: core
C: doc
C: networking
C: tests
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
marmarek
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
Mar 16, 2024
If the host and port are omitted, could they be taken from the service arguments? |
That's a very good question. It would allow socat-less |
I think that is a good idea. |
DemiMarie
added a commit
to DemiMarie/qubes-core-qrexec
that referenced
this issue
Apr 7, 2024
Both IPv4 and IPv6 are supported. The port or both host and port can be taken from the service argument instead of the symbolic link name. Fixes: QubesOS/qubes-issues#9037
DemiMarie
added a commit
to DemiMarie/qubes-core-qrexec
that referenced
this issue
Apr 7, 2024
Both IPv4 and IPv6 are supported. The port or both host and port can be taken from the service argument instead of the symbolic link name. Fixes: QubesOS/qubes-issues#9037
DemiMarie
added a commit
to DemiMarie/qubes-core-qrexec
that referenced
this issue
Apr 9, 2024
Both IPv4 and IPv6 are supported. The port or both host and port can be taken from the service argument instead of the symbolic link name. Of course, there are full unit tests. Fixes: QubesOS/qubes-issues#9037
DemiMarie
added a commit
to DemiMarie/qubes-core-qrexec
that referenced
this issue
Apr 9, 2024
Both IPv4 and IPv6 are supported. The port or both host and port can be taken from the service argument instead of the symbolic link name. Of course, there are full unit tests. Fixes: QubesOS/qubes-issues#9037
DemiMarie
added a commit
to DemiMarie/qubes-core-qrexec
that referenced
this issue
Apr 12, 2024
Both IPv4 and IPv6 are supported. The port or both host and port can be taken from the service argument instead of the symbolic link name. Of course, there are full unit tests. Fixes: QubesOS/qubes-issues#9037
DemiMarie
added a commit
to DemiMarie/qubes-core-qrexec
that referenced
this issue
Apr 17, 2024
Both IPv4 and IPv6 are supported. The port or both host and port can be taken from the service argument instead of the symbolic link name. Of course, there are full unit tests. Fixes: QubesOS/qubes-issues#9037
DemiMarie
added a commit
to DemiMarie/qubes-core-qrexec
that referenced
this issue
Apr 18, 2024
Both IPv4 and IPv6 are supported. The port or both host and port can be taken from the service argument instead of the symbolic link name. Of course, there are full unit tests. Fixes: QubesOS/qubes-issues#9037
DemiMarie
added a commit
to DemiMarie/qubes-core-qrexec
that referenced
this issue
Apr 18, 2024
Both IPv4 and IPv6 are supported. The port or both host and port can be taken from the service argument instead of the symbolic link name. Of course, there are full unit tests. Fixes: QubesOS/qubes-issues#9037
DemiMarie
added a commit
to DemiMarie/qubes-core-qrexec
that referenced
this issue
Apr 18, 2024
Both IPv4 and IPv6 are supported. The port or both host and port can be taken from the service argument instead of the symbolic link name. Of course, there are full unit tests. Fixes: QubesOS/qubes-issues#9037
DemiMarie
added a commit
to DemiMarie/qubes-core-qrexec
that referenced
this issue
Apr 23, 2024
Both IPv4 and IPv6 are supported. The port or both host and port can be taken from the service argument instead of the symbolic link name. Of course, there are full unit tests. Fixes: QubesOS/qubes-issues#9037
DemiMarie
added a commit
to DemiMarie/qubes-core-qrexec
that referenced
this issue
Apr 23, 2024
Both IPv4 and IPv6 are supported. The port or both host and port can be taken from the service argument instead of the symbolic link name. Of course, there are full unit tests. Fixes: QubesOS/qubes-issues#9037
DemiMarie
added a commit
to DemiMarie/qubes-core-qrexec
that referenced
this issue
Apr 23, 2024
Both IPv4 and IPv6 are supported. The port or both host and port can be taken from the service argument instead of the symbolic link name. Of course, there are full unit tests. Fixes: QubesOS/qubes-issues#9037
github-project-automation
bot
moved this from In progress
to Done
in Current team tasks
Apr 25, 2024
marmarek
added a commit
to marmarek/qubes-core-agent-linux
that referenced
this issue
Apr 26, 2024
marmarek
added a commit
to marmarek/qubes-core-agent-linux
that referenced
this issue
Apr 26, 2024
This was referenced Apr 26, 2024
marmarek
added a commit
to marmarek/qubes-core-agent-linux
that referenced
this issue
May 4, 2024
Enable exit-on-stdout-eof feature, since that is what socat did. QubesOS/qubes-issues#9037
marmarek
added a commit
to marmarek/qubes-core-agent-linux
that referenced
this issue
May 4, 2024
Enable exit-on-stdout-eof feature, since that is what socat did. QubesOS/qubes-issues#9037
marmarek
added a commit
to marmarek/qubes-core-agent-linux
that referenced
this issue
May 6, 2024
Enable exit-on-service-eof feature, since that is what socat did. QubesOS/qubes-issues#9037
marmarek
added a commit
to marmarek/qubes-core-agent-linux
that referenced
this issue
May 6, 2024
Enable exit-on-service-eof feature, since that is what socat did. QubesOS/qubes-issues#9037
marmarek
added a commit
to marmarek/qubes-core-agent-linux
that referenced
this issue
May 9, 2024
qubes.UpdatesProxy and qubes.ConnecTCP are converted to use the built-in TCP support in qrexec. QubesOS/qubes-issues#9037
This was referenced May 9, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
C: core
C: doc
C: networking
C: tests
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.
How to file a helpful issue
The problem you're addressing (if any)
When using existing service via qrexec, some do not support UNIX sockets, only TCP. One example is
qubes.UpdatesProxy
, which usessocat
right now. This approach mostly works (but sometimes cause issues, like when socat update changes it behavior), but has significant connection overhead.The solution you'd like
Currently, service files in
/etc/qubes-rpc
can either be executable (or a symlink to an executable), or an UNIX socket (or a symlink to a UNIX socket). TCP target can be configured with a symlink too, using bash-inspired syntax/dev/tcp/host/port
. Qrexec would readlink the file and if it points at the special/dev/tcp/...
target, parse it as host + port and open a TCP connection. Then, proceed similar to the existing socket service./dev/tcp/host/port
target. The "host" part definitely needs to support IPv4 addresses. But IPv6 addresses or host names to be resolved might be a good idea too.The value to a user, and who that user might be
Together with #9036, it will allow services like
qubes.UpdatesProxy
work without extra process in the middle. This would avoid issues like #9025The text was updated successfully, but these errors were encountered: