<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!--
+ variable names used in equation markup in the authentication chapter
+ FIXME: Replace with mathml?
+ -->
+<!ENTITY variable.D "<emphasis role='italic'>D</emphasis>">
+<!ENTITY variable.N "<emphasis role='italic'>N</emphasis>">
+<!ENTITY variable.T "<emphasis role='italic'>T</emphasis>">
+<!ENTITY variable.Delta "<emphasis role='italic'>Δ</emphasis>">
+<!ENTITY variable.alpha "<emphasis role='italic'>α</emphasis>">
+<!ENTITY variable.beta "<emphasis role='italic'>β</emphasis>">
+<!ENTITY variable.kappa "<emphasis role='italic'>κ</emphasis>">
+<!ENTITY variable.rho "<emphasis role='italic'>ρ</emphasis>">
+<!ENTITY variable.sigma "<emphasis role='italic'>σ</emphasis>">
+<!ENTITY variable.tau "<emphasis role='italic'>τ</emphasis>">
+<!ENTITY % defs SYSTEM "defs.ent"> %defs;
+]>
<book id="xdmcp">
<bookinfo>
<title>X Display Manager Control Protocol</title>
<subtitle>X.Org Standard</subtitle>
+ <releaseinfo>X Version 11, Release &fullrelvers;</releaseinfo>
<releaseinfo>Version 1.1</releaseinfo>
<authorgroup>
<author>
<firstname>Keith</firstname><surname>Packard</surname>
- <affiliation><orgname>
-X Consortium,
-Laboratory for Computer Science,
-Massachusetts Institute of Technology
- </orgname></affiliation>
+ <affiliation>
+ <orgname>Massachusetts Institute of Technology</orgname>
+ <orgdiv>Laboratory for Computer Science</orgdiv>
+ <orgdiv>X Consortium</orgdiv>
+ </affiliation>
</author>
</authorgroup>
- <copyright><year>1989</year><holder>The Open Group</holder></copyright>
- <copyright><year>2004</year><holder>The Open Group</holder></copyright>
- <productnumber>X Version 11, Release 6.8</productnumber>
+ <copyright><year>1989</year><year>2004</year>
+ <holder>The Open Group</holder></copyright>
<legalnotice>
</legalnotice>
</bookinfo>
-<chapter id="TITLE">
-<title>TITLE</title>
-<sect1 id="Purpose_and_Goals">
+<chapter id="Purpose_and_Goals">
<title>Purpose and Goals</title>
<!-- .XS -->
<!-- (SN Purpose and Goals -->
</para>
</listitem>
</itemizedlist>
-</sect1>
+</chapter>
-<sect1 id="Overview_of_the_Protocol">
+<chapter id="Overview_of_the_Protocol">
<title>Overview of the Protocol</title>
<!-- .XS -->
<!-- (SN Overview of the Protocol -->
Manager side, this means that any packet may be received more than once (if
the response was lost) and duplicates must be ignored.
</para>
-</sect1>
+</chapter>
-<sect1 id="Data_Types">
+<chapter id="Data_Types">
<title>Data Types</title>
<!-- .XS -->
<!-- (SN Data Types -->
implementation. Also, no padding of any sort will occur within the packets.
</para>
-<informaltable frame="none">
- <tgroup cols='3' align='left'>
- <colspec colname='c1' colsep="0"/>
- <colspec colname='c2' colsep="0"/>
- <colspec colname='c3' colsep="0"/>
+<informaltable frame="topbot">
+ <?dbfo keep-together="always" ?>
+ <tgroup cols='3' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth="1.0*"/>
+ <colspec colname='c2' colwidth="1.0*"/>
+ <colspec colname='c3' colwidth="2.0*"/>
<thead>
- <row>
+ <row rowsep='1'>
<entry>Type Name</entry>
<entry>Length (Bytes)</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
- <row rowsep="0">
+ <row>
<entry>CARD8</entry>
<entry>1</entry>
<entry>A single byte unsigned integer</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>CARD16</entry>
<entry>2</entry>
<entry>Two byte unsigned integer</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>CARD32</entry>
<entry>4</entry>
<entry>Four byte unsigned integer</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>ARRAY8</entry>
<entry>n+2</entry>
<entry>
field (n) specifies the number of CARD8 values to follow
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>ARRAY16</entry>
<entry>2*m+1</entry>
<entry>
number of CARD16 values to follow
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>ARRAY32</entry>
<entry>4*l+1</entry>
<entry>
number of CARD32 values to follow
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>ARRAYofARRAY8</entry>
<entry>?</entry>
<entry>
</tbody>
</tgroup>
</informaltable>
-</sect1>
+</chapter>
-<sect1 id="Packet_Format">
+<chapter id="Packet_Format">
<title>Packet Format</title>
<!-- .XS -->
<!-- (SN Packet Format -->
All XDMCP packets have the following information:
</para>
-<informaltable frame="none">
- <tgroup cols='3' align='left'>
- <colspec colname='c1' colsep="0"/>
- <colspec colname='c2' colsep="0"/>
- <colspec colname='c3' colsep="0"/>
+<informaltable frame="topbot">
+ <?dbfo keep-together="always" ?>
+ <tgroup cols='3' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth="1.0*" />
+ <colspec colname='c2' colwidth="1.0*" />
+ <colspec colname='c3' colwidth="2.0*" />
<thead>
- <row>
+ <row rowsep='1'>
<entry>Length (Bytes)</entry>
<entry>Field Type</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
- <row rowsep="0">
+ <row>
<entry>2</entry>
<entry>CARD16</entry>
<entry>version number</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>2</entry>
<entry>CARD16</entry>
<entry>opcode packet header</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>2</entry>
<entry>CARD16</entry>
<entry>n = length of remaining data in bytes</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>n</entry>
<entry>???</entry>
<entry>packet-specific data</entry>
</para>
</listitem>
</orderedlist>
-</sect1>
+</chapter>
-<sect1 id="Protocol">
+<chapter id="Protocol">
<title>Protocol</title>
<!-- .XS -->
<!-- (SN Protocol -->
computed accordingly.
</para>
-<informaltable frame="none">
+<informaltable frame="none" colsep='0' rowsep='0'>
<tgroup cols='10' align='left'>
- <colspec colname='col1' colsep="0" colwidth="1*"/>
- <colspec colname='col2' colsep="0" colwidth="1*"/>
- <colspec colname='col3' colsep="0" colwidth="1*"/>
- <colspec colname='col4' colsep="0" colwidth="1*"/>
- <colspec colname='col5' colsep="0" colwidth="1*"/>
- <colspec colname='col6' colsep="0" colwidth="1*"/>
- <colspec colname='col7' colsep="0" colwidth="1*"/>
- <colspec colname='col8' colsep="0" colwidth="1*"/>
- <colspec colname='col9' colsep="0" colwidth="1*"/>
- <colspec colname='col10' colsep="0" colwidth="1*"/>
+ <colspec colname='col1' colwidth="1.0*"/>
+ <colspec colname='col2' colwidth="1.0*"/>
+ <colspec colname='col3' colwidth="1.0*"/>
+ <colspec colname='col4' colwidth="1.0*"/>
+ <colspec colname='col5' colwidth="1.0*"/>
+ <colspec colname='col6' colwidth="1.0*"/>
+ <colspec colname='col7' colwidth="1.0*"/>
+ <colspec colname='col8' colwidth="1.0*"/>
+ <colspec colname='col9' colwidth="1.0*"/>
+ <colspec colname='col10' colwidth="1.0*"/>
<spanspec namest="col1" nameend="col10" spanname="col1_on" align="left"/>
<spanspec namest="col2" nameend="col10" spanname="col2_on" align="left"/>
<spanspec namest="col3" nameend="col10" spanname="col3_on" align="left"/>
<spanspec namest="col4" nameend="col10" spanname="col4_on" align="left"/>
<spanspec namest="col5" nameend="col10" spanname="col5_on" align="left"/>
<tbody>
- <row rowsep="0">
+ <row>
<entry spanname="col1_on"><emphasis role="bold">Query</emphasis></entry>
</row>
- <row rowsep="0">
+ <row>
<entry spanname="col1_on"><emphasis role="bold">BroadcastQuery</emphasis></entry>
</row>
- <row rowsep="0">
+ <row>
<entry spanname="col1_on"><emphasis role="bold">IndirectQuery</emphasis></entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">Display -> Manager</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">Additional Fields:</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
<emphasis>Authentication Names</emphasis>: ARRAYofARRAY8
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
<!-- AAAAAAAAAAAAA -->
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
- <entry>Semantics</entry>
+ <entry spanname="col3_on">Semantics</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</para>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</para>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry spanname="col4_on">Valid Responses:</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
<function>Unwilling</function>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry spanname="col4_on">Problems/Solutions:</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">Problem:</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
<para>Indication:</para>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
<function>Willing</function>.
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry spanname="col4_on">Solution:</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
Repeatedly send the packet while waiting for user to choose a manager.
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
Timeout/Retransmission policy:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
display will wakeup when touched by the user.
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry spanname="col1_on">
<function>ForwardQuery</function>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
<para>Primary Manager -> Secondary Manager</para>
<para>Additional Fields:</para>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
<emphasis remap='I'>Client Address</emphasis>: ARRAY8
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
Specifies the network address of the client display.
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
<emphasis remap='I'>Client Port</emphasis>: ARRAY8
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
Specifies an identification of the client task on the client display.
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
<emphasis remap='I'>Authentication Names</emphasis>: ARRAYofARRAY8
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
packet.
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Semantics:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</para>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Valid Responses:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
<function>Willing</function>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Problems/Solutions:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
<function>BroadcastQuery</function>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Timeout/Retransmission policy:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry spanname="col1_on">
<function>Willing</function>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
<para>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Semantics:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Problems/Solutions:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Timeout/Retransmission policy:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry spanname="col1_on">
<function>Unwilling</function>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
<para>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Semantics:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Problems/Solutions:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Timeout/Retransmission policy:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
never be retransmitted.
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry spanname="col1_on">
<function>Request</function>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
<para>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Semantics:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Valid Responses:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Problems/Solutions:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Timeout/Retransmission policy:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry spanname="col1_on">
<function>Accept</function>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
<para>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry spanname="col4_on">
Is the data sent to the display to indicate the type of authorization the
manager will be using in the first call to
-<function>XOpenDisplay</function>
+<olink targetdoc='libX11' targetptr='XOpenDisplay'><function>XOpenDisplay</function></olink>
after the
<function>Manage</function>
packet is received.
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Semantics:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Problems/Solutions:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Timeout/Retransmission policy:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry spanname="col1_on">
<function>Decline</function>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
<para>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Semantics:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Problems/Solutions:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Timeout/Retransmission policy:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry spanname="col1_on">
<function>Manage</function>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
<para>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Semantics:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Valid Responses:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Problems/Solutions:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Timeout/Retransmission policy:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry spanname="col1_on">
<function>Refuse</function>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
<para>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Semantics:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Problems/Solutions:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Timeout/Retransmission policy:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry spanname="col1_on">
<function>Failed</function>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
<para>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Semantics:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Problems/Solutions
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry spanname="col1_on">
<function>KeepAlive</function>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
<para>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Sematics:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Valid Responses:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Problems/Solutions:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry spanname="col1_on">
<function>Alive</function>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
<para>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry spanname="col2_on">
Semantics:
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry></entry>
<entry></entry>
<entry spanname="col3_on">
</tgroup>
</informaltable>
-</sect1>
+</chapter>
-<sect1 id="Session_Termination">
+<chapter id="Session_Termination">
<title>Session Termination</title>
<para>
When the session is over, the initial connection with the display (the one
<function>KeepAlive</function>
packets and not noticing that the manager host is down for a long time.
</para>
-</sect1>
+</chapter>
-<sect1 id="State_Diagrams">
+<chapter id="State_Diagrams">
<title>State Diagrams</title>
<!-- .XS -->
<!-- (SN State Diagrams -->
Terminate any session in progress
</para>
<para>
-<function>XOpenDisplay</function>
+<olink targetdoc='libX11' targetptr='XOpenDisplay'><function>XOpenDisplay</function></olink>
</para>
<para>
Open display succeeds ->
</varlistentry>
</variablelist>
-</sect1>
+</chapter>
-<sect1 id="Protocol_Encoding">
+<chapter id="Protocol_Encoding">
<title>Protocol Encoding</title>
<para>
When XDMCP is implemented on top of the Internet User Datagram Protocol (UDP),
Packet opcodes are 16-bit integers.
</para>
-<informaltable frame="none">
- <tgroup cols='2' align='left'>
- <colspec colname='c1' colsep="0"/>
- <colspec colname='c2' colsep="0"/>
+<informaltable frame="topbot">
+ <tgroup cols='2' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth="1.0*"/>
+ <colspec colname='c2' colwidth="3.0*"/>
<thead>
- <row>
+ <row rowsep='1'>
<entry>Packet Name</entry>
<entry>Encoding</entry>
</row>
</thead>
<tbody>
- <row rowsep="0">
+ <row>
<entry>BroadcastQuery</entry>
<entry>1</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>Query</entry>
<entry>2</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>IndirectQuery</entry>
<entry>3</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>ForwardQuery</entry>
<entry>4</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>Willing</entry>
<entry>5</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>Unwilling</entry>
<entry>6</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>Request</entry>
<entry>7</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>Accept</entry>
<entry>8</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>Decline</entry>
<entry>9</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>Manage</entry>
<entry>10</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>Refuse</entry>
<entry>11</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>Failed</entry>
<entry>12</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>KeepAlive</entry>
<entry>13
<footnote><para>
</para></footnote>
</entry>
</row>
- <row rowsep="0">
+ <row>
<entry>Alive</entry>
<entry>14
<footnote><para>
1 CARD8 Session Running (0: not running 1: running)
4 CARD32 Session ID (0: not running)
</literallayout>
-</sect1>
+</chapter>
-<sect1 id="Display_Class_Format">
+<chapter id="Display_Class_Format">
<title>Display Class Format</title>
<!-- .XS -->
<!-- (SN Display Class Format -->
particular device and should probably not be specifiable by the
display user to avoid unexpected configuration errors.
</para>
-</sect1>
+</chapter>
-<sect1 id="Manufacturer_Display_ID_Format">
+<chapter id="Manufacturer_Display_ID_Format">
<title>Manufacturer Display ID Format</title>
<!-- .XS -->
<!-- (SN Manufacturer Display ID Format -->
This information should not be modifiable by the display user.
</para>
-</sect1>
+</chapter>
-<sect1 id="Authentication">
+<chapter id="Authentication">
<title>Authentication</title>
<!-- .XS -->
<!-- (SN Authentication -->
<itemizedlist>
<listitem>
<para>
-{D}= encryption of plain text D by key κ
+{&variable.D;}<superscript>&variable.kappa;</superscript> = encryption of plain text D by key &variable.kappa;
</para>
</listitem>
<listitem>
<para>
-{Δ}*κ = decryption of crypto text Δ with key κ
+{&variable.Delta;}*<superscript>&variable.kappa;</superscript> = decryption of crypto text &variable.Delta; with key &variable.kappa;
</para>
</listitem>
<listitem>
<para>
-τ = private key shared by display and manager
+&variable.tau; = private key shared by display and manager
</para>
</listitem>
<listitem>
<para>
-ρ = 64 bit random number generated by display
+&variable.rho; = 64 bit random number generated by display
</para>
</listitem>
<listitem>
<para>
-α = authentication data in XDMCP packets
+&variable.alpha; = authentication data in XDMCP packets
</para>
</listitem>
<listitem>
<para>
-σ = per-session private key, generated by manager
+&variable.sigma; = per-session private key, generated by manager
</para>
</listitem>
<listitem>
<para>
-β = authorization data
+&variable.beta; = authorization data
</para>
</listitem>
</itemizedlist>
on the right to 64 bits. Blocks longer than 64 bits will use block chaining:
</para>
<para>
-{D}κ = {D1 }κ {D2 xor {D1 }κ }κ
+{&variable.D;}<superscript>&variable.kappa;</superscript> = {&variable.D;<subscript>1</subscript>}<superscript>&variable.kappa;</superscript> {&variable.D;<subscript>2</subscript> xor {&variable.D;<subscript>1</subscript>}<superscript>&variable.kappa;</superscript>}<superscript>&variable.kappa;</superscript>
</para>
<para>
</para>
<para>
-αRequest = {ρ}τ
-
+&variable.alpha;<subscript>Request</subscript> = {&variable.rho;}<superscript>&variable.tau;</superscript>
</para>
<para>
For the <function>Accept</function>
packet, the manager decrypts the initial message and returns
-αAccept:
+&variable.alpha;<subscript>Accept</subscript>:
</para>
<para>
-ρ = {α Request } *τ
+&variable.rho; = {&variable.alpha;<subscript>Request</subscript>}*<superscript>&variable.tau;</superscript>
</para>
<para>
-α Accept = { ρ + 1}τ
+&variable.alpha;<subscript>Accept</subscript> = { &variable.rho; + 1}<superscript>&variable.tau;</superscript>
</para>
<para>
"XDM-AUTHORIZATION-1". The authorization data is the string:
</para>
<para>
-β Accept = {σ}τ
+&variable.beta;<subscript>Accept</subscript> = {&variable.sigma;}<superscript>&variable.tau;</superscript>
</para>
<para>
following:
</para>
<para>
-N mark = "X client identifier"
+&variable.N; = X client identifier
</para>
<para>
-T lineup = "Current time in seconds on client host (32 bits)"
+&variable.T; = Current time in seconds on client host (32 bits)
</para>
<para>
-β = {ρNT}σ
+&variable.beta; = {&variable.rho;&variable.N;&variable.T;}<superscript>&variable.sigma;</superscript>
</para>
<para>
-For TCP connections @N@ is 48 bits long and contains the 32-bit IPv4 address of
+For TCP connections &variable.N; is 48 bits long and contains the 32-bit IPv4 address of
the client host followed by the 16-bit port number of the client socket.
Formats for other connections must be registered.
-The resulting value, β, is 192 bits of authorization data that is sent
+The resulting value, &variable.beta;, is 192 bits of authorization data that is sent
in the connection setup to the server. The server receives the packet,
decrypts the contents. To accept the connection, the following must hold:
</para>
<itemizedlist>
<listitem>
<para>
-ρ must match the value generated for the most recent XDMCP negotiation.
+&variable.rho; must match the value generated for the most recent XDMCP negotiation.
</para>
</listitem>
<listitem>
<para>
-T must be within 1200 seconds of the internally stored time. If no time
-been received before, the current time is set to @T@.
+&variable.T; must be within 1200 seconds of the internally stored time. If no time
+been received before, the current time is set to &variable.T;.
</para>
</listitem>
<listitem>
<para>
-No packet containing the same pair (N, T) can have been received
+No packet containing the same pair (&variable.N;, &variable.T;) can have been received
in the last 1200 seconds (20 minutes).
</para>
</listitem>
</itemizedlist>
-</sect1>
</chapter>
</book>