mike-jumper commented on a change in pull request #111: GUACAMOLE-422: Document
support for timezone handshake and parameter.
URL: https://github.com/apache/guacamole-manual/pull/111#discussion_r309961285
##########
File path: src/chapters/protocol.xml
##########
@@ -57,29 +57,122 @@
<programlisting>6.select,3.vnc;</programlisting>
</informalexample>
<para>After receiving the "select" instruction, the server will load
the associated client
- support and respond with a list of accepted parameter names using
an "args"
- instruction:</para>
+ support and respond with its protocol version and a list of
accepted parameter names
+ using an "args" instruction:</para>
<informalexample>
-
<programlisting>4.args,8.hostname,4.port,8.password,13.swap-red-blue,9.read-only;</programlisting>
+
<programlisting>4.args,13.VERSION_1_1_0,8.hostname,4.port,8.password,13.swap-red-blue,9.read-only;</programlisting>
</informalexample>
+ <para>The protocol version is used to negotiate compatibility between
differing
+ versions of client and server, allowing the two sides to negotiate
the highest
+ supported version and enable or disable features associated with
that version.
+ Older versions of the Guacamole Client that do not support this
instruction
+ will silently ignore it as an empty connection parameter. Valid
protocol versions
+ are as follows:<informaltable frame="all">
+ <tgroup cols="3">
+ <colspec colname="c1" colnum="1" colwidth="1.25*"/>
+ <colspec colname="c2" colnum="2" colwidth="3.25*"/>
+ <colspec colname="c3" colnum="3" colwidth="9*"/>
+ <thead>
+ <row>
+ <entry>Version</entry>
+ <entry>Value</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>1.0.0</entry>
+ <entry><constant>VERSION_1_0_0</constant></entry>
+ <entry>This is the default version and applies to
any
+ versions prior to 1.1.0. Version 1.0.0 of the
protocol
+ does not support protocol negotiation, and
requires that
+ the handshake instructions are delivered in a
certain
+ order, and that they are present (even if
empty).</entry>
+ </row>
+ <row>
+ <entry>1.1.0</entry>
+ <entry><constant>VERSION_1_1_0</constant></entry>
+ <entry>Protocol version 1.1.0 introduces support
for
+ protocol version negotiation, arbitrary order of
the
+ handshake instructions, and support for passing the
+ timezone instruction during the handshake.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
<para>After receiving the list of arguments, the client is required to
respond with the list
of supported audio, video, and image mimetypes, the optimal
display size and resolution,
- and the values for all arguments available, even if blank. If any
of these requirements
- are left out, the connection will close:</para>
+ and the values for all arguments available, even if blank.</para>
<informalexample>
<programlisting>4.size,4.1024,3.768,2.96;
5.audio,9.audio/ogg;
5.video;
5.image,9.image/png,10.image/jpeg;
+8.timezone,16.America/New_York;
7.connect,9.localhost,4.5900,0.,0.,0.;</programlisting>
Review comment:
Is this still correct with the addition of `VERSION_1_1_0` to the
corresponding `args`?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services