13931N/A<!DOCTYPE REFENTRY PUBLIC "-//Sun Microsystems//DTD DocBook V3.0-Based SolBook Subset V2.0//EN" [
13931N/A<!--ArborText, Inc., 1988-1999, v.4002-->
15941N/A<!--ARC : LSARC 2006/368 D-BUS Message Bus System -->
13931N/A<!ENTITY cmd "dbus-daemon">
13931N/A<!ENTITY % commonents SYSTEM "smancommon.ent">
13931N/A%commonents;
13931N/A<!ENTITY % booktitles SYSTEM "booktitles.ent">
13931N/A%booktitles;
15985N/A<!ENTITY suncopy "Copyright (c) 2007,2009 Sun Microsystems, Inc. All Rights Reserved.">
13931N/A]>
13931N/A<refentry id="dbus-daemon-1">
13931N/A<!-- %Z%%M% %I% %E% SMI; -->
13931N/A<refmeta><refentrytitle>&cmd;</refentrytitle><manvolnum>3</manvolnum>
15985N/A<refmiscinfo class="date">25 Feb 2009</refmiscinfo>
13931N/A<refmiscinfo class="sectdesc">&man3;</refmiscinfo>
13931N/A<refmiscinfo class="software">&release;</refmiscinfo>
13931N/A<refmiscinfo class="arch">generic</refmiscinfo>
13931N/A<refmiscinfo class="copyright">&suncopy;</refmiscinfo>
13931N/A</refmeta>
17616N/A<indexterm><primary>&cmd;</primary></indexterm>
17616N/A<indexterm><primary>Message bus daemon</primary></indexterm>
17616N/A<refnamediv id="dbus-daemon-1-name">
13931N/A<refname>&cmd;</refname><refpurpose>
13931N/AMessage bus daemon
13931N/A</refpurpose></refnamediv>
13931N/A<refsynopsisdiv id="dbus-daemon-1-synp"><title>&synp-tt;</title>
13931N/A<cmdsynopsis><command>&cmd;</command>
13931N/A<arg choice="opt"><option>-config-file=<replaceable>file</replaceable></option></arg>
13931N/A<arg choice="opt"><option>-fork</option> | <option>-nofork</option></arg>
13931N/A<arg choice="opt"><option>-introspect</option></arg>
13931N/A<arg choice="opt"><option>-print-address[=<replaceable>descriptor</replaceable>]</option></arg>
13931N/A<arg choice="opt"><option>-print-pid[=<replaceable>descriptor</replaceable>]</option></arg>
13931N/A<arg choice="opt"><option>-session</option></arg>
13931N/A<arg choice="opt"><option>-system</option></arg>
13931N/A<arg choice="opt"><option>-version</option></arg>
13931N/A</cmdsynopsis></refsynopsisdiv>
17593N/A
13931N/A<refsect1 id="dbus-daemon-1-desc"><title>&desc-tt;</title>
13931N/A<para>
17601N/A<command>&cmd;</command> is the D\-Bus message bus daemon. D\-Bus is first a
17601N/Alibrary that provides one\-to\-one communication between any two applications;
17601N/A<command>&cmd;</command> is an application that uses this library to implement
17601N/Aa message bus daemon. Multiple programs connect to the message bus daemon and
17601N/Acan exchange messages with one another.
13931N/A</para>
17601N/A
13931N/A<para>
15985N/AThere are two standard message bus instances. <command>&cmd;</command> is used
15985N/Afor both of these instances, but with a different configuration file.
13931N/A</para>
17601N/A
13931N/A<itemizedlist>
13931N/A<listitem><para>
17602N/Asystemwide message bus - Launched when the system is started and is enabled by
17602N/Adefault. Additional systemwide services can be launched via D\-Bus
17603N/Aservice activation However, D\-Bus service activation is disabled on Solaris.
17603N/ANote that the <option>-system</option> option is equivalent to:
13931N/A</para>
13931N/A<para>
15985N/A&quot;<option>-config\-file=/etc/dbus\-1/system.conf</option>&quot;
13931N/A</para></listitem>
13931N/A<listitem><para>
17601N/Aper-user-login-session message bus - Launched each time a user logs in. Note
17601N/Athat the <option>-session</option> option is equivalent to:
13931N/A</para>
13931N/A<para>
15985N/A&quot;<option>-config\-file=/etc/dbus\-1/session.conf</option>&quot;
13931N/A</para></listitem>
13931N/A</itemizedlist>
17601N/A
13931N/A<para>
13931N/ABy creating additional configuration files and using the
13931N/A<option>-config\-file</option> option, additional special-purpose message bus
13931N/Adaemons could be created.
13931N/A</para>
17601N/A
13931N/A<para>
17603N/AOn Solaris, D\-Bus is configured with service activation disabled, so that
17603N/Ausers cannot launch systemwide D\-Bus services on demand. This feature is not
17603N/Aused by any applications that are currently shipped with Solaris.
13931N/A</para>
17601N/A
13931N/A<para>
17601N/AOn Solaris, the D\-Bus service is managed by the
17601N/A<citerefentry><refentrytitle>smf</refentrytitle>
17601N/A<manvolnum>5</manvolnum></citerefentry>
17601N/Aservice management facility under the service identifier
17601N/A<replaceable>svc:/system/dbus</replaceable>.
17601N/AOn Solaris, it is recommended that you use the
17601N/A<citerefentry><refentrytitle>svcadm</refentrytitle>
17601N/A<manvolnum>1m</manvolnum></citerefentry> utility to start and stop the D\-Bus
17601N/Aservice
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThe systemwide daemon is largely used for broadcasting system events, such as
13931N/Achanges to the printer queue, or adding/removing devices.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThe per-session daemon is used for various interprocess communication among
13931N/Adesktop applications (however, it is not tied to X or the GUI in any way).
13931N/A</para>
17601N/A
13931N/A<para>
13931N/ASIGHUP will cause the D\-Bus daemon to PARTIALLY reload its configuration file
13931N/Aand to flush its user/group information caches. Some configuration changes
15985N/Awould require kicking all applications off the bus; so they will only take
15985N/Aeffect if you restart the daemon. Policy changes should take effect with
15985N/ASIGHUP.
13931N/A</para>
13931N/A</refsect1>
17593N/A
13931N/A<refsect1 id="dbus-daemon-1-opts"><title>&opts-tt;</title>
17593N/A<para>
17593N/AThe following options are supported:
17593N/A</para>
17593N/A<variablelist termlength="wholeline">
13931N/A<varlistentry>
13931N/A<term><option>-config-file=<replaceable>file</replaceable></option></term>
13931N/A<listitem><para>
13931N/AUse the given configuration <replaceable>file</replaceable>.
13931N/A</para>
13931N/A</listitem></varlistentry>
17601N/A
13931N/A<varlistentry>
13931N/A<term><option>-fork</option></term>
13931N/A<listitem><para>
13931N/AForce the message bus to fork and become a daemon, regardless of configuration
13931N/Afile settings.
13931N/A</para>
13931N/A</listitem></varlistentry>
17601N/A
13931N/A<varlistentry>
13931N/A<term><option>-introspect</option></term>
13931N/A<listitem><para>
13931N/APrint introspect data and exit.
13931N/A</para>
13931N/A</listitem></varlistentry>
17601N/A
13931N/A<varlistentry>
13931N/A<term><option>-nofork</option></term>
13931N/A<listitem><para>
13931N/AAvoid running the message bus as a daemon, regardless of configuration file
13931N/Asettings.
13931N/A</para>
13931N/A</listitem></varlistentry>
17601N/A
13931N/A<varlistentry>
13931N/A<term><option>-print-address[=<replaceable>descriptor</replaceable>]</option></term>
13931N/A<listitem><para>
13931N/APrint the address of the message bus to standard output, or to the given file
13931N/A<replaceable>descriptor</replaceable>. This is used by programs that launch
13931N/Athe message bus.
13931N/A</para>
13931N/A</listitem></varlistentry>
17601N/A
13931N/A<varlistentry>
13931N/A<term><option>-print-pid[=<replaceable>descriptor</replaceable>]</option></term>
13931N/A<listitem><para>
13931N/APrint the process ID of the message bus to standard output, or to the given
13931N/Afile <replaceable>descriptor</replaceable>. This is used by programs that
13931N/Alaunch the message bus.
13931N/A</para>
13931N/A</listitem></varlistentry>
17601N/A
13931N/A<varlistentry>
13931N/A<term><option>-session</option></term>
13931N/A<listitem><para>
13931N/AUse the standard configuration file for the per-login-session message bus.
13931N/A</para>
13931N/A</listitem></varlistentry>
17601N/A
13931N/A<varlistentry>
13931N/A<term><option>-system</option></term>
13931N/A<listitem><para>
13931N/AUse the standard configuration file for the systemwide message bus.
13931N/A</para>
13931N/A</listitem></varlistentry>
17601N/A
13931N/A<varlistentry>
13931N/A<term><option>-version</option></term>
13931N/A<listitem><para>
13931N/APrint the version of the daemon.
13931N/A</para>
13931N/A</listitem></varlistentry>
17616N/A</variablelist>
17616N/A</refsect1>
17593N/A
17601N/A<refsect1 id="dbus-daemon-1-envr"><title>&envr-tt;</title>
17601N/A<para>
17601N/ASee
17601N/A<citerefentry><refentrytitle>environ</refentrytitle>
17601N/A<manvolnum>5</manvolnum></citerefentry>
17601N/Afor descriptions of the following environment variables:
17601N/A</para>
17601N/A<variablelist termlength="wholeline">
17601N/A<varlistentry>
17601N/A<term>DBUS_SESSION_BUS_ADDRESS</term>
17601N/A<listitem><para>
17601N/AThe address of the login session message bus. If this variable is not set,
17601N/Aapplications may also try to read the address from the X Window System root
17601N/Awindow property _DBUS_SESSION_BUS_ADDRESS. The root window property
17601N/Amust have type STRING. The environment variable should have precedence over
17601N/Athe root window property.
17601N/A</para>
17601N/A</listitem></varlistentry>
17601N/A<varlistentry>
17601N/A<term>DBUS_STARTER_BUS_TYPE</term>
17601N/A<listitem><para>
17601N/AIf the well-known type of the message bus is &quot;session&quot;, then
17601N/Athis environment variable will be set to &quot;session&quot;. If the
17601N/Atype of the message bus is &quot;system;&quot;, then this environment
17601N/Avariable will be set to &quot;system&quot;.
17601N/A</para>
17601N/A</listitem></varlistentry>
17601N/A<varlistentry>
17601N/A<term>DBUS_VERBOSE</term>
17601N/A<listitem><para>
17601N/ASet DBUS_VERSION=1 to enable debugging, if D\-Bus was compiled with verbose
17601N/Adebug mode enabled.
17601N/A</para>
17601N/A</listitem></varlistentry>
17616N/A</variablelist>
17616N/A</refsect1>
17601N/A
17601N/A<refsect1 id="dbus-daemon-1-exit"><title>&exit-tt;</title>
17601N/A<para>The following exit values are returned:</para>
17601N/A
17601N/A<variablelist termlength="xtranarrow">
17601N/A<varlistentry>
17601N/A<term><returnvalue>0</returnvalue></term>
17601N/A<listitem><para>
17601N/AApplication exited successfully
17601N/A</para>
17601N/A</listitem></varlistentry>
17601N/A
17601N/A<varlistentry>
17601N/A<term><returnvalue>>0</returnvalue></term>
17601N/A<listitem><para>
17601N/AApplication exited with failure
17601N/A</para>
17601N/A</listitem></varlistentry>
17616N/A</variablelist>
17616N/A</refsect1>
17601N/A
13931N/A<refsect1 id="dbus-daemon-1-exde"><title>&exde-tt;</title>
13931N/A<refsect2>
13931N/A<title>CONFIGURATION FILE</title>
13931N/A<para>
13931N/AA message bus daemon has a configuration file that specializes it for a
13931N/Aparticular application. For example, one configuration file might set up the
13931N/Amessage bus to be a systemwide message bus, while another might set it
13931N/Aup to be a per-user-login-session bus.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThe configuration file also establishes resource limits, security parameters,
13931N/Aand so forth.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThe configuration file is not part of any interoperability specification and
13931N/Aits backward compatibility is not guaranteed; this document is documentation,
13931N/Anot specification.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThe standard systemwide and per-session message bus setups are configured in
15985N/Athe files &quot;<filename>/etc/dbus-1/system.conf</filename>&quot; and
15985N/A&quot;<filename>/etc/dbus-1/session.conf</filename>&quot;. These files
15985N/Anormally &lt;include&gt; a <filename>system-local.conf</filename> or
13931N/A<filename>session-local.conf</filename>; you can put local overrides in those
13931N/Afiles to avoid modifying the primary configuration files.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThe configuration file is an XML document. It must have the following doctype
13931N/Adeclaration:
13931N/A</para>
17601N/A
13931N/A<screen>
15985N/A &lt;!DOCTYPE busconfig PUBLIC &quot;-//freedesktop//DTD D\-Bus Bus Configuration 1.0//EN&quot;
15985N/A &quot;http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd&quot;&gt;
13931N/A</screen>
17601N/A
13931N/A<para>
13931N/AThe following elements may be present in the configuration file.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;busconfig&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/ARoot element.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;type&gt;
13931N/A</para>
17601N/A
13931N/A<para>
15985N/AThe well-known type of the message bus. Currently known values are
15985N/A&quot;system&quot; and &quot;session&quot;; if other values are set, they
15985N/Ashould be either added to the D\-Bus specification, or namespaced. The last
15985N/A&lt;type&gt; element &quot;wins&quot; (previous values are ignored). This
15985N/Aelement only controls which message bus specific environment variables are set
15985N/Ain activated clients. Most of the policy that distinguishes a session bus from
15985N/Athe system bus is controlled from the other elements in the configuration file.
15985N/A</para>
17601N/A
15985N/A<para>
15985N/AIf the well-known type of the message bus is &quot;session&quot;, then the
15985N/ADBUS_STARTER_BUS_TYPE environment variable will be set to &quot;session&quot;
15985N/Aand the DBUS_SESSION_BUS_ADDRESS environment variable will be set to the
15985N/Aaddress of the session bus. Likewise, if the type of the message bus is
15985N/A&quot;system&quot;, then the DBUS_STARTER_BUS_TYPE environment variable will be
15985N/Aset to &quot;system&quot; and the DBUS_SESSION_BUS_ADDRESS environment variable
15985N/Awill be set to the address of the system bus (which is normally well known
15985N/Aanyway).
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AExample: &lt;type&gt;session&lt;/type&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;include&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AInclude a file &lt;include&gt;filename.conf&lt;/include&gt; at this point. If
13931N/Athe filename is relative, it is located relative to the configuration file
13931N/Adoing the including.
13931N/A</para>
17601N/A
13931N/A<para>
15985N/A&lt;include&gt; has an optional attribute &quot;ignore_missing=(yes|no)&quot;
15985N/Awhich defaults to &quot;no&quot; if not provided. This attribute controls
15985N/Awhether it is a fatal error for the included file to be absent.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;includedir&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AInclude all files in &lt;includedir&gt;foo.d&lt;/includedir&gt; at this point.
13931N/AFiles in the directory are included in undefined order. Only files ending in
15985N/A&quot;.conf&quot; are included.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThis is intended to allow extension of the system bus by particular packages.
13931N/AFor example, if CUPS wants to be able to send out notification of printer queue
15985N/Achanges, it could install a file to /etc/dbus-1/system.d that allowed all
15985N/Aapplications to receive this message and allowed the printer daemon user to
15985N/Asend it.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;user&gt;
13931N/A</para>
17601N/A
13931N/A<para>
15985N/AThe user account the daemon should run as, specified as either a username or a
15985N/AUID. If the daemon cannot change to this UID on startup, it will exit. If
15985N/Athis element is not present, the daemon will not change or care about its UID.
13931N/A</para>
17601N/A
13931N/A<para>
15985N/AThe last &lt;user&gt; entry in the file &quot;wins&quot;, the others are
15985N/Aignored.
13931N/A</para>
17601N/A
13931N/A<para>
15985N/AThe user is changed after the bus has completed initialization. So sockets,
13931N/Aetc. will be created before changing user, but no data will be read from
13931N/Aclients before changing user. This means that sockets and PID files can be
13931N/Acreated in a location that requires root privileges for writing.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;fork&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AIf present, the bus daemon becomes a real daemon (forks into the background,
13931N/Aetc.). This is generally used rather than the <option>-fork</option> command
13931N/Aline option.
13931N/A</para>
17601N/A
13931N/A<para>
15985N/A&lt;keep_umask&gt;
15985N/A</para>
17601N/A
15985N/A<para>
15985N/AIf present, the bus daemon keeps its original umask when forking. This may be
15985N/Auseful to avoid affecting the behavior of child processes.
15985N/A</para>
17601N/A
15985N/A<para>
13931N/A&lt;listen&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AAdd an address that the bus should listen on. The address is in the standard
13931N/AD\-Bus format that contains a transport name plus possible parameters/options.
13931N/A</para>
17601N/A
13931N/A<screen>
13931N/A Example: &lt;listen&gt;unix:path=/tmp/foo&lt;/listen&gt;
13931N/A Example: &lt;listen&gt;tcp:host=localhost,port=1234&lt;/listen&gt;
13931N/A</screen>
17601N/A
13931N/A<para>
13931N/AIf there are multiple &lt;listen&gt; elements, then the bus listens on multiple
13931N/Aaddresses. The bus will pass its address to started services or other
13931N/Ainterested parties with the last address given in &lt;listen&gt; first. That
15985N/Ais, applications will try to connect to the last &lt;listen&gt; address first.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/Atcp sockets can accept IPv4 addresses, IPv6 addresses or hostnames. If a
13931N/Ahostname resolves to multiple addresses, the server will bind to all of them.
13931N/AThe family=ipv4 or family=ipv6 options can be used to force it to bind to a
13931N/Asubset of addresses.
13931N/A</para>
17601N/A
13931N/A<screen>
13931N/A Example:
13931N/A &lt;listen&gt;tcp:host=localhost,port=0,family=ipv4&lt;/listen&gt;
13931N/A</screen>
17601N/A
13931N/A<para>
13931N/AA special case is using a port number of zero (or omitting the port), which
13931N/Ameans to choose an available port selected by the operating system. The port
13931N/Anumber chosen can be obtained with the <option>-print-address</option> command
13931N/Aline parameter and will be present in other cases where the server reports its
13931N/Aown address, such as when DBUS_SESSION_BUS_ADDRESS is set.
13931N/A</para>
17601N/A
13931N/A<screen>
13931N/A Example: &lt;listen&gt;tcp:host=localhost,port=0&lt;/listen&gt;
13931N/A</screen>
17601N/A
13931N/A<para>
13931N/Atcp addresses also allow a bind=hostname option, which will override the host
13931N/Aoption specifying what address to bind to, without changing the address
13931N/Areported by the bus. The bind option can also take a special name '*' to
13931N/Acause the bus to listen on all local address (INADDR_ANY). The specified host
13931N/Ashould be a valid name of the local machine or weird stuff will happen.
13931N/A</para>
17601N/A
13931N/A<screen>
13931N/A Example: &lt;listen&gt;tcp:host=localhost,bind=*,port=0&lt;/listen&gt;
13931N/A</screen>
17601N/A
13931N/A<para>
13931N/A&lt;auth&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/ALists permitted authorization mechanisms. If this element does not exist, then
13931N/Aall known mechanisms are allowed. If there are multiple &lt;auth&gt; elements,
13931N/Aall the listed mechanisms are allowed. The order in which mechanisms are
13931N/Alisted is not meaningful.
13931N/A</para>
17601N/A
13931N/A<screen>
13931N/A Example: &lt;auth&gt;EXTERNAL&lt;/auth&gt;
13931N/A Example: &lt;auth&gt;DBUS_COOKIE_SHA1&lt;/auth&gt;
13931N/A</screen>
17601N/A
13931N/A<para>
13931N/A&lt;servicedir&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AAdds a directory to scan for <filename>.service</filename> files. Directories
13931N/Aare scanned starting with the last to appear in the config file (the first
13931N/A<filename>.service</filename> file found that provides a particular service
13931N/Awill be used).
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AService files tell the bus how to automatically start a program. They are
13931N/Aprimarily used with the per-user-session bus, not the systemwide bus.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;standard session servicedirs/&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;standard_session_servicedirs/&gt; is equivalent to specifying a series of
15985N/A&lt;servicedir/&gt; elements for each of the data directories in the &quot;XDG
15985N/ABase Directory Specification&quot; with the subdirectory
15985N/A&quot;<filename>dbus-1/services</filename>&quot;, so for example
15985N/A&quot;<filename>/usr/share/dbus-1/services</filename>&quot; would be among the directories searched.
13931N/A</para>
17601N/A
13931N/A<para>
15985N/AThe &quot;XDG Base Directory Specification&quot; should be found at
13931N/A<literal>http://freedesktop.org/wiki/Standards/basedir-spec</literal>.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThe &lt;standard_session_servicedirs/&gt; option is only relevant to the
13931N/Aper-user-session bus daemon defined in
13931N/A<filename>/etc/dbus\-1/session.conf</filename>. Putting it in any other
13931N/Aconfiguration file would probably be nonsense.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;standard system servicedirs/&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;standard_system_servicedirs/&gt; specifies the standard systemwide
13931N/Aactivation directories that should be searched for service files. This option
13931N/Adefaults to <filename>/usr/share/dbus-1/system-services</filename>.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThe &lt;standard_system_servicedirs/&gt; option is only relevant
13931N/Ato the per-system bus daemon defined in
13931N/A<filename>/etc/dbus\-1/system.conf</filename>. Putting it in any other
13931N/Aconfiguration file would probably be nonsense.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;servicehelper/&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;servicehelper/&gt; specifies the setuid helper that is used to launch
13931N/Asystem daemons with an alternate user. Typically this would be the
17602N/A<command>dbus-daemon-launch-helper</command> executable. Because
17603N/AD\-Bus service activation is disabled on Solaris, the
13931N/A<command>dbus-daemon-launch-helper</command> executable is not distributed
13931N/Awith Solaris.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThe &lt;servicehelper/&gt; option is only relevant to the per-system bus
13931N/Adaemon defined in <filename>/etc/dbus-1/system.conf</filename>. Putting it in
13931N/Aany other configuration file would probably be nonsense.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;limit&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;limit&gt; establishes a resource limit. For example:
13931N/A</para>
17601N/A
13931N/A<screen>
15985N/A &lt;limit name=&quot;max_message_size&quot;&gt;64&lt;/limit&gt;
15985N/A &lt;limit name=&quot;max_completed_connections&quot;&gt;512&lt;/limit&gt;
13931N/A</screen>
17601N/A
13931N/A<para>
13931N/AThe name attribute is mandatory. Available limit names are:
13931N/A</para>
13931N/A
13931N/A<screen>
15985N/A &quot;max_incoming_bytes&quot; : total size in bytes of
15985N/A messages incoming from
15985N/A a single connection
15985N/A &quot;max_outgoing_bytes&quot; : total size in bytes of
15985N/A messages queued up for
15985N/A a single connection
17601N/A &quot;max_message_size&quot; : maximum size of a
17601N/A single message in bytes
15985N/A &quot;service_start_timeout&quot; : milliseconds
15985N/A (thousandths) until a
15985N/A started service has to
15985N/A connect
15985N/A &quot;auth_timeout&quot; : milliseconds
15985N/A (thousandths) a
15985N/A connection is given to
15985N/A authenticate
17601N/A &quot;max_completed_connections&quot; : maximum number of
15985N/A authenticated
15985N/A connections
17601N/A &quot;max_incomplete_connections&quot; : maximum number of
15985N/A unauthenticated
15985N/A connections
17601N/A &quot;max_connections_per_user&quot; : maximum number of
15985N/A completed connections
15985N/A from the same user
17601N/A &quot;max_pending_service_starts&quot; : maximum number of
15985N/A service launches in
15985N/A progress at the same
15985N/A time
17601N/A &quot;max_names_per_connection&quot; : maximum number of
17601N/A names a single
17601N/A connection can own
17601N/A &quot;max_match_rules_per_connection&quot; : maximum number of
17601N/A match rules for a
17601N/A single connection
17601N/A &quot;max_replies_per_connection&quot; : maximum number of
15985N/A pending method replies
15985N/A per connection (number
15985N/A of calls-in-progress)
15985N/A &quot;reply_timeout&quot; : milliseconds
15985N/A (thousandths) until a
15985N/A method call times out
13931N/A</screen>
17601N/A
13931N/A<para>
17601N/AThe maximum incoming/outgoing queue sizes allow a new message to be queued if
17601N/Aone byte remains below the maximum. So you can in fact exceed the maximum by
13931N/Amax_message_size.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/Amax_completed_connections divided by max_connections_per_user is the number of
13931N/Ausers that can work together to denial-of-service all other users by using up
13931N/Aall connections on the systemwide bus.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/ALimits are normally only of interest on the systemwide bus, not the user
13931N/Asession buses.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;policy&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThe &lt;policy&gt; element defines a security policy to be applied to a
13931N/Aparticular set of connections to the bus. A policy is made up of &lt;allow&gt;
13931N/Aand &lt;deny&gt; elements. Policies are normally used with the systemwide bus;
13931N/Athey are analogous to a firewall in that they allow expected traffic and
13931N/Aprevent unexpected traffic.
13931N/A</para>
17601N/A
13931N/A<para>
15985N/ACurrently, the system bus has a default-deny policy for sending method calls
15985N/Aand owning bus names. Everything else, in particular reply messages, receive
15985N/Achecks, and signals has a default allow policy.
15985N/A</para>
17601N/A
15985N/A<para>
15985N/AIn general, it is best to keep system services as small, targeted programs
15985N/Awhich run in their own process and provide a single bus name. Then, all that
15985N/Ais needed is an &lt;allow&gt; rule for the &quot;own&quot; permission to let
15985N/Athe process claim the bus name, and a &quot;send_destination&quot; rule to
15985N/Aallow traffic from some or all uids to your service.
15985N/A</para>
17601N/A
15985N/A<para>
15985N/AThe &lt;policy&gt; element has one of four attributes:
13931N/A</para>
17601N/A
13931N/A<itemizedlist>
15995N/A<listitem>
15985N/Acontext=&quot;(default|mandatory)&quot;
15995N/A</listitem>
15995N/A<listitem>
15985N/Aat_console=&quot;(true|false)&quot;
15995N/A</listitem>
15995N/A<listitem>
15985N/Auser=&quot;username or userid&quot;
15995N/A</listitem>
15995N/A<listitem>
15985N/Agroup=&quot;group name or gid&quot;
15995N/A</listitem>
13931N/A</itemizedlist>
13931N/A<para>
13931N/APolicies are applied to a connection as follows:
13931N/A</para>
13931N/A<itemizedlist>
15995N/A<listitem>
15985N/Aall context=&quot;default&quot; policies are applied
15995N/A</listitem>
15995N/A<listitem>
15985N/Aall group=&quot;connection's user's group&quot; policies are applied
13931N/Ain undefined order
15995N/A</listitem>
15995N/A<listitem>
15985N/Aall user=&quot;connection's auth user&quot; policies are applied
13931N/Ain undefined order
15995N/A</listitem>
15995N/A<listitem>
15985N/Aall at_console=&quot;true&quot; policies are applied
15995N/A</listitem>
15995N/A<listitem>
15985N/Aall at_console=&quot;false&quot; policies are applied
15995N/A</listitem>
15995N/A<listitem>
15985N/Aall context=&quot;mandatory&quot; policies are applied
15995N/A</listitem>
13931N/A</itemizedlist>
17601N/A
13931N/A<para>
13931N/APolicies applied later will override those applied earlier, when the policies
13931N/Aoverlap. Multiple policies with the same user/group/context are applied in the
13931N/Aorder they appear in the config file.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;deny&gt; and &lt;allow&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AA &lt;deny&gt; element appears below a &lt;policy&gt; element and prohibits
13931N/Asome action. The &lt;allow&gt; element makes an exception to previous
13931N/A&lt;deny&gt; statements, and works just like &lt;deny&gt; but with the inverse
13931N/Ameaning.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThe possible attributes of these elements are:
13931N/A</para>
17601N/A
13931N/A<screen>
15985N/A send_interface=&quot;interface_name&quot;
15985N/A send_member=&quot;method_or_signal_name&quot;
15985N/A send_error=&quot;error_name&quot;
15985N/A send_destination=&quot;name&quot;
15985N/A send_type=&quot;method_call&quot; | &quot;method_return&quot; | &quot;signal&quot; | &quot;error&quot;
15985N/A send_path=&quot;/path/name&quot;
13931N/A</screen>
17601N/A
13931N/A<screen>
15985N/A receive_interface=&quot;interface_name&quot;
15985N/A receive_member=&quot;method_or_signal_name&quot;
15985N/A receive_error=&quot;error_name&quot;
15985N/A receive_sender=&quot;name&quot;
15985N/A receive_type=&quot;method_call&quot; | &quot;method_return&quot; | &quot;signal&quot; | &quot;error&quot;
15985N/A receive_path=&quot;/path/name&quot;
13931N/A</screen>
17601N/A
13931N/A<screen>
15985N/A send_requested_reply=&quot;true&quot; | &quot;false&quot;
15985N/A receive_requested_reply=&quot;true&quot; | &quot;false&quot;
13931N/A</screen>
17601N/A
13931N/A<screen>
15985N/A eavesdrop=&quot;true&quot; | &quot;false&quot;
13931N/A</screen>
17601N/A
13931N/A<screen>
15985N/A own=&quot;name&quot;
15985N/A user=&quot;username&quot;
15985N/A group=&quot;groupname&quot;
13931N/A</screen>
17601N/A
13931N/A<para>
13931N/AExamples:
13931N/A</para>
17601N/A
13931N/A<screen>
15985N/A &lt;deny send_interface=&quot;org.freedesktop.System&quot; send_member=&quot;Reboot&quot;/&gt;
15985N/A &lt;deny receive_interface=&quot;org.freedesktop.System&quot; receive_member=&quot;Reboot&quot;/&gt;
15985N/A &lt;deny own=&quot;org.freedesktop.System&quot;/&gt;
15985N/A &lt;deny send_destination=&quot;org.freedesktop.System&quot;/&gt;
15985N/A &lt;deny receive_sender=&quot;org.freedesktop.System&quot;/&gt;
15985N/A &lt;deny user=&quot;john&quot;/&gt;
15985N/A &lt;deny group=&quot;enemies&quot;/&gt;
13931N/A</screen>
17601N/A
13931N/A<para>
15985N/AThe &lt;deny&gt; element's attributes determine whether the deny
15985N/A&quot;matches&quot; a particular action. If it matches, the action is denied
15985N/A(unless later rules in the config file allow it).
13931N/A</para>
17601N/A
13931N/A<para>
13931N/Asend_destination and receive_sender rules mean that messages may not be sent to
13931N/Aor received from the *owner* of the given name, not that they may not be sent
13931N/A*to that name*. That is, if a connection owns services A, B, C, and sending to
13931N/AA is denied, sending to B or C will not work either.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThe other send_* and receive_* attributes are purely textual/by-value matches
13931N/Aagainst the given field in the message header.
13931N/A</para>
17601N/A
13931N/A<para>
15985N/A&quot;Eavesdropping&quot; occurs when an application receives a message that
15985N/Awas explicitly addressed to a name the application does not own, or is a reply
15985N/Ato such a message. Eavesdropping thus only applies to messages that are
15985N/Aaddressed to services and replies to such messages (i.e. it does not apply to
15985N/Asignals).
13931N/A</para>
17601N/A
13931N/A<para>
15985N/AFor &lt;allow&gt;, eavesdrop=&quot;true&quot; indicates that the rule matches
15985N/Aeven when eavesdropping. eavesdrop=&quot;false&quot; is the default and means
15985N/Athat the rule only allows messages to go to their specified recipient. For
15985N/A&lt;deny&gt;, eavesdrop=&quot;true&quot; indicates that the rule matches only
15985N/Awhen
15985N/Aeavesdropping. eavesdrop=&quot;false&quot; is the default for &lt;deny&gt;
15985N/Aalso, but here it means that the rule applies always, even when not
15985N/Aeavesdropping. The eavesdrop attribute can only be combined with send and
15985N/Areceive rules (with send_* and receive_* attributes).
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThe [send|receive]_requested_reply attribute works similarly to the eavesdrop
13931N/Aattribute. It controls whether the &lt;deny&gt; or &lt;allow&gt; matches a
13931N/Areply that is expected (corresponds to a previous method call message). This
13931N/Aattribute only makes sense for reply messages (errors and method returns), and
13931N/Ais ignored for other message types.
13931N/A</para>
17601N/A
13931N/A<para>
15985N/AFor &lt;allow&gt;, [send|receive]_requested_reply=&quot;true&quot; is the
15985N/Adefault and indicates that only requested replies are allowed by the rule.
15985N/A[send|receive]_requested_reply=&quot;false&quot; means that the rule allows any
15985N/Areply even if unexpected.
13931N/A</para>
17601N/A
13931N/A<para>
15985N/AFor &lt;deny&gt;, [send|receive]_requested_reply=&quot;false&quot; is the
15985N/Adefault but indicates that the rule matches only when the reply was not
15985N/Arequested. [send|receive]_requested_reply=&quot;true&quot; indicates that the
15985N/Arule applies always, regardless of pending reply state.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/Auser and group denials mean that the given user or group may not connect to the
13931N/Amessage bus.
13931N/A</para>
17601N/A
13931N/A<para>
15985N/AFor &quot;name&quot;, &quot;username&quot;, &quot;groupname&quot;, etc. the
15985N/Acharacter &quot;*&quot; can be substituted, meaning &quot;any&quot;. Complex
15985N/Aglobs like &quot;foo.bar.*&quot; are not allowed for now because they would be
15985N/Awork to implement and maybe encourage sloppy security anyway.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AIt does not make sense to deny a user or group inside a &lt;policy&gt; for
15985N/Aa user or group; user/group denials can only be inside
15985N/Acontext=&quot;default&quot; or context=&quot;mandatory&quot; policies.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AA single &lt;deny&gt; rule may specify combinations of attributes such as
13931N/Asend_destination and send_interface and send_type. In this case, the denial
13931N/Aapplies only if both attributes match the message being denied. e.g. &lt;deny
15985N/Asend_interface=&quot;foo.bar&quot; send_destination=&quot;foo.blah&quot;/&gt;
15985N/Awould deny messages with the given interface AND the given bus name. To get an
15985N/AOR effect you specify multiple &lt;deny&gt; rules.
13931N/A</para>
17601N/A
13931N/A<para>
15985N/AYou can not include both send_ and receive_ attributes on the same rule, since
15985N/A&quot;whether the message can be sent&quot; and &quot;whether it can be
15985N/Areceived&quot; are evaluated separately.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/ABe careful with send_interface/receive_interface, because the interface field
15985N/Ain messages is optional. In particular, do NOT specify &lt;deny
15985N/Asend_interface=&quot;org.foo.Bar&quot;/>! This will cause no-interface
15985N/Amessages to be blocked for all services, which is almost certainly not what you
15985N/Aintended. Always use rules of the form:
13931N/A</para>
17601N/A
17601N/A<screen>
17601N/A&lt;deny send_interface=&quot;org.foo.Bar&quot; send_destination=&quot;org.foo.Service&quot;/>
17601N/A</screen>
17601N/A
13931N/A<para>
13931N/A&lt;selinux&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThe &lt;selinux&gt; element contains settings related to Security Enhanced
13931N/ALinux. More details below. Note, SELinux is not supported on Solaris.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/A&lt;associate&gt;
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AAn &lt;associate&gt; element appears below an &lt;selinux&gt; element and
13931N/Acreates a mapping. Right now only one kind of association is possible:
13931N/A</para>
17601N/A
13931N/A<screen>
15985N/A &lt;associate own=&quot;org.freedesktop.Foobar&quot; context=&quot;foo_t&quot;/&gt;
13931N/A</screen>
17601N/A
13931N/A<para>
17601N/AThis means that if a connection asks to own the name
17601N/A&quot;org.freedesktop.Foobar&quot; then the source context will be the context
17601N/Aof the connection and the target context will be &quot;foo_t&quot; - see the
17601N/Ashort discussion of SELinux below.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/ANote, the context here is the target context when requesting a name, NOT the
13931N/Acontext of the connection owning the name.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThere is currently no way to set a default for owning any name, if we add this
13931N/Asyntax it will look like:
13931N/A</para>
17601N/A
13931N/A<screen>
15985N/A &lt;associate own=&quot;*&quot; context=&quot;foo_t&quot;/&gt;
13931N/A</screen>
17601N/A
13931N/A<para>
13931N/AIf you find a reason this is useful, let the developers know. Right now the
13931N/Adefault will be the security context of the bus itself.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AIf two &lt;associate&gt; elements specify the same name, the element appearing
13931N/Alater in the configuration file will be used.
13931N/A</para>
13931N/A</refsect2>
17593N/A
13931N/A<refsect2>
13931N/A<title>SELinux</title>
17601N/A
13931N/A<para>
17601N/ASELinux is not supported on Solaris.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/ASee <literal>http://www.nsa.gov/selinux/</literal> for full details on SELinux.
13931N/ASome useful excerpts:
13931N/A</para>
17601N/A
13931N/A<variablelist termlength="xtranarrow">
13931N/A<varlistentry>
13931N/A<term></term>
13931N/A<listitem>
13931N/A<para>
13931N/AEvery subject (process) and object (e.g. file, socket, IPC object, etc) in the
13931N/Asystem is assigned a collection of security attributes, known as a security
13931N/Acontext. A security context contains all of the security attributes associated
13931N/Awith a particular subject or object that are relevant to the security policy.
13931N/A</para>
13931N/A</listitem></varlistentry>
17601N/A
13931N/A<varlistentry>
13931N/A<term></term>
13931N/A<listitem>
13931N/A<para>
13931N/AIn order to better encapsulate security contexts and to provide greater
13931N/Aefficiency, the policy enforcement code of SELinux typically handles security
13931N/Aidentifiers (SIDs) rather than security contexts. A SID is an integer that is
13931N/Amapped by the security server to a security context at runtime.
13931N/A</para>
13931N/A</listitem></varlistentry>
17601N/A
13931N/A<varlistentry>
13931N/A<term></term>
13931N/A<listitem>
13931N/A<para>
13931N/AWhen a security decision is required, the policy enforcement code passes a pair
13931N/Aof SIDs (typically the SID of a subject and the SID of an object, but sometimes
13931N/Aa pair of subject SIDs or a pair of object SIDs), and an object security class
13931N/Ato the security server. The object security class indicates the kind of object,
13931N/Ae.g. a process, a regular file, a directory, a TCP socket, etc.
13931N/A</para>
13931N/A</listitem></varlistentry>
17601N/A
13931N/A<varlistentry>
13931N/A<term></term>
13931N/A<listitem>
13931N/A<para>
13931N/AAccess decisions specify whether or not a permission is granted for a given
13931N/Apair of SIDs and class. Each object class has a set of associated permissions
13931N/Adefined to control operations on objects with that class.
13931N/A</para>
13931N/A</listitem></varlistentry>
13931N/A</variablelist>
17601N/A
13931N/A<para>
13931N/AD\-Bus performs SELinux security checks in two places.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AFirst, any time a message is routed from one connection to another connection,
13931N/Athe bus daemon will check permissions with the security context of the first
13931N/Aconnection as source, security context of the second connection as target,
15985N/Aobject class &quot;dbus&quot; and requested permission &quot;send_msg&quot;.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AIf a security context is not available for a connection (impossible when using
13931N/AUNIX domain sockets), then the target context used is the context of the bus
13931N/Adaemon itself. There is currently no way to change this default, because we
13931N/Aare assuming that only UNIX domain sockets will be used to connect to the
15985N/Asystemwide bus. If this changes, we will probably add a way to set the default
13931N/Aconnection context.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/ASecond, any time a connection asks to own a name, the bus daemon will check
13931N/Apermissions with the security context of the connection as source, the security
13931N/Acontext specified for the name in the config file as target, object class
15985N/A&quot;dbus&quot; and requested permission &quot;acquire_svc&quot;.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AThe security context for a bus name is specified with the &lt;associate&gt;
13931N/Aelement described earlier in this document. If a name has no security context
13931N/Aassociated in the configuration file, the security context of the bus daemon
13931N/Aitself will be used.
13931N/A</para>
13931N/A</refsect2>
17593N/A
13931N/A<refsect2>
13931N/A<title>DEBUGGING</title>
13931N/A<para>
13931N/AIf you are trying to figure out where your messages are going or why you are
13931N/Anot getting messages, there are several things you can try.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/ARemember that the system bus is heavily locked down and if you have not
15985N/Ainstalled a security policy file to allow your message through, it will not
15985N/Awork. For the session bus, this is not a concern.
13931N/A</para>
17601N/A
13931N/A<para>
15985N/AThe simplest way to figure out what is happening on the bus is to run the
17601N/A<citerefentry><refentrytitle>dbus-monitor</refentrytitle>
17601N/A<manvolnum>1</manvolnum></citerefentry>
17601N/Aprogram, which comes with the D\-Bus package.
17601N/AYou can also send test messages with
17601N/A<citerefentry><refentrytitle>dbus-send</refentrytitle>
17601N/A<manvolnum>1</manvolnum></citerefentry>.
17601N/AThese programs have their own man pages.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AIf you want to know what the daemon itself is doing, you might consider running
13931N/Aa separate copy of the daemon to test against. This will allow you to put the
13931N/Adaemon under a debugger, or run it with verbose output, without messing up your
13931N/Areal session and system daemons.
13931N/A</para>
17601N/A
13931N/A<para>
15985N/ATo run a separate test copy of the daemon, for example, you might open a
13931N/Aterminal and type:
13931N/A</para>
17601N/A
13931N/A<screen>
13931N/A DBUS_VERBOSE=1 &cmd; --session --print-address
13931N/A</screen>
17601N/A
13931N/A<para>
13931N/AThe test daemon address will be printed when the daemon starts. You will need
13931N/Ato copy-and-paste this address and use it as the value of the
13931N/ADBUS_SESSION_BUS_ADDRESS environment variable when you launch the applications
13931N/Ayou want to test. This will cause those applications to connect to your test
13931N/Abus instead of the DBUS_SESSION_BUS_ADDRESS of your real session bus.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/ADBUS_VERBOSE=1 will have NO EFFECT unless your copy of D\-Bus was compiled with
13931N/Averbose mode enabled. This is not recommended in production builds due to
13931N/Aperformance impact. You may need to rebuild D\-Bus if your copy was not built
13931N/Awith debugging in mind. (DBUS_VERBOSE also affects the D\-Bus library and thus
13931N/Aapplications using D\-Bus; it may be useful to see verbose output on both the
13931N/Aclient side and from the daemon.)
13931N/A</para>
17601N/A
13931N/A<para>
13931N/AIf you want to get fancy, you can create a custom bus configuration for your
13931N/Atest bus (see the <filename>session.conf</filename> and
13931N/A<filename>system.conf</filename> files that define the two default
13931N/Aconfigurations for example). This would allow you to specify a different
13931N/Adirectory for <filename>.service</filename> files, for example.
13931N/A</para>
13931N/A</refsect2>
13931N/A</refsect1>
17593N/A
13931N/A<refsect1 id="dbus-daemon-1-exam"><title>&exam-tt;</title>
13931N/A<example role="example">
13931N/A<title>
13931N/AMessage bus daemon
13931N/A</title>
13931N/A<para><screen>example% <userinput>&cmd; </userinput></screen></para>
13931N/A</example>
13931N/A</refsect1>
17593N/A
17601N/A<refsect1 id="dbus-daemon-1-file"><title>&file-tt;</title>
13931N/A<para>
17601N/AThe following files are used by this application:
13931N/A</para>
17593N/A
13931N/A<variablelist termlength="wholeline">
13931N/A<varlistentry>
13931N/A<term><filename>/usr/lib/&cmd;</filename></term>
13931N/A<listitem><para>
15985N/AExecutable for <command>&cmd;</command>
13931N/A</para>
13931N/A</listitem></varlistentry>
17601N/A
13931N/A<varlistentry>
13931N/A<term><filename>/usr/share/dbus-1/services</filename></term>
13931N/A<listitem><para>
13931N/ADirectory containing standard D\-Bus session services.
13931N/A</para>
13931N/A</listitem></varlistentry>
17601N/A
13931N/A<varlistentry>
13931N/A<term><filename>/usr/share/dbus-1/system-services</filename></term>
13931N/A<listitem><para>
13931N/ADirectory containing standard D\-Bus systemwide services.
13931N/A</para>
13931N/A</listitem></varlistentry>
17601N/A
13931N/A<varlistentry>
13931N/A<term><filename>/etc/dbus-1/session.conf</filename></term>
13931N/A<listitem><para>
13931N/AConfiguration file for D\-Bus session services.
13931N/A</para>
13931N/A</listitem></varlistentry>
17601N/A
13931N/A<varlistentry>
13931N/A<term><filename>/etc/dbus-1/system.conf</filename></term>
13931N/A<listitem><para>
13931N/AConfiguration file for D\-Bus system services.
13931N/A</para>
13931N/A</listitem></varlistentry>
17616N/A</variablelist>
17616N/A</refsect1>
17593N/A
13931N/A<refsect1 id="dbus-daemon-1-attr"><title>&attr-tt;</title>
17601N/A<para>
17601N/ASee <olink targetdocent="REFMAN5" localinfo="attributes-5">
17601N/A<citerefentry><refentrytitle>attributes</refentrytitle>
17601N/A<manvolnum>5</manvolnum></citerefentry></olink>
17601N/Afor descriptions of the following attributes:
17601N/A</para>
17601N/A
13931N/A<informaltable frame="all">
17601N/A<tgroup cols="2" colsep="1" rowsep="1">
17601N/A<colspec colname="COLSPEC0" colwidth="1*">
13931N/A<colspec colname="COLSPEC1" colwidth="1*">
13931N/A<thead>
17601N/A<row>
17601N/A<entry align="center" valign="middle">ATTRIBUTE TYPE</entry>
17601N/A<entry align="center" valign="middle">ATTRIBUTE VALUE</entry>
17601N/A</row>
13931N/A</thead>
13931N/A<tbody>
17601N/A<row>
17601N/A<entry><para>Availability</para></entry>
18745N/A<entry><para>system/library/dbus</para></entry>
17601N/A</row>
17601N/A<row>
17601N/A<entry colname="COLSPEC0"><para>Interface stability</para></entry>
17601N/A<entry colname="COLSPEC1"><para>Volatile</para></entry>
17601N/A</row>
13931N/A</tbody>
13931N/A</tgroup>
13931N/A</informaltable>
13931N/A</refsect1>
17593N/A
13931N/A<refsect1 id="dbus-daemon-1-also"><title>&also-tt;</title>
13931N/A<!--Reference to another man page-->
13931N/A<!--Reference to a Help manual-->
13931N/A<!--Reference to a book.-->
13931N/A<para>
17601N/AMore information can be found at:
17601N/A</para>
17601N/A
17601N/A<para>
17601N/A<literal>http://www.freedesktop.org/software/dbus/</literal>
17601N/A</para>
17601N/A
17601N/A<para>
15995N/A<citerefentry><refentrytitle>dbus-binding-tool</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
13931N/A<citerefentry><refentrytitle>dbus-cleanup-sockets</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
13931N/A<citerefentry><refentrytitle>dbus-launch</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
13931N/A<citerefentry><refentrytitle>dbus-monitor</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
13931N/A<citerefentry><refentrytitle>dbus-send</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
13931N/A<citerefentry><refentrytitle>dbus-uuidgen</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
17601N/A<citerefentry><refentrytitle>svcadm</refentrytitle><manvolnum>1m</manvolnum></citerefentry>,
13931N/A<citerefentry><refentrytitle>libdbus-glib-1</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
13931N/A<citerefentry><refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
17601N/A<citerefentry><refentrytitle>environ</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
17601N/A<citerefentry><refentrytitle>smf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
13931N/A</para>
13931N/A</refsect1>
17593N/A
13931N/A<refsect1 id="dbus-daemon-1-note"><title>&note-tt;</title>
13931N/A<para>
13931N/AFor authorship information refer to
13931N/A<literal>http://www.freedesktop.org/software/dbus/doc/AUTHORS</literal>.
13931N/AUpdated by Brian Cameron, Sun Microsystems Inc., 2007.
13931N/A</para>
17601N/A
13931N/A<para>
13931N/APlease send bug reports to the D\-Bus mailing list or bug
13931N/Atracker, see
13931N/A<literal>http://www.freedesktop.org/software/dbus/</literal>
13931N/A</para>
13931N/A</refsect1>
13931N/A</refentry>