diff options
-rw-r--r-- | NEWS | 12 | ||||
-rw-r--r-- | config.h.in | 6 | ||||
-rwxr-xr-x | configure | 26 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | dbus/dbus-keyring.c | 6 | ||||
-rw-r--r-- | dbus/dbus-sysdeps-unix.c | 6 | ||||
-rw-r--r-- | dbus/dbus-sysdeps.c | 6 | ||||
-rw-r--r-- | doc/dbus-faq.html | 48 | ||||
-rw-r--r-- | doc/dbus-specification.html | 36 | ||||
-rw-r--r-- | doc/dbus-test-plan.html | 4 |
10 files changed, 71 insertions, 83 deletions
@@ -1,3 +1,15 @@ +D-Bus 1.6.8 (2012-09-28) +== + +The "Fix one thing, break another" release. + +• Follow up to CVE-2012-3524: The additional hardening + work to use __secure_getenv() as a followup to bug #52202 + broke certain configurations of gnome-keyring. Given + the difficulty of making this work without extensive + changes to gnome-keyring, use of __secure_getenv() is + deferred. + D-Bus 1.6.6 (2012-09-28) == diff --git a/config.h.in b/config.h.in index 3b3c297e..b939bebb 100644 --- a/config.h.in +++ b/config.h.in @@ -260,9 +260,6 @@ /* Have POSIX function getpwnam_r */ #undef HAVE_POSIX_GETPWNAM_R -/* Define to 1 if you have the `secure_getenv' function. */ -#undef HAVE_SECURE_GETENV - /* SELinux support */ #undef HAVE_SELINUX @@ -353,9 +350,6 @@ /* Define to 1 if you have the <wspiapi.h> header file. */ #undef HAVE_WSPIAPI_H -/* Define to 1 if you have the `__secure_getenv' function. */ -#undef HAVE___SECURE_GETENV - /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for dbus 1.6.6. +# Generated by GNU Autoconf 2.68 for dbus 1.6.8. # # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=dbus>. # @@ -571,8 +571,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='dbus' PACKAGE_TARNAME='dbus' -PACKAGE_VERSION='1.6.6' -PACKAGE_STRING='dbus 1.6.6' +PACKAGE_VERSION='1.6.8' +PACKAGE_STRING='dbus 1.6.8' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=dbus' PACKAGE_URL='' @@ -1509,7 +1509,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures dbus 1.6.6 to adapt to many kinds of systems. +\`configure' configures dbus 1.6.8 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1583,7 +1583,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of dbus 1.6.6:";; + short | recursive ) echo "Configuration of dbus 1.6.8:";; esac cat <<\_ACEOF @@ -1781,7 +1781,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -dbus configure 1.6.6 +dbus configure 1.6.8 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2495,7 +2495,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by dbus $as_me 1.6.6, which was +It was created by dbus $as_me 1.6.8, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -3387,7 +3387,7 @@ fi # Define the identity of the package. PACKAGE='dbus' - VERSION='1.6.6' + VERSION='1.6.8' cat >>confdefs.h <<_ACEOF @@ -3612,8 +3612,8 @@ LT_AGE=7 DBUS_MAJOR_VERSION=1 DBUS_MINOR_VERSION=6 -DBUS_MICRO_VERSION=6 -DBUS_VERSION=1.6.6 +DBUS_MICRO_VERSION=8 +DBUS_VERSION=1.6.8 @@ -18546,7 +18546,7 @@ fi fi -for ac_func in vsnprintf vasprintf nanosleep usleep setenv clearenv unsetenv socketpair getgrouplist fpathconf setrlimit poll setlocale localeconv strtoll strtoull issetugid getresuid secure_getenv __secure_getenv +for ac_func in vsnprintf vasprintf nanosleep usleep setenv clearenv unsetenv socketpair getgrouplist fpathconf setrlimit poll setlocale localeconv strtoll strtoull issetugid getresuid do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -23173,7 +23173,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by dbus $as_me 1.6.6, which was +This file was extended by dbus $as_me 1.6.8, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23239,7 +23239,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -dbus config.status 1.6.6 +dbus config.status 1.6.8 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 4cdb71b8..24fcc9e7 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ([2.63]) m4_define([dbus_major_version], [1]) m4_define([dbus_minor_version], [6]) -m4_define([dbus_micro_version], [6]) +m4_define([dbus_micro_version], [8]) m4_define([dbus_version], [dbus_major_version.dbus_minor_version.dbus_micro_version]) AC_INIT([dbus],[dbus_version],[https://bugs.freedesktop.org/enter_bug.cgi?product=dbus],[dbus]) @@ -596,7 +596,7 @@ AC_DEFINE_UNQUOTED([DBUS_USE_SYNC], [$have_sync], [Use the gcc __sync extension] AC_SEARCH_LIBS(socket,[socket network]) AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)]) -AC_CHECK_FUNCS(vsnprintf vasprintf nanosleep usleep setenv clearenv unsetenv socketpair getgrouplist fpathconf setrlimit poll setlocale localeconv strtoll strtoull issetugid getresuid secure_getenv __secure_getenv ) +AC_CHECK_FUNCS(vsnprintf vasprintf nanosleep usleep setenv clearenv unsetenv socketpair getgrouplist fpathconf setrlimit poll setlocale localeconv strtoll strtoull issetugid getresuid) AC_CHECK_HEADERS([syslog.h]) if test "x$ac_cv_header_syslog_h" = "xyes"; then diff --git a/dbus/dbus-keyring.c b/dbus/dbus-keyring.c index 2516bc34..3b9ce315 100644 --- a/dbus/dbus-keyring.c +++ b/dbus/dbus-keyring.c @@ -718,12 +718,6 @@ _dbus_keyring_new_for_credentials (DBusCredentials *credentials, _DBUS_ASSERT_ERROR_IS_CLEAR (error); - if (_dbus_getenv ("HOME") == NULL) - { - dbus_set_error_const (error, DBUS_ERROR_NOT_SUPPORTED, - "Unable to create DBus keyring with no $HOME"); - return FALSE; - } if (_dbus_check_setuid ()) { dbus_set_error_const (error, DBUS_ERROR_NOT_SUPPORTED, diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c index 6fa5bcb6..b4ecc96e 100644 --- a/dbus/dbus-sysdeps-unix.c +++ b/dbus/dbus-sysdeps-unix.c @@ -3434,12 +3434,6 @@ _dbus_get_autolaunch_address (const char *scope, DBusString uuid; dbus_bool_t retval; - if (_dbus_getenv ("PATH") == NULL) - { - dbus_set_error_const (error, DBUS_ERROR_NOT_SUPPORTED, - "Unable to autolaunch when PATH is unset"); - return FALSE; - } if (_dbus_check_setuid ()) { dbus_set_error_const (error, DBUS_ERROR_NOT_SUPPORTED, diff --git a/dbus/dbus-sysdeps.c b/dbus/dbus-sysdeps.c index 976c7e4b..04fb8d76 100644 --- a/dbus/dbus-sysdeps.c +++ b/dbus/dbus-sysdeps.c @@ -182,18 +182,12 @@ _dbus_setenv (const char *varname, const char* _dbus_getenv (const char *varname) { -#if defined(HAVE_SECURE_GETENV) - return secure_getenv (varname); -#elif defined(HAVE___SECURE_GETENV) - return __secure_getenv (varname); -#else /* Don't respect any environment variables if the current process is * setuid. This is the equivalent of glibc's __secure_getenv(). */ if (_dbus_check_setuid ()) return NULL; return getenv (varname); -#endif } /** diff --git a/doc/dbus-faq.html b/doc/dbus-faq.html index 19ac3115..c42e1b2f 100644 --- a/doc/dbus-faq.html +++ b/doc/dbus-faq.html @@ -1,13 +1,13 @@ <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>D-Bus FAQ</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" title="D-Bus FAQ"><div class="titlepage"><div><div><h2 class="title"><a name="index"></a>D-Bus FAQ</h2></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname">Havoc</span> <span class="surname">Pennington</span></h3><div class="affiliation"><span class="orgname">Red Hat, Inc.<br></span><div class="address"><p><br> <code class="email"><<a class="email" href="mailto:hp@pobox.com">hp@pobox.com</a>></code><br> - </p></div></div></div><div class="author"><h3 class="author"><span class="firstname">David</span> <span class="othername">A</span> <span class="surname">Wheeler</span></h3></div></div></div><div><p class="releaseinfo">Version 0.3</p></div></div><hr></div><div class="qandaset" title="Frequently Asked Questions"><a name="faq"></a><dl><dt>1. <a href="#id320491"> + </p></div></div></div><div class="author"><h3 class="author"><span class="firstname">David</span> <span class="othername">A</span> <span class="surname">Wheeler</span></h3></div></div></div><div><p class="releaseinfo">Version 0.3</p></div></div><hr></div><div class="qandaset" title="Frequently Asked Questions"><a name="faq"></a><dl><dt>1. <a href="#idp48080"> What is D-Bus? - </a></dt><dt>2. <a href="#id320524"> + </a></dt><dt>2. <a href="#idp51984"> Is D-Bus stable/finished? - </a></dt><dt>3. <a href="#id320550"> + </a></dt><dt>3. <a href="#idp55152"> How is the reference implementation licensed? Can I use it in proprietary applications? - </a></dt><dt>4. <a href="#id320583"> + </a></dt><dt>4. <a href="#idp59104"> What is the difference between a bus name, and object path, and an interface? </a></dt><dt>5. <a href="#service"> @@ -39,9 +39,9 @@ How does D-Bus differ from [yet more IPC mechanisms]? </a></dt><dt>18. <a href="#which-ipc"> Which IPC mechanism should I use? - </a></dt><dt>19. <a href="#id359966"> + </a></dt><dt>19. <a href="#idp4836432"> How can I submit a bug or patch? - </a></dt></dl><table border="0" width="100%" summary="Q and A Set"><col align="left" width="1%"><col><tbody><tr class="question" title="1."><td align="left" valign="top"><a name="id320491"></a><a name="id320493"></a><p><b>1.</b></p></td><td align="left" valign="top"><p> + </a></dt></dl><table border="0" width="100%" summary="Q and A Set"><col align="left" width="1%"><col><tbody><tr class="question" title="1."><td align="left" valign="top"><a name="idp48080"></a><a name="idp48336"></a><p><b>1.</b></p></td><td align="left" valign="top"><p> What is D-Bus? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> This is probably best answered by reading the D-Bus <a class="ulink" href="dbus-tutorial.html" target="_top">tutorial</a> or @@ -52,7 +52,7 @@ Phrased differently, D-Bus is 1) an interprocess communication (IPC) system and 2) some higher-level structure (lifecycle tracking, service activation, security policy) provided by two bus daemons, one systemwide and one per-user-session. - </p></td></tr><tr class="question" title="2."><td align="left" valign="top"><a name="id320524"></a><a name="id320526"></a><p><b>2.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="2."><td align="left" valign="top"><a name="idp51984"></a><a name="idp52240"></a><p><b>2.</b></p></td><td align="left" valign="top"><p> Is D-Bus stable/finished? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> The low-level library "libdbus" and the protocol specification are considered @@ -62,7 +62,7 @@ have their own release schedules and degree of maturity, not linked to the low-level library and bus daemon release. Check the project page for the binding you're considering to understand that project's policies. - </p></td></tr><tr class="question" title="3."><td align="left" valign="top"><a name="id320550"></a><a name="id320552"></a><p><b>3.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="3."><td align="left" valign="top"><a name="idp55152"></a><a name="idp55408"></a><p><b>3.</b></p></td><td align="left" valign="top"><p> How is the reference implementation licensed? Can I use it in proprietary applications? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> @@ -77,7 +77,7 @@ use D-Bus</em></span>. If you're going to sue, you have to stop using the software. Read the licenses to determine their meaning, this FAQ entry is not intended to change the meaning or terms of the licenses. - </p></td></tr><tr class="question" title="4."><td align="left" valign="top"><a name="id320583"></a><a name="id320585"></a><p><b>4.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="4."><td align="left" valign="top"><a name="idp59104"></a><a name="idp59360"></a><p><b>4.</b></p></td><td align="left" valign="top"><p> What is the difference between a bus name, and object path, and an interface? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> @@ -107,7 +107,7 @@ interfaces, such as <code class="literal">org.freedesktop.DBus.Introspectable</code>, <code class="literal">org.freedesktop.BasicTextField</code>, <code class="literal">org.kde.RichTextDocument</code>. - </p></td></tr><tr class="question" title="5."><td align="left" valign="top"><a name="service"></a><a name="id350895"></a><p><b>5.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="5."><td align="left" valign="top"><a name="service"></a><a name="idp3746896"></a><p><b>5.</b></p></td><td align="left" valign="top"><p> What is a "service"? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> A service is a program that can be launched by the bus daemon @@ -120,7 +120,7 @@ In the D-Bus docs we try to use "service" only when talking about programs the bus knows how to launch, i.e. a service always has a .service file. - </p></td></tr><tr class="question" title="6."><td align="left" valign="top"><a name="components"></a><a name="id350922"></a><p><b>6.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="6."><td align="left" valign="top"><a name="components"></a><a name="idp3750112"></a><p><b>6.</b></p></td><td align="left" valign="top"><p> Is D-Bus a "component system"? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> It helps to keep these concepts separate in your mind: @@ -170,7 +170,7 @@ from component/object systems, though perhaps a "plugin" tends to be a bundle of objects with a user-visible name and can be downloaded/packaged as a unit. - </p></td></tr><tr class="question" title="7."><td align="left" valign="top"><a name="speed"></a><a name="id320332"></a><p><b>7.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="7."><td align="left" valign="top"><a name="speed"></a><a name="idp28640"></a><p><b>7.</b></p></td><td align="left" valign="top"><p> How fast is the D-Bus reference implementation? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> Of course it depends a bit on what you're doing. @@ -198,7 +198,7 @@ enable asynchronous communication and avoid round trips. This is frequently a more important performance issue than throughput. - </p></td></tr><tr class="question" title="8."><td align="left" valign="top"><a name="size"></a><a name="id320377"></a><p><b>8.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="8."><td align="left" valign="top"><a name="size"></a><a name="idp34160"></a><p><b>8.</b></p></td><td align="left" valign="top"><p> How large is the D-Bus reference implementation? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> A production build (with assertions, unit tests, and verbose logging @@ -207,7 +207,7 @@ A much, much smaller implementation would be possible by omitting out of memory handling, hardcoding a main loop (or always using blocking I/O), skipping validation, and otherwise simplifying things. - </p></td></tr><tr class="question" title="9."><td align="left" valign="top"><a name="other-ipc"></a><a name="id320403"></a><p><b>9.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="9."><td align="left" valign="top"><a name="other-ipc"></a><a name="idp37280"></a><p><b>9.</b></p></td><td align="left" valign="top"><p> How does D-Bus differ from other interprocess communication or networking protocols? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> @@ -240,7 +240,7 @@ Note: the D-Bus mailing list subscribers are <span class="emphasis"><em>very much not interested</em></span> in debating which IPC system is the One True System. So if you want to discuss that, please use another forum. - </p></td></tr><tr class="question" title="10."><td align="left" valign="top"><a name="corba"></a><a name="id359353"></a><p><b>10.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="10."><td align="left" valign="top"><a name="corba"></a><a name="idp4762800"></a><p><b>10.</b></p></td><td align="left" valign="top"><p> How does D-Bus differ from CORBA? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> Start by reading <a class="xref" href="#other-ipc" title="9.">Q: 9</a>. @@ -292,7 +292,7 @@ </p><p> On a more trivial note, D-Bus involves substantially fewer acronyms than CORBA. - </p></td></tr><tr class="question" title="11."><td align="left" valign="top"><a name="xmlrpcsoap"></a><a name="id319795"></a><p><b>11.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="11."><td align="left" valign="top"><a name="xmlrpcsoap"></a><a name="idm35328"></a><p><b>11.</b></p></td><td align="left" valign="top"><p> How does D-Bus differ from XML-RPC and SOAP? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> Start by reading <a class="xref" href="#other-ipc" title="9.">Q: 9</a>. @@ -311,7 +311,7 @@ supports lifecycle tracking of other applications connected to the bus. With XML-RPC and SOAP, typically each method call exists in isolation and has its own HTTP connection. - </p></td></tr><tr class="question" title="12."><td align="left" valign="top"><a name="dce"></a><a name="id359678"></a><p><b>12.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="12."><td align="left" valign="top"><a name="dce"></a><a name="idp4801888"></a><p><b>12.</b></p></td><td align="left" valign="top"><p> How does D-Bus differ from DCE? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> Start by reading <a class="xref" href="#other-ipc" title="9.">Q: 9</a>. @@ -324,7 +324,7 @@ a distributed time service. As the name implies, DCE is intended for use in a large, multi-computer distributed application. D-Bus would not be well-suited for this. - </p></td></tr><tr class="question" title="13."><td align="left" valign="top"><a name="dcom"></a><a name="id359718"></a><p><b>13.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="13."><td align="left" valign="top"><a name="dcom"></a><a name="idp4806592"></a><p><b>13.</b></p></td><td align="left" valign="top"><p> How does D-Bus differ from DCOM and COM? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> Start by reading <a class="xref" href="#other-ipc" title="9.">Q: 9</a>. @@ -334,7 +334,7 @@ </p><p> DCOM (distributed COM) is a Windows IPC system designed for use with the COM object system. It's similar in some ways to DCE and CORBA. - </p></td></tr><tr class="question" title="14."><td align="left" valign="top"><a name="internet-communications-engine"></a><a name="id359753"></a><p><b>14.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="14."><td align="left" valign="top"><a name="internet-communications-engine"></a><a name="idp4810864"></a><p><b>14.</b></p></td><td align="left" valign="top"><p> How does D-Bus differ from ZeroC's Internet Communications Engine (Ice) </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> Start by reading <a class="xref" href="#other-ipc" title="9.">Q: 9</a>. @@ -344,7 +344,7 @@ on the level of SOAP or CORBA than D-Bus. Ice has a "dual-license" business around it; i.e. you can use it under the GPL, or pay for a proprietary license. - </p></td></tr><tr class="question" title="15."><td align="left" valign="top"><a name="inter-client-exchange"></a><a name="id359787"></a><p><b>15.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="15."><td align="left" valign="top"><a name="inter-client-exchange"></a><a name="idp4814880"></a><p><b>15.</b></p></td><td align="left" valign="top"><p> How does D-Bus differ from Inter-Client Exchange (ICE)? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> <a class="ulink" href="http://www.x.org/X11R6.8.1/docs/ICE/ice.pdf" target="_top">ICE</a> @@ -362,7 +362,7 @@ DCOP and XSMP are the only two widely-used applications of ICE, and both could in principle be replaced by D-Bus. (Though whether GNOME and KDE will bother is an open question.) - </p></td></tr><tr class="question" title="16."><td align="left" valign="top"><a name="dcop"></a><a name="id359825"></a><p><b>16.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="16."><td align="left" valign="top"><a name="dcop"></a><a name="idp4819504"></a><p><b>16.</b></p></td><td align="left" valign="top"><p> How does D-Bus differ from DCOP? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> Start by reading <a class="xref" href="#other-ipc" title="9.">Q: 9</a>. @@ -389,14 +389,14 @@ DCOP's implementation to use D-Bus internally (so that GNOME and KDE would end up using exactly the same bus). See the KDE mailing list archives for some of these discussions. - </p></td></tr><tr class="question" title="17."><td align="left" valign="top"><a name="yet-more-ipc"></a><a name="id359883"></a><p><b>17.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="17."><td align="left" valign="top"><a name="yet-more-ipc"></a><a name="idp4826496"></a><p><b>17.</b></p></td><td align="left" valign="top"><p> How does D-Bus differ from [yet more IPC mechanisms]? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> Start by reading <a class="xref" href="#other-ipc" title="9.">Q: 9</a>. </p><p> There are countless uses of network sockets in the world. <a class="ulink" href="http://www.mbus.org/" target="_top">MBUS</a>, Sun ONC/RPC, Jabber/XMPP, SIP, are some we can think of quickly. - </p></td></tr><tr class="question" title="18."><td align="left" valign="top"><a name="which-ipc"></a><a name="id359916"></a><p><b>18.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="18."><td align="left" valign="top"><a name="which-ipc"></a><a name="idp4830432"></a><p><b>18.</b></p></td><td align="left" valign="top"><p> Which IPC mechanism should I use? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> Start by reading <a class="xref" href="#other-ipc" title="9.">Q: 9</a>. @@ -427,7 +427,7 @@ to search the list archives is probably to use an Internet engine such as Google. On Google, include "site:freedesktop.org" in your search. - </p></td></tr><tr class="question" title="19."><td align="left" valign="top"><a name="id359966"></a><a name="id359968"></a><p><b>19.</b></p></td><td align="left" valign="top"><p> + </p></td></tr><tr class="question" title="19."><td align="left" valign="top"><a name="idp4836432"></a><a name="idp4836688"></a><p><b>19.</b></p></td><td align="left" valign="top"><p> How can I submit a bug or patch? </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> The D-Bus <a class="ulink" href="http://dbus.freedesktop.org" target="_top">web site</a> diff --git a/doc/dbus-specification.html b/doc/dbus-specification.html index 55a1db73..f42243fc 100644 --- a/doc/dbus-specification.html +++ b/doc/dbus-specification.html @@ -16,7 +16,7 @@ and system services on Unix; document the systemd transport</td></tr><tr><td align="left">Revision 0.18</td><td align="left">29 July 2011</td><td align="left">smcv</td></tr><tr><td align="left" colspan="3">define eavesdropping, unicast, broadcast; add eavesdrop match keyword; promote type system to a top-level section</td></tr><tr><td align="left">Revision 0.17</td><td align="left">1 June 2011</td><td align="left">smcv/davidz</td></tr><tr><td align="left" colspan="3">define ObjectManager; reserve extra pseudo-type-codes used by GVariant</td></tr><tr><td align="left">Revision 0.16</td><td align="left">11 April 2011</td><td align="left"></td></tr><tr><td align="left" colspan="3">add path_namespace, arg0namespace; argNpath matches object - paths</td></tr><tr><td align="left">Revision 0.15</td><td align="left">3 November 2010</td><td align="left"></td></tr><tr><td align="left" colspan="3"></td></tr><tr><td align="left">Revision 0.14</td><td align="left">12 May 2010</td><td align="left"></td></tr><tr><td align="left" colspan="3"></td></tr><tr><td align="left">Revision 0.13</td><td align="left">23 Dezember 2009</td><td align="left"></td></tr><tr><td align="left" colspan="3"></td></tr><tr><td align="left">Revision 0.12</td><td align="left">7 November, 2006</td><td align="left"></td></tr><tr><td align="left" colspan="3"></td></tr><tr><td align="left">Revision 0.11</td><td align="left">6 February 2005</td><td align="left"></td></tr><tr><td align="left" colspan="3"></td></tr><tr><td align="left">Revision 0.10</td><td align="left">28 January 2005</td><td align="left"></td></tr><tr><td align="left" colspan="3"></td></tr><tr><td align="left">Revision 0.9</td><td align="left">7 Januar 2005</td><td align="left"></td></tr><tr><td align="left" colspan="3"></td></tr><tr><td align="left">Revision 0.8</td><td align="left">06 September 2003</td><td align="left"></td></tr><tr><td align="left" colspan="3">First released document.</td></tr></table></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#introduction">Introduction</a></span></dt><dd><dl><dt><span class="sect2"><a href="#stability">Protocol and Specification Stability</a></span></dt></dl></dd><dt><span class="sect1"><a href="#type-system">Type System</a></span></dt><dd><dl><dt><span class="sect2"><a href="#message-protocol-signatures">Type Signatures</a></span></dt><dt><span class="sect2"><a href="#message-protocol-marshaling">Marshaling (Wire Format)</a></span></dt></dl></dd><dt><span class="sect1"><a href="#message-protocol">Message Protocol</a></span></dt><dd><dl><dt><span class="sect2"><a href="#message-protocol-messages">Message Format</a></span></dt><dt><span class="sect2"><a href="#message-protocol-names">Valid Names</a></span></dt><dt><span class="sect2"><a href="#message-protocol-types">Message Types</a></span></dt><dt><span class="sect2"><a href="#message-protocol-handling-invalid">Invalid Protocol and Spec Extensions</a></span></dt></dl></dd><dt><span class="sect1"><a href="#auth-protocol">Authentication Protocol</a></span></dt><dd><dl><dt><span class="sect2"><a href="#auth-protocol-overview">Protocol Overview</a></span></dt><dt><span class="sect2"><a href="#auth-nul-byte">Special credentials-passing nul byte</a></span></dt><dt><span class="sect2"><a href="#auth-command-auth">AUTH command</a></span></dt><dt><span class="sect2"><a href="#auth-command-cancel">CANCEL Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-data">DATA Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-begin">BEGIN Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-rejected">REJECTED Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-ok">OK Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-error">ERROR Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-negotiate-unix-fd">NEGOTIATE_UNIX_FD Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-agree-unix-fd">AGREE_UNIX_FD Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-future">Future Extensions</a></span></dt><dt><span class="sect2"><a href="#auth-examples">Authentication examples</a></span></dt><dt><span class="sect2"><a href="#auth-states">Authentication state diagrams</a></span></dt><dt><span class="sect2"><a href="#auth-mechanisms">Authentication mechanisms</a></span></dt></dl></dd><dt><span class="sect1"><a href="#addresses">Server Addresses</a></span></dt><dt><span class="sect1"><a href="#transports">Transports</a></span></dt><dd><dl><dt><span class="sect2"><a href="#transports-unix-domain-sockets">Unix Domain Sockets</a></span></dt><dt><span class="sect2"><a href="#transports-launchd">launchd</a></span></dt><dt><span class="sect2"><a href="#transports-systemd">systemd</a></span></dt><dt><span class="sect2"><a href="#transports-tcp-sockets">TCP Sockets</a></span></dt><dt><span class="sect2"><a href="#transports-nonce-tcp-sockets">Nonce-secured TCP Sockets</a></span></dt><dt><span class="sect2"><a href="#transports-exec">Executed Subprocesses on Unix</a></span></dt></dl></dd><dt><span class="sect1"><a href="#meta-transports">Meta Transports</a></span></dt><dd><dl><dt><span class="sect2"><a href="#meta-transports-autolaunch">Autolaunch</a></span></dt></dl></dd><dt><span class="sect1"><a href="#uuids">UUIDs</a></span></dt><dt><span class="sect1"><a href="#standard-interfaces">Standard Interfaces</a></span></dt><dd><dl><dt><span class="sect2"><a href="#standard-interfaces-peer"><code class="literal">org.freedesktop.DBus.Peer</code></a></span></dt><dt><span class="sect2"><a href="#standard-interfaces-introspectable"><code class="literal">org.freedesktop.DBus.Introspectable</code></a></span></dt><dt><span class="sect2"><a href="#standard-interfaces-properties"><code class="literal">org.freedesktop.DBus.Properties</code></a></span></dt><dt><span class="sect2"><a href="#standard-interfaces-objectmanager"><code class="literal">org.freedesktop.DBus.ObjectManager</code></a></span></dt></dl></dd><dt><span class="sect1"><a href="#introspection-format">Introspection Data Format</a></span></dt><dt><span class="sect1"><a href="#message-bus">Message Bus Specification</a></span></dt><dd><dl><dt><span class="sect2"><a href="#message-bus-overview">Message Bus Overview</a></span></dt><dt><span class="sect2"><a href="#message-bus-names">Message Bus Names</a></span></dt><dt><span class="sect2"><a href="#message-bus-routing">Message Bus Message Routing</a></span></dt><dt><span class="sect2"><a href="#message-bus-starting-services">Message Bus Starting Services</a></span></dt><dt><span class="sect2"><a href="#message-bus-types">Well-known Message Bus Instances</a></span></dt><dt><span class="sect2"><a href="#message-bus-messages">Message Bus Messages</a></span></dt></dl></dd><dt><span class="glossary"><a href="#id407266">Glossary</a></span></dt></dl></div><div class="sect1" title="Introduction"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="introduction"></a>Introduction</h2></div></div></div><p> + paths</td></tr><tr><td align="left">Revision 0.15</td><td align="left">3 November 2010</td><td align="left"></td></tr><tr><td align="left" colspan="3"></td></tr><tr><td align="left">Revision 0.14</td><td align="left">12 May 2010</td><td align="left"></td></tr><tr><td align="left" colspan="3"></td></tr><tr><td align="left">Revision 0.13</td><td align="left">23 Dezember 2009</td><td align="left"></td></tr><tr><td align="left" colspan="3"></td></tr><tr><td align="left">Revision 0.12</td><td align="left">7 November, 2006</td><td align="left"></td></tr><tr><td align="left" colspan="3"></td></tr><tr><td align="left">Revision 0.11</td><td align="left">6 February 2005</td><td align="left"></td></tr><tr><td align="left" colspan="3"></td></tr><tr><td align="left">Revision 0.10</td><td align="left">28 January 2005</td><td align="left"></td></tr><tr><td align="left" colspan="3"></td></tr><tr><td align="left">Revision 0.9</td><td align="left">7 Januar 2005</td><td align="left"></td></tr><tr><td align="left" colspan="3"></td></tr><tr><td align="left">Revision 0.8</td><td align="left">06 September 2003</td><td align="left"></td></tr><tr><td align="left" colspan="3">First released document.</td></tr></table></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#introduction">Introduction</a></span></dt><dd><dl><dt><span class="sect2"><a href="#stability">Protocol and Specification Stability</a></span></dt></dl></dd><dt><span class="sect1"><a href="#type-system">Type System</a></span></dt><dd><dl><dt><span class="sect2"><a href="#message-protocol-signatures">Type Signatures</a></span></dt><dt><span class="sect2"><a href="#message-protocol-marshaling">Marshaling (Wire Format)</a></span></dt></dl></dd><dt><span class="sect1"><a href="#message-protocol">Message Protocol</a></span></dt><dd><dl><dt><span class="sect2"><a href="#message-protocol-messages">Message Format</a></span></dt><dt><span class="sect2"><a href="#message-protocol-names">Valid Names</a></span></dt><dt><span class="sect2"><a href="#message-protocol-types">Message Types</a></span></dt><dt><span class="sect2"><a href="#message-protocol-handling-invalid">Invalid Protocol and Spec Extensions</a></span></dt></dl></dd><dt><span class="sect1"><a href="#auth-protocol">Authentication Protocol</a></span></dt><dd><dl><dt><span class="sect2"><a href="#auth-protocol-overview">Protocol Overview</a></span></dt><dt><span class="sect2"><a href="#auth-nul-byte">Special credentials-passing nul byte</a></span></dt><dt><span class="sect2"><a href="#auth-command-auth">AUTH command</a></span></dt><dt><span class="sect2"><a href="#auth-command-cancel">CANCEL Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-data">DATA Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-begin">BEGIN Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-rejected">REJECTED Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-ok">OK Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-error">ERROR Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-negotiate-unix-fd">NEGOTIATE_UNIX_FD Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-agree-unix-fd">AGREE_UNIX_FD Command</a></span></dt><dt><span class="sect2"><a href="#auth-command-future">Future Extensions</a></span></dt><dt><span class="sect2"><a href="#auth-examples">Authentication examples</a></span></dt><dt><span class="sect2"><a href="#auth-states">Authentication state diagrams</a></span></dt><dt><span class="sect2"><a href="#auth-mechanisms">Authentication mechanisms</a></span></dt></dl></dd><dt><span class="sect1"><a href="#addresses">Server Addresses</a></span></dt><dt><span class="sect1"><a href="#transports">Transports</a></span></dt><dd><dl><dt><span class="sect2"><a href="#transports-unix-domain-sockets">Unix Domain Sockets</a></span></dt><dt><span class="sect2"><a href="#transports-launchd">launchd</a></span></dt><dt><span class="sect2"><a href="#transports-systemd">systemd</a></span></dt><dt><span class="sect2"><a href="#transports-tcp-sockets">TCP Sockets</a></span></dt><dt><span class="sect2"><a href="#transports-nonce-tcp-sockets">Nonce-secured TCP Sockets</a></span></dt><dt><span class="sect2"><a href="#transports-exec">Executed Subprocesses on Unix</a></span></dt></dl></dd><dt><span class="sect1"><a href="#meta-transports">Meta Transports</a></span></dt><dd><dl><dt><span class="sect2"><a href="#meta-transports-autolaunch">Autolaunch</a></span></dt></dl></dd><dt><span class="sect1"><a href="#uuids">UUIDs</a></span></dt><dt><span class="sect1"><a href="#standard-interfaces">Standard Interfaces</a></span></dt><dd><dl><dt><span class="sect2"><a href="#standard-interfaces-peer"><code class="literal">org.freedesktop.DBus.Peer</code></a></span></dt><dt><span class="sect2"><a href="#standard-interfaces-introspectable"><code class="literal">org.freedesktop.DBus.Introspectable</code></a></span></dt><dt><span class="sect2"><a href="#standard-interfaces-properties"><code class="literal">org.freedesktop.DBus.Properties</code></a></span></dt><dt><span class="sect2"><a href="#standard-interfaces-objectmanager"><code class="literal">org.freedesktop.DBus.ObjectManager</code></a></span></dt></dl></dd><dt><span class="sect1"><a href="#introspection-format">Introspection Data Format</a></span></dt><dt><span class="sect1"><a href="#message-bus">Message Bus Specification</a></span></dt><dd><dl><dt><span class="sect2"><a href="#message-bus-overview">Message Bus Overview</a></span></dt><dt><span class="sect2"><a href="#message-bus-names">Message Bus Names</a></span></dt><dt><span class="sect2"><a href="#message-bus-routing">Message Bus Message Routing</a></span></dt><dt><span class="sect2"><a href="#message-bus-starting-services">Message Bus Starting Services</a></span></dt><dt><span class="sect2"><a href="#message-bus-types">Well-known Message Bus Instances</a></span></dt><dt><span class="sect2"><a href="#message-bus-messages">Message Bus Messages</a></span></dt></dl></dd><dt><span class="glossary"><a href="#idp5904720">Glossary</a></span></dt></dl></div><div class="sect1" title="Introduction"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="introduction"></a>Introduction</h2></div></div></div><p> D-Bus is a system for low-latency, low-overhead, easy to use interprocess communication (IPC). In more detail: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> @@ -1006,14 +1006,14 @@ commands may be introduced both before, and after authentication, i.e. both before and after the OK command. </p></div><div class="sect2" title="Authentication examples"><div class="titlepage"><div><div><h3 class="title"><a name="auth-examples"></a>Authentication examples</h3></div></div></div><p> - </p><div class="figure"><a name="id401236"></a><p class="title"><b>Figure 1. Example of successful magic cookie authentication</b></p><div class="figure-contents"><pre class="programlisting"> + </p><div class="figure"><a name="idp5181008"></a><p class="title"><b>Figure 1. Example of successful magic cookie authentication</b></p><div class="figure-contents"><pre class="programlisting"> (MAGIC_COOKIE is a made up mechanism) C: AUTH MAGIC_COOKIE 3138363935333137393635383634 S: OK 1234deadbeef C: BEGIN </pre></div></div><p><br class="figure-break"> - </p><div class="figure"><a name="id401251"></a><p class="title"><b>Figure 2. Example of finding out mechanisms then picking one</b></p><div class="figure-contents"><pre class="programlisting"> + </p><div class="figure"><a name="idp5182832"></a><p class="title"><b>Figure 2. Example of finding out mechanisms then picking one</b></p><div class="figure-contents"><pre class="programlisting"> C: AUTH S: REJECTED KERBEROS_V4 SKEY C: AUTH SKEY 7ab83f32ee @@ -1022,14 +1022,14 @@ S: OK 1234deadbeef C: BEGIN </pre></div></div><p><br class="figure-break"> - </p><div class="figure"><a name="id401267"></a><p class="title"><b>Figure 3. Example of client sends unknown command then falls back to regular auth</b></p><div class="figure-contents"><pre class="programlisting"> + </p><div class="figure"><a name="idp5184736"></a><p class="title"><b>Figure 3. Example of client sends unknown command then falls back to regular auth</b></p><div class="figure-contents"><pre class="programlisting"> C: FOOBAR S: ERROR C: AUTH MAGIC_COOKIE 3736343435313230333039 S: OK 1234deadbeef C: BEGIN </pre></div></div><p><br class="figure-break"> - </p><div class="figure"><a name="id401283"></a><p class="title"><b>Figure 4. Example of server doesn't support initial auth mechanism</b></p><div class="figure-contents"><pre class="programlisting"> + </p><div class="figure"><a name="idp5186624"></a><p class="title"><b>Figure 4. Example of server doesn't support initial auth mechanism</b></p><div class="figure-contents"><pre class="programlisting"> C: AUTH MAGIC_COOKIE 3736343435313230333039 S: REJECTED KERBEROS_V4 SKEY C: AUTH SKEY 7ab83f32ee @@ -1038,7 +1038,7 @@ S: OK 1234deadbeef C: BEGIN </pre></div></div><p><br class="figure-break"> - </p><div class="figure"><a name="id401300"></a><p class="title"><b>Figure 5. Example of wrong password or the like followed by successful retry</b></p><div class="figure-contents"><pre class="programlisting"> + </p><div class="figure"><a name="idp5188640"></a><p class="title"><b>Figure 5. Example of wrong password or the like followed by successful retry</b></p><div class="figure-contents"><pre class="programlisting"> C: AUTH MAGIC_COOKIE 3736343435313230333039 S: REJECTED KERBEROS_V4 SKEY C: AUTH SKEY 7ab83f32ee @@ -1051,7 +1051,7 @@ S: OK 1234deadbeef C: BEGIN </pre></div></div><p><br class="figure-break"> - </p><div class="figure"><a name="id401318"></a><p class="title"><b>Figure 6. Example of skey cancelled and restarted</b></p><div class="figure-contents"><pre class="programlisting"> + </p><div class="figure"><a name="idp5190816"></a><p class="title"><b>Figure 6. Example of skey cancelled and restarted</b></p><div class="figure-contents"><pre class="programlisting"> C: AUTH MAGIC_COOKIE 3736343435313230333039 S: REJECTED KERBEROS_V4 SKEY C: AUTH SKEY 7ab83f32ee @@ -1064,7 +1064,7 @@ S: OK 1234deadbeef C: BEGIN </pre></div></div><p><br class="figure-break"> - </p><div class="figure"><a name="id401335"></a><p class="title"><b>Figure 7. Example of successful magic cookie authentication with successful negotiation of Unix FD passing</b></p><div class="figure-contents"><pre class="programlisting"> + </p><div class="figure"><a name="idp5192880"></a><p class="title"><b>Figure 7. Example of successful magic cookie authentication with successful negotiation of Unix FD passing</b></p><div class="figure-contents"><pre class="programlisting"> (MAGIC_COOKIE is a made up mechanism) C: AUTH MAGIC_COOKIE 3138363935333137393635383634 @@ -1073,7 +1073,7 @@ S: AGREE_UNIX_FD C: BEGIN </pre></div></div><p><br class="figure-break"> - </p><div class="figure"><a name="id401352"></a><p class="title"><b>Figure 8. Example of successful magic cookie authentication with unsuccessful negotiation of Unix FD passing</b></p><div class="figure-contents"><pre class="programlisting"> + </p><div class="figure"><a name="idp5194880"></a><p class="title"><b>Figure 8. Example of successful magic cookie authentication with unsuccessful negotiation of Unix FD passing</b></p><div class="figure-contents"><pre class="programlisting"> (MAGIC_COOKIE is a made up mechanism) C: AUTH MAGIC_COOKIE 3138363935333137393635383634 @@ -1351,7 +1351,7 @@ fails, the lock fails. Servers should retry for a reasonable period of time, then they may choose to delete an existing lock to keep users from having to manually delete a stale - lock. <sup>[<a name="id402068" href="#ftn.id402068" class="footnote">1</a>]</sup> + lock. <sup>[<a name="idp5281040" href="#ftn.idp5281040" class="footnote">1</a>]</sup> </p></li><li class="listitem"><p> Once the lockfile has been created, the server loads the cookie file. It should then delete any cookies that are old (the @@ -2400,7 +2400,7 @@ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>General syntax</p></li><li class="listitem"><p>Comment format</p></li></ul></div><p> - </p><div class="figure"><a name="id405326"></a><p class="title"><b>Figure 9. Example service description file</b></p><div class="figure-contents"><pre class="programlisting"> + </p><div class="figure"><a name="idp5671872"></a><p class="title"><b>Figure 9. Example service description file</b></p><div class="figure-contents"><pre class="programlisting"> # Sample service description file [D-BUS Service] Names=org.freedesktop.ConfigurationDatabase;org.gnome.GConf; @@ -2570,7 +2570,7 @@ allowing another process to set the selection between the verification and the setting (e.g., by using XGrabServer / XungrabServer). - </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="id405766"></a></h5></div></div></div><p> + </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idp5724640"></a></h5></div></div></div><p> On Unix systems, the session bus should search for .service files in <code class="literal">$XDG_DATA_DIRS/dbus-1/services</code> as defined by the @@ -2600,7 +2600,7 @@ variable. If that variable is not set, applications should try to connect to the well-known address <code class="literal">unix:path=/var/run/dbus/system_bus_socket</code>. - <sup>[<a name="id405843" href="#ftn.id405843" class="footnote">2</a>]</sup> + <sup>[<a name="idp5733888" href="#ftn.idp5733888" class="footnote">2</a>]</sup> </p><p> On Unix systems, the system bus should default to searching for .service files in @@ -2610,7 +2610,7 @@ of precedence. It may also search other implementation-specific locations, but should not vary these locations based on environment variables. - <sup>[<a name="id405878" href="#ftn.id405878" class="footnote">3</a>]</sup> + <sup>[<a name="idp5738096" href="#ftn.idp5738096" class="footnote">3</a>]</sup> </p><p> Software packages should install their system .service files to their configured @@ -2802,7 +2802,7 @@ There is also a per-machine ID, described in <a class="xref" href="#standard-interfaces-peer" title="org.freedesktop.DBus.Peer">the section called “<code class="literal">org.freedesktop.DBus.Peer</code>”</a> and returned by org.freedesktop.DBus.Peer.GetMachineId(). For a desktop session bus, the bus ID can be used as a way to uniquely identify a user's session. - </p></div></div></div><div class="glossary" title="Glossary"><div class="titlepage"><div><div><h2 class="title"><a name="id407266"></a>Glossary</h2></div></div></div><p> + </p></div></div></div><div class="glossary" title="Glossary"><div class="titlepage"><div><div><h2 class="title"><a name="idp5904720"></a>Glossary</h2></div></div></div><p> This glossary defines some of the terms used in this specification. </p><dl><dt><a name="term-bus-name"></a>Bus Name</dt><dd><p> The message bus maintains an association between names and @@ -2883,14 +2883,14 @@ message bus. This name will never change owner, and will be unique (never reused during the lifetime of the message bus). It will begin with a ':' character. - </p></dd></dl></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a id="ftn.id402068" href="#id402068" class="para">1</a>] </sup>Lockfiles are used instead of real file + </p></dd></dl></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a id="ftn.idp5281040" href="#idp5281040" class="para">1</a>] </sup>Lockfiles are used instead of real file locking <code class="literal">fcntl()</code> because real locking implementations are still flaky on network - filesystems.</p></div><div class="footnote"><p><sup>[<a id="ftn.id405843" href="#id405843" class="para">2</a>] </sup> + filesystems.</p></div><div class="footnote"><p><sup>[<a id="ftn.idp5733888" href="#idp5733888" class="para">2</a>] </sup> The D-Bus reference implementation actually honors the <code class="literal">$(localstatedir)</code> configure option for this address, on both client and server side. - </p></div><div class="footnote"><p><sup>[<a id="ftn.id405878" href="#id405878" class="para">3</a>] </sup> + </p></div><div class="footnote"><p><sup>[<a id="ftn.idp5738096" href="#idp5738096" class="para">3</a>] </sup> The system bus is security-sensitive and is typically executed by an init system with a clean environment. Its launch helper process is particularly security-sensitive, and specifically diff --git a/doc/dbus-test-plan.html b/doc/dbus-test-plan.html index 41285315..377a3bf2 100644 --- a/doc/dbus-test-plan.html +++ b/doc/dbus-test-plan.html @@ -38,7 +38,7 @@ Message Builder. The message builder can take a serialized message in string-form and convert it into a raw character string which can then be loaded by the message loader. - </p><div class="figure"><a name="id509596"></a><p class="title"><b>Figure 1. Example of a message in string form</b></p><div class="figure-contents"><pre class="programlisting"> + </p><div class="figure"><a name="idp56320"></a><p class="title"><b>Figure 1. Example of a message in string form</b></p><div class="figure-contents"><pre class="programlisting"> # Standard org.freedesktop.DBus.Hello message VALID_HEADER @@ -75,7 +75,7 @@ can read authentication sequences from a file and play them back to a dummy server and client to make sure that authentication is working according to the specification. - </p><div class="figure"><a name="id509652"></a><p class="title"><b>Figure 2. Example of an authentication script</b></p><div class="figure-contents"><pre class="programlisting"> + </p><div class="figure"><a name="idp63008"></a><p class="title"><b>Figure 2. Example of an authentication script</b></p><div class="figure-contents"><pre class="programlisting"> ## this tests a successful auth of type EXTERNAL SERVER |