Add StandardInputFileDescriptor, StandardOutputFileDescriptor and StandardErrorFileDescriptor to the Service context of the Varlink StartTransient() method. Each carries the push-order index of a file descriptor passed along with the method call (via SCM_RIGHTS), and connects it to the transient service's standard input/output/error. This is the Varlink equivalent of the StandardInputFileDescriptor= / StandardOutputFileDescriptor= / StandardErrorFileDescriptor= D-Bus transient properties behind "systemd-run --pipe", which had no Varlink counterpart. The manager Varlink server now enables SD_VARLINK_SERVER_ALLOW_FD_PASSING_INPUT so clients may attach descriptors to their method calls, matching other fd-accepting Varlink services (mountfsd, networkd, vmspawn, ...). The indices are resolved with sd_varlink_peek_dup_fd() after the polkit authorization check and stored on the Service exactly like the D-Bus path (bus_set_transient_exec_context_fd()): the fds land in stdin_fd/stdout_fd/ stderr_fd and exec_context.stdio_as_fds is set, so the existing exec-invoke plumbing wires them to the spawned process unchanged. Unsuitable fds (bad index, wrong access mode) are rejected as InvalidParameter, other resolution failures propagate as raw errnos. Add coverage to TEST-74-AUX-UTILS.varlinkctl-unit.sh, passing regular files as the stdout/stderr fds and asserting the unit's output lands on them.
System and Service Manager
Details
Most documentation is available on systemd's web site.
Assorted, older, general information about systemd can be found in the systemd Wiki.
Information about build requirements is provided in the README file.
Consult our NEWS file for information about what's new in the most recent systemd versions.
Please see the Code Map for information about this repository's layout and content.
Please see the Hacking guide for information on how to hack on systemd and test your modifications.
Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.
When preparing patches for systemd, please follow our Coding Style Guidelines.
If you are looking for support, please contact our mailing list, join our IRC channel #systemd on libera.chat or Matrix channel
Stable branches with backported patches are available in the stable repo.
We have a security bug bounty program sponsored by the Sovereign Tech Fund hosted on YesWeHack
Repositories with distribution packages built from git main are available on OBS, and also repositories with packages built from the latest stable release
