From 74d2166e5fad7901881ed61b4bb12f78ceec0d5f Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 12 Jun 2013 16:05:53 +0100 Subject: Imported Upstream version 1.4.26 --- doc/dbus-specification.html | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'doc/dbus-specification.html') diff --git a/doc/dbus-specification.html b/doc/dbus-specification.html index 8b809cd0..d5abd939 100644 --- a/doc/dbus-specification.html +++ b/doc/dbus-specification.html @@ -6,7 +6,7 @@             <>
          

Sven Herzberg

Imendio AB


            
-          

Version 0.15

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

Table of Contents

Introduction
Protocol and Specification Stability
Message Protocol
Type Signatures
Marshaling (Wire Format)
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
TCP Sockets
Nonce-secured TCP Sockets
Meta Transports
Autolaunch
Naming Conventions
UUIDs
Standard Interfaces
org.freedesktop.DBus.Peer
org.freedesktop.DBus.Introspectable
org.freedesktop.DBus.Properties
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

+          

Version 0.15

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

Table of Contents

Introduction
Protocol and Specification Stability
Message Protocol
Type Signatures
Marshaling (Wire Format)
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
TCP Sockets
Nonce-secured TCP Sockets
Meta Transports
Autolaunch
Naming Conventions
UUIDs
Standard Interfaces
org.freedesktop.DBus.Peer
org.freedesktop.DBus.Introspectable
org.freedesktop.DBus.Properties
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:

  • @@ -899,14 +899,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
@@ -915,14 +915,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
@@ -931,7 +931,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
@@ -944,7 +944,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
@@ -957,7 +957,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
@@ -966,7 +966,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
@@ -1244,7 +1244,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 @@ -2010,7 +2010,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;
    @@ -2180,7 +2180,7 @@
                 allowing another process to set the selection between the
                 verification and the setting (e.g., by using XGrabServer /
                 XungrabServer).
    -          

    +

    [FIXME specify location of .service files, probably using DESKTOP_DIRS etc. from basedir specification, though login session bus is not really desktop-specific] @@ -2195,7 +2195,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]

    [FIXME specify location of system bus .service files]

    Message Bus Messages

    @@ -2380,7 +2380,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 @@ -2454,10 +2454,10 @@ 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. -- cgit v1.2.3