This section describes the format of every message in the protocol.
As described in section H.3, every message starts with the same two fields:
The length field does not include itself, but does include the type code.
The following subsections each give the format of the remainder of the message, after the type code.
The type codes themselves are defined here:
#define PLUGIN_INIT 1
#define PLUGIN_INIT_RESPONSE 2
#define PLUGIN_PROTOCOL 3
#define PLUGIN_PROTOCOL_ACCEPT 4
#define PLUGIN_PROTOCOL_REJECT 5
#define PLUGIN_AUTH_SUCCESS 6
#define PLUGIN_AUTH_FAILURE 7
#define PLUGIN_INIT_FAILURE 8
#define PLUGIN_KI_SERVER_REQUEST 20
#define PLUGIN_KI_SERVER_RESPONSE 21
#define PLUGIN_KI_USER_REQUEST 22
#define PLUGIN_KI_USER_RESPONSE 23
If this protocol is extended to be able to assist with further auth methods, their message type codes will also begin from 20, overlapping the codes for keyboard-interactive.
PLUGIN_INIT
PLUGIN_INIT_RESPONSE
PLUGIN_INIT_FAILURE
PLUGIN_PROTOCOL
PLUGIN_PROTOCOL_REJECT
PLUGIN_PROTOCOL_ACCEPT
PLUGIN_KI_SERVER_REQUEST
PLUGIN_KI_SERVER_RESPONSE
PLUGIN_KI_USER_REQUEST
PLUGIN_KI_USER_RESPONSE
PLUGIN_AUTH_SUCCESS
PLUGIN_AUTH_FAILURE