Add missing documentation for SSPI packets.

This commit is contained in:
Magnus Hagander 2007-12-03 13:40:11 +00:00
parent 57da4cca27
commit 6ca2f8483f
1 changed files with 62 additions and 6 deletions

View File

@ -1,4 +1,4 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/protocol.sgml,v 1.68 2007/07/18 12:00:47 mha Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/protocol.sgml,v 1.69 2007/12/03 13:40:11 mha Exp $ -->
<chapter id="protocol"> <chapter id="protocol">
<title>Frontend/Backend Protocol</title> <title>Frontend/Backend Protocol</title>
@ -230,10 +230,10 @@
The server then sends an appropriate authentication request message, The server then sends an appropriate authentication request message,
to which the frontend must reply with an appropriate authentication to which the frontend must reply with an appropriate authentication
response message (such as a password). response message (such as a password).
For all authentication methods except GSSAPI, there is at most For all authentication methods except GSSAPI and SSPI, there is at most
one request and one response. In some methods, no response one request and one response. In some methods, no response
at all is needed from the frontend, and so no authentication request at all is needed from the frontend, and so no authentication request
occurs. For GSSAPI, multiple iterations of packets may be needed to occurs. For GSSAPI and SSPI, multiple iterations of packets may be needed to
complete the authentication. complete the authentication.
</para> </para>
@ -344,13 +344,26 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>AuthenticationSSPI</term>
<listitem>
<para>
The frontend must now initiate a SSPI negotiation. The frontend
will send a PasswordMessage with the first part of the SSPI
data stream in response to this. If further messages are needed,
the server will respond with AuthenticationGSSContinue.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>AuthenticationGSSContinue</term> <term>AuthenticationGSSContinue</term>
<listitem> <listitem>
<para> <para>
This message contains the response data from the previous step This message contains the response data from the previous step
of GSSAPI negotiation (AuthenticationGSS or a previous of GSSAPI or SSPI negotiation (AuthenticationGSS, AuthenticationSSPI
AuthenticationGSSContinue). If the GSSAPI data in this message or a previous AuthenticationGSSContinue). If the GSSAPI
or SSPI data in this message
indicates more data is needed to complete the authentication, indicates more data is needed to complete the authentication,
the frontend must send this data as another PasswordMessage. If the frontend must send this data as another PasswordMessage. If
GSSAPI authentication is completed by this message, the server GSSAPI authentication is completed by this message, the server
@ -1706,6 +1719,49 @@ AuthenticationGSS (B)
</varlistentry> </varlistentry>
<varlistentry>
<term>
AuthenticationSSPI (B)
</term>
<listitem>
<para>
<variablelist>
<varlistentry>
<term>
Byte1('R')
</term>
<listitem>
<para>
Identifies the message as an authentication request.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
Int32(8)
</term>
<listitem>
<para>
Length of message contents in bytes, including self.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
Int32(9)
</term>
<listitem>
<para>
Specifies that SSPI authentication is required.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term> <term>
AuthenticationGSSContinue (B) AuthenticationGSSContinue (B)
@ -1750,7 +1806,7 @@ AuthenticationGSSContinue (B)
</term> </term>
<listitem> <listitem>
<para> <para>
GSSAPI authentication data. GSSAPI or SSPI authentication data.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>