From e43c954015d881061d36afe6d1315517c90aeb43 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Sat, 29 Sep 2012 13:12:16 +0100 Subject: Imported Upstream version 1.6.8 --- doc/dbus-specification.html | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'doc/dbus-specification.html') 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 transportRevision 0.1829 July 2011smcvdefine eavesdropping, unicast, broadcast; add eavesdrop match keyword; promote type system to a top-level sectionRevision 0.171 June 2011smcv/davidzdefine ObjectManager; reserve extra pseudo-type-codes used by GVariantRevision 0.1611 April 2011add path_namespace, arg0namespace; argNpath matches object - pathsRevision 0.153 November 2010Revision 0.1412 May 2010Revision 0.1323 Dezember 2009Revision 0.127 November, 2006Revision 0.116 February 2005Revision 0.1028 January 2005Revision 0.97 Januar 2005Revision 0.806 September 2003First released document.

Table of Contents

Introduction
Protocol and Specification Stability
Type System
Type Signatures
Marshaling (Wire Format)
Message Protocol
Message Format
Valid Names
Message Types
Invalid Protocol and Spec Extensions
Authentication Protocol
Protocol Overview
Special credentials-passing nul byte
AUTH command
CANCEL Command
DATA Command
BEGIN Command
REJECTED Command
OK Command
ERROR Command
NEGOTIATE_UNIX_FD Command
AGREE_UNIX_FD Command
Future Extensions
Authentication examples
Authentication state diagrams
Authentication mechanisms
Server Addresses
Transports
Unix Domain Sockets
launchd
systemd
TCP Sockets
Nonce-secured TCP Sockets
Executed Subprocesses on Unix
Meta Transports
Autolaunch
UUIDs
Standard Interfaces
org.freedesktop.DBus.Peer
org.freedesktop.DBus.Introspectable
org.freedesktop.DBus.Properties
org.freedesktop.DBus.ObjectManager
Introspection Data Format
Message Bus Specification
Message Bus Overview
Message Bus Names
Message Bus Message Routing
Message Bus Starting Services
Well-known Message Bus Instances
Message Bus Messages
Glossary

Introduction

+ pathsRevision 0.153 November 2010Revision 0.1412 May 2010Revision 0.1323 Dezember 2009Revision 0.127 November, 2006Revision 0.116 February 2005Revision 0.1028 January 2005Revision 0.97 Januar 2005Revision 0.806 September 2003First released document.


Table of Contents

Introduction
Protocol and Specification Stability
Type System
Type Signatures
Marshaling (Wire Format)
Message Protocol
Message Format
Valid Names
Message Types
Invalid Protocol and Spec Extensions
Authentication Protocol
Protocol Overview
Special credentials-passing nul byte
AUTH command
CANCEL Command
DATA Command
BEGIN Command
REJECTED Command
OK Command
ERROR Command
NEGOTIATE_UNIX_FD Command
AGREE_UNIX_FD Command
Future Extensions
Authentication examples
Authentication state diagrams
Authentication mechanisms
Server Addresses
Transports
Unix Domain Sockets
launchd
systemd
TCP Sockets
Nonce-secured TCP Sockets
Executed Subprocesses on Unix
Meta Transports
Autolaunch
UUIDs
Standard Interfaces
org.freedesktop.DBus.Peer
org.freedesktop.DBus.Introspectable
org.freedesktop.DBus.Properties
org.freedesktop.DBus.ObjectManager
Introspection Data Format
Message Bus Specification
Message Bus Overview
Message Bus Names
Message Bus Message Routing
Message Bus Starting Services
Well-known Message Bus Instances
Message Bus Messages
Glossary

Introduction

D-Bus is a system for low-latency, low-overhead, easy to use interprocess communication (IPC). In more detail:

  • @@ -1006,14 +1006,14 @@ commands may be introduced both before, and after authentication, i.e. both before and after the OK command.

Authentication examples

-

Figure 1. Example of successful magic cookie authentication

+        

Figure 1. Example of successful magic cookie authentication

             (MAGIC_COOKIE is a made up mechanism)
 
             C: AUTH MAGIC_COOKIE 3138363935333137393635383634
             S: OK 1234deadbeef
             C: BEGIN
           


-

Figure 2. Example of finding out mechanisms then picking one

+        

Figure 2. Example of finding out mechanisms then picking one

             C: AUTH
             S: REJECTED KERBEROS_V4 SKEY
             C: AUTH SKEY 7ab83f32ee
@@ -1022,14 +1022,14 @@
             S: OK 1234deadbeef
             C: BEGIN
           


-

Figure 3. Example of client sends unknown command then falls back to regular auth

+        

Figure 3. Example of client sends unknown command then falls back to regular auth

             C: FOOBAR
             S: ERROR
             C: AUTH MAGIC_COOKIE 3736343435313230333039
             S: OK 1234deadbeef
             C: BEGIN
           


-

Figure 4. Example of server doesn't support initial auth mechanism

+        

Figure 4. Example of server doesn't support initial auth mechanism

             C: AUTH MAGIC_COOKIE 3736343435313230333039
             S: REJECTED KERBEROS_V4 SKEY
             C: AUTH SKEY 7ab83f32ee
@@ -1038,7 +1038,7 @@
             S: OK 1234deadbeef
             C: BEGIN
           


-

Figure 5. Example of wrong password or the like followed by successful retry

+        

Figure 5. Example of wrong password or the like followed by successful retry

             C: AUTH MAGIC_COOKIE 3736343435313230333039
             S: REJECTED KERBEROS_V4 SKEY
             C: AUTH SKEY 7ab83f32ee
@@ -1051,7 +1051,7 @@
             S: OK 1234deadbeef
             C: BEGIN
           


-

Figure 6. Example of skey cancelled and restarted

+        

Figure 6. Example of skey cancelled and restarted

             C: AUTH MAGIC_COOKIE 3736343435313230333039
             S: REJECTED KERBEROS_V4 SKEY
             C: AUTH SKEY 7ab83f32ee
@@ -1064,7 +1064,7 @@
             S: OK 1234deadbeef
             C: BEGIN
           


-

Figure 7. Example of successful magic cookie authentication with successful negotiation of Unix FD passing

+        

Figure 7. Example of successful magic cookie authentication with successful negotiation of Unix FD passing

             (MAGIC_COOKIE is a made up mechanism)
 
             C: AUTH MAGIC_COOKIE 3138363935333137393635383634
@@ -1073,7 +1073,7 @@
             S: AGREE_UNIX_FD
             C: BEGIN
           


-

Figure 8. Example of successful magic cookie authentication with unsuccessful negotiation of Unix FD passing

+        

Figure 8. Example of successful magic cookie authentication with unsuccessful negotiation of Unix FD passing

             (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. [1]
+                lock. [1]
               

  • 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 @@

    • General syntax

    • Comment format

    -

    Figure 9. Example service description file

    +        

    Figure 9. Example service description file

                 # 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).
    -          

    +

    On Unix systems, the session bus should search for .service files in $XDG_DATA_DIRS/dbus-1/services 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 unix:path=/var/run/dbus/system_bus_socket. - [2] + [2]

    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. - [3] + [3]

    Software packages should install their system .service files to their configured @@ -2802,7 +2802,7 @@ There is also a per-machine ID, described in the section called “org.freedesktop.DBus.Peer 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. -

    Glossary

    +

  • Glossary

    This glossary defines some of the terms used in this specification.

    Bus Name

    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. -



    [1] Lockfiles are used instead of real file +



    [1] Lockfiles are used instead of real file locking fcntl() because real locking implementations are still flaky on network - filesystems.

    [2] + filesystems.

    [2] The D-Bus reference implementation actually honors the $(localstatedir) configure option for this address, on both client and server side. -

    [3] +

    [3] 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 -- cgit v1.2.3