mirror of
https://github.com/systemd/systemd
synced 2026-04-13 02:24:50 +02:00
Compare commits
7 Commits
a68b244399
...
682a9f2e88
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
682a9f2e88 | ||
|
|
06006691b5 | ||
|
|
2979c8b7fc | ||
|
|
0d8930fd6d | ||
|
|
a80f17844e | ||
|
|
b7bb58ef70 | ||
|
|
cf18de1b26 |
@ -962,6 +962,7 @@ manpages = [
|
|||||||
['systemd-sleep.conf', '5', ['sleep.conf.d'], ''],
|
['systemd-sleep.conf', '5', ['sleep.conf.d'], ''],
|
||||||
['systemd-socket-activate', '1', [], ''],
|
['systemd-socket-activate', '1', [], ''],
|
||||||
['systemd-socket-proxyd', '8', [], ''],
|
['systemd-socket-proxyd', '8', [], ''],
|
||||||
|
['systemd-stdio-bridge', '1', [], ''],
|
||||||
['systemd-stub',
|
['systemd-stub',
|
||||||
'7',
|
'7',
|
||||||
['linuxaa64.efi.stub', 'linuxia32.efi.stub', 'linuxx64.efi.stub'],
|
['linuxaa64.efi.stub', 'linuxia32.efi.stub', 'linuxx64.efi.stub'],
|
||||||
|
|||||||
92
man/systemd-stdio-bridge.xml
Normal file
92
man/systemd-stdio-bridge.xml
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
<?xml version='1.0'?> <!--*-nxml-*-->
|
||||||
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||||
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||||
|
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
||||||
|
|
||||||
|
<refentry id="systemd-stdio-bridge"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||||
|
|
||||||
|
<refentryinfo>
|
||||||
|
<title>systemd-stdio-bridge</title>
|
||||||
|
<productname>systemd</productname>
|
||||||
|
</refentryinfo>
|
||||||
|
|
||||||
|
<refmeta>
|
||||||
|
<refentrytitle>systemd-stdio-bridge</refentrytitle>
|
||||||
|
<manvolnum>1</manvolnum>
|
||||||
|
</refmeta>
|
||||||
|
|
||||||
|
<refnamediv>
|
||||||
|
<refname>systemd-stdio-bridge</refname>
|
||||||
|
<refpurpose>D-Bus proxy</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<cmdsynopsis>
|
||||||
|
<command>systemd-stdio-bridge</command>
|
||||||
|
<arg choice="opt" rep="repeat">OPTIONS</arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Description</title>
|
||||||
|
|
||||||
|
<para><command>systemd-stdio-bridge</command> implements a proxy for a D-Bus endpoint. It expects to
|
||||||
|
receive an open connection to a bus when started, and will also connect to a (different) bus as a
|
||||||
|
client. It will then act as a server on the first connection, and forward messages between the two
|
||||||
|
busses. This program is suitable for socket activation: the first connection may be a pipe or a socket
|
||||||
|
and must be passed as either standard input, or as an open file descriptor according to the protocol
|
||||||
|
described in
|
||||||
|
<citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>. The
|
||||||
|
second connection will be made by default to the local system bus, but this can be influenced by the
|
||||||
|
<option>--user</option>, <option>--system</option>, <option>--machine=</option>, and
|
||||||
|
<option>--bus-path=</option> options described below.</para>
|
||||||
|
|
||||||
|
<para><citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry> uses
|
||||||
|
<command>systemd-stdio-bridge</command> to forward D-Bus connections over
|
||||||
|
<citerefentry project='die-net'><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||||
|
or to connect to the bus of a different user, see
|
||||||
|
<citerefentry><refentrytitle>sd_bus_set_address</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Options</title>
|
||||||
|
|
||||||
|
<para>The following options are understood:</para>
|
||||||
|
|
||||||
|
<variablelist>
|
||||||
|
<xi:include href="user-system-options.xml" xpointer="user" />
|
||||||
|
<xi:include href="user-system-options.xml" xpointer="system" />
|
||||||
|
<xi:include href="user-system-options.xml" xpointer="machine" />
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>-p <replaceable>PATH</replaceable></option></term>
|
||||||
|
<term><option>--bus-path=<replaceable>PATH</replaceable></option></term>
|
||||||
|
|
||||||
|
<listitem><para>Path to the bus address. Default: <literal>unix:path=/run/dbus/system_bus_socket</literal>
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<xi:include href="standard-options.xml" xpointer="help" />
|
||||||
|
<xi:include href="standard-options.xml" xpointer="version" />
|
||||||
|
</variablelist>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Exit status</title>
|
||||||
|
|
||||||
|
<para>On success, 0 is returned, a non-zero failure code otherwise.</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>See Also</title>
|
||||||
|
<para>
|
||||||
|
<citerefentry project='dbus'><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||||
|
<citerefentry project='dbus'><refentrytitle>dbus-broker</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||||
|
<ulink url="https://www.freedesktop.org/wiki/Software/dbus">D-Bus</ulink>,
|
||||||
|
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
</refentry>
|
||||||
@ -250,7 +250,6 @@ conf.set_quoted('SYSTEMD_LANGUAGE_FALLBACK_MAP', pkgdatadir / 'lang
|
|||||||
conf.set_quoted('SYSTEMD_MAKEFS_PATH', rootlibexecdir / 'systemd-makefs')
|
conf.set_quoted('SYSTEMD_MAKEFS_PATH', rootlibexecdir / 'systemd-makefs')
|
||||||
conf.set_quoted('SYSTEMD_PULL_PATH', rootlibexecdir / 'systemd-pull')
|
conf.set_quoted('SYSTEMD_PULL_PATH', rootlibexecdir / 'systemd-pull')
|
||||||
conf.set_quoted('SYSTEMD_SHUTDOWN_BINARY_PATH', rootlibexecdir / 'systemd-shutdown')
|
conf.set_quoted('SYSTEMD_SHUTDOWN_BINARY_PATH', rootlibexecdir / 'systemd-shutdown')
|
||||||
conf.set_quoted('SYSTEMD_STDIO_BRIDGE_BINARY_PATH', bindir / 'systemd-stdio-bridge')
|
|
||||||
conf.set_quoted('SYSTEMD_TEST_DATA', testsdir / 'testdata')
|
conf.set_quoted('SYSTEMD_TEST_DATA', testsdir / 'testdata')
|
||||||
conf.set_quoted('SYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH', rootbindir / 'systemd-tty-ask-password-agent')
|
conf.set_quoted('SYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH', rootbindir / 'systemd-tty-ask-password-agent')
|
||||||
conf.set_quoted('SYSTEMD_UPDATE_HELPER_PATH', rootlibexecdir / 'systemd-update-helper')
|
conf.set_quoted('SYSTEMD_UPDATE_HELPER_PATH', rootlibexecdir / 'systemd-update-helper')
|
||||||
|
|||||||
@ -36,7 +36,7 @@ case "$COMMAND" in
|
|||||||
remove)
|
remove)
|
||||||
[ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] && \
|
[ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] && \
|
||||||
echo "Removing /lib/modules/${KERNEL_VERSION}/modules.dep and associated files"
|
echo "Removing /lib/modules/${KERNEL_VERSION}/modules.dep and associated files"
|
||||||
exec rm -f /lib/modules/"${KERNEL_VERSION}"/modules.{alias{,.bin},builtin.bin,dep{,.bin},devname,softdep,symbols{,.bin}}
|
exec rm -f /lib/modules/"${KERNEL_VERSION}"/modules.{alias{,.bin},builtin{,.alias}.bin,dep{,.bin},devname,softdep,symbols{,.bin}}
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
@ -26,9 +26,8 @@ static BusTransport arg_transport = BUS_TRANSPORT_LOCAL;
|
|||||||
static bool arg_user = false;
|
static bool arg_user = false;
|
||||||
|
|
||||||
static int help(void) {
|
static int help(void) {
|
||||||
|
|
||||||
printf("%s [OPTIONS...]\n\n"
|
printf("%s [OPTIONS...]\n\n"
|
||||||
"STDIO or socket-activatable proxy to a given DBus endpoint.\n\n"
|
"Forward messages between two D-Bus busses via a pipe or socket.\n\n"
|
||||||
" -h --help Show this help\n"
|
" -h --help Show this help\n"
|
||||||
" --version Show package version\n"
|
" --version Show package version\n"
|
||||||
" -p --bus-path=PATH Path to the bus address (default: %s)\n"
|
" -p --bus-path=PATH Path to the bus address (default: %s)\n"
|
||||||
@ -41,7 +40,6 @@ static int help(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int parse_argv(int argc, char *argv[]) {
|
static int parse_argv(int argc, char *argv[]) {
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
ARG_VERSION = 0x100,
|
ARG_VERSION = 0x100,
|
||||||
ARG_MACHINE,
|
ARG_MACHINE,
|
||||||
@ -64,7 +62,7 @@ static int parse_argv(int argc, char *argv[]) {
|
|||||||
assert(argc >= 0);
|
assert(argc >= 0);
|
||||||
assert(argv);
|
assert(argv);
|
||||||
|
|
||||||
while ((c = getopt_long(argc, argv, "hp:M:", options, NULL)) >= 0) {
|
while ((c = getopt_long(argc, argv, "hp:M:", options, NULL)) >= 0)
|
||||||
|
|
||||||
switch (c) {
|
switch (c) {
|
||||||
|
|
||||||
@ -98,7 +96,6 @@ static int parse_argv(int argc, char *argv[]) {
|
|||||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
|
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
|
||||||
"Unknown option code %c", c);
|
"Unknown option code %c", c);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -125,7 +122,7 @@ static int run(int argc, char *argv[]) {
|
|||||||
in_fd = SD_LISTEN_FDS_START;
|
in_fd = SD_LISTEN_FDS_START;
|
||||||
out_fd = SD_LISTEN_FDS_START;
|
out_fd = SD_LISTEN_FDS_START;
|
||||||
} else
|
} else
|
||||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Illegal number of file descriptors passed.");
|
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "More than one file descriptor was passed.");
|
||||||
|
|
||||||
is_unix =
|
is_unix =
|
||||||
sd_is_socket(in_fd, AF_UNIX, 0, 0) > 0 &&
|
sd_is_socket(in_fd, AF_UNIX, 0, 0) > 0 &&
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user