Share via


3.2.1.1 NNTP State Model

Server state model for NNTP_NTLM authentication

Figure 3: Server state model for NNTP_NTLM authentication

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

  1. start

    This is the state of the server before the NNTP_AUTH_NTLM_Initiation_Command has been received.

  2. received_authentication_request

    This is the state of the server after the NNTP_AUTH_NTLM_Initiation_Command has been received.

  3. inside_authentication

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

    • Waits for a message from the client.

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

    • Passes it to the NTLM software.

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

    • Sends the NNTP message to the other party.

      This state terminates when:

    • 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].

    • Any failure is reported by the NTLM software.

  4. completed_authentication

    This is the state of the server when it exits the inside_authentication state. The rules for how the inside_authentication state is exited are defined in section 3.2.5.