diff --git a/doc/dbus-specification.xml b/doc/dbus-specification.xml
index 2ac82128..d806b8ea 100644
--- a/doc/dbus-specification.xml
+++ b/doc/dbus-specification.xml
@@ -2667,7 +2667,7 @@
[FIXME we need to specify in detail each transport and its possible arguments]
Current transports include: unix domain sockets (including
- abstract namespace on linux), launchd, systemd, TCP/IP, and a debug/testing transport
+ abstract namespace on linux), launchd, systemd, TCP/IP, an executed subprocess and a debug/testing transport
using in-process pipes. Future possible transports include one that
tunnels over X11 protocol.
@@ -2689,7 +2689,7 @@
would be padded by Nul bytes.
- Unix domain sockets are not available on windows.
+ Unix domain sockets are not available on Windows.
Server Address Format
@@ -2806,7 +2806,7 @@
over a network is unsecure.
- Windows notes: Because of the tcp stack on windows does not provide sending
+ Windows notes: Because of the tcp stack on Windows does not provide sending
credentials over a tcp connection, the EXTERNAL authentification
mechanismus does not work.
@@ -2924,6 +2924,67 @@
+
+ Executed Subprocesses on Unix
+
+ This transport forks off a process and connects its standard
+ input and standard output with an anonymous Unix domain
+ socket. This socket is then used for communication by the
+ transport. This transport may be used to use out-of-process
+ forwarder programs as basis for the D-Bus protocol.
+
+
+ The forked process will inherit the standard error output and
+ process group from the parent process.
+
+
+ Executed subprocesses are not available on Windows.
+
+
+ Server Address Format
+
+ Executed subprocess addresses are identified by the "unixexec:" prefix
+ and support the following key/value pairs:
+
+
+
+
+
+ Name
+ Values
+ Description
+
+
+
+
+ path
+ (path)
+ Path of the binary to execute, either an absolute
+ path or a binary name that is searched for in the default
+ search path of the OS. This corresponds to the first
+ argument of execlp(). This key is mandatory.
+
+
+ argv0
+ (string)
+ The program name to use when executing the
+ binary. If omitted the same value as specified for path=
+ will be used. This corresponds to the second argument of
+ execlp().
+
+
+ argv1, argv2, ...
+ (string)
+ Arguments to pass to the binary. This corresponds
+ to the third and later arguments of execlp(). If a
+ specific argvX is not specified no further argvY for Y > X
+ are taken into account.
+
+
+
+
+
+
Meta Transports