X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsd_bus_negotiate_fds.xml;h=61c972008bebaa872790cab9bf1707e34c47e079;hp=4babae5e2b0dfdc99e5790746b5ad9f8fee350b9;hb=9742b1e43855b1599bd52ff95af995d9a9d35eac;hpb=f131770b1465fbf423881f16ba85523a05f846fe diff --git a/man/sd_bus_negotiate_fds.xml b/man/sd_bus_negotiate_fds.xml index 4babae5e2..61c972008 100644 --- a/man/sd_bus_negotiate_fds.xml +++ b/man/sd_bus_negotiate_fds.xml @@ -3,25 +3,25 @@ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - + sd_bus_negotiate_fds @@ -44,7 +44,7 @@ along with systemd; If not, see . sd_bus_negotiate_fds - sd_bus_negotiate_timestamps + sd_bus_negotiate_timestamp sd_bus_negotiate_creds Control feature negotiation on bus connections @@ -70,7 +70,7 @@ along with systemd; If not, see . int sd_bus_negotiate_creds sd_bus *bus int b - uint64_t flags + uint64_t mask @@ -81,10 +81,11 @@ along with systemd; If not, see . sd_bus_negotiate_fds() controls whether file descriptor passing shall be negotiated for the specified bus connection. It takes a bus object and a boolean, which, when true, - enables file descriptor passing, and, when false, disables it. Note - that not all transports and servers support file descriptor - passing. To find out whether file descriptor passing is available - after negotiation, use + enables file descriptor passing, and, when false, disables + it. Note that not all transports and servers support file + descriptor passing. In particular, networked transports generally + do not support file descriptor passing. To find out whether file + descriptor passing is available after negotiation, use sd_bus_can_send3 and pass SD_BUS_TYPE_UNIX_FD. Note that file descriptor passing is always enabled for both sending and @@ -98,41 +99,37 @@ along with systemd; If not, see . setting as negotiated by the program ultimately activated. By default, file descriptor passing is enabled for both. - sd_bus_negotiate_timestamps() controls - whether implicit sender timestamps shall be attached automatically - to all incoming messages. Takes a bus object and a boolean, which, - when true, enables timestamping, and, when false, disables it. If - this is disabled, + sd_bus_negotiate_timestamp() controls whether implicit sender + timestamps shall be attached automatically to all incoming messages. Takes a bus object and a + boolean, which, when true, enables timestamping, and, when false, disables it. Use sd_bus_message_get_monotonic_usec3, sd_bus_message_get_realtime_usec3, - sd_bus_message_get_seqno3 - fail with -ENODATA on incoming messages. Note - that not all transports support timestamping of messages. On local - transports, the timestamping is applied by the kernel and cannot - be manipulated by userspace. By default, message timestamping is - not negotiated for all connections. - - sd_bus_negotiate_creds() controls - whether implicit sender credentials shall be attached - automatically to all incoming messages. Takes a bus object, a - boolean indicating whether to enable or disable the credential - parts encoded in the bit mask value argument. Note that not all - transports support attaching sender credentials to messages, or do - not support all types of sender credential parameters, or might - suppress them under certain circumstances for individual - messages. On local transports, the sender credentials are attached - by the kernel and cannot be manipulated by userspace. By default, - no sender credentials are attached. + sd_bus_message_get_seqnum3 + to query the timestamps of incoming messages. If negotiation is disabled or not supported, these + calls will fail with -ENODATA. Note that currently no transports support + timestamping of messages. By default, message timestamping is not negotiated for + connections. + + sd_bus_negotiate_creds() controls whether and which implicit sender + credentials shall be attached automatically to all incoming messages. Takes a bus object and a + boolean indicating whether to enable or disable the credential parts encoded in the bit mask + value argument. Note that not all transports support attaching sender credentials to messages, + or do not support all types of sender credential parameters, or might suppress them under + certain circumstances for individual messages. Specifically, dbus1 only supports + SD_BUS_CREDS_UNIQUE_NAME. The sender credentials are suitable for + authorization decisions. By default, only SD_BUS_CREDS_WELL_KNOWN_NAMES and + SD_BUS_CREDS_UNIQUE_NAME are enabled. In fact, these two credential fields + are always sent along and cannot be turned off. The sd_bus_negotiate_fds() function may be called only before the connection has been started with sd_bus_start3. Both sd_bus_negotiate_timestamp() and - sd_bus_negotiate_creds() also may be called - after a connection has been set up. Note that when operating on a + sd_bus_negotiate_creds() may also be called + after a connection has been set up. Note that, when operating on a connection that is shared between multiple components of the same program (for example via - sd_bus_default3) + sd_bus_default3), it is highly recommended to only enable additional per message metadata fields, but never disable them again, in order not to disable functionality needed by other components. @@ -141,7 +138,7 @@ along with systemd; If not, see . Return Value - On success, these functions returns 0 or a + On success, these functions return 0 or a positive integer. On failure, they return a negative errno-style error code. @@ -163,10 +160,10 @@ along with systemd; If not, see . Notes - sd_bus_negotiate_fs() and the other + sd_bus_negotiate_fds() and the other functions described here are available as a shared library, which can be compiled and linked to with the - libsystemd pkg-config1 + libelogind pkg-config1 file. @@ -179,6 +176,8 @@ along with systemd; If not, see . sd_bus_start3, sd_bus_message_can_send3, sd_bus_message_get_monotonic_usec3, + sd_bus_message_get_realtime_usec3, + sd_bus_message_get_seqnum3, sd_bus_message_get_creds3, systemd.busname5