Share via


3.1.1.1 NNTP State Model

Client state model for NNTP_NTLM authentication

Figure 2: Client state model for NNTP_NTLM authentication

The abstract data model for NTLM Authentication: NNTP Extension has the following states:

  1. start

    This is the state of the client before the NNTP_AUTH_NTLM_Initiation_Command has been sent.

  2. sent_authentication_request

    This is the state of the client after the NNTP_AUTH_NTLM_Initiation_Command has been sent.

  3. inside_authentication

    This is the state that a client enters after it has received an NNTP_NTLM_Supported_Response. In this state, the client initializes the NTLM software and repeats the following steps:

    • Encapsulates the NTLM message that is returned by the NTLM software into an NNTP message.

    • Waits for a response from the server.

    • De-encapsulates NNTP message data that is received, if any, from the other party and converts it to NTLM message data.

    • Passes it to the NTLM software.

    • Sends the NNTP message to the other party.

      This state terminates when:

    • For the server: the NTLM software reports completion with either a successful or failed authentication status. The server then sends the client an NNTP_AUTH_NTLM_Succeeded_Response message or NNTP_AUTH_Fail_Response message, as described in [RFC2980].

    • For the client: an NNTP_AUTH_NTLM_Succeeded_Response message or NNTP_AUTH_Fail_Response message is received.

    • For either client or server: any failure is reported by the NTLM software.

  4. completed_authentication

    This is the state of the client when it exits the inside_authentication state. The rules for how the inside_authentication state is exited are specified in section 3.1.5.