2.2.1 AUTHINFO GENERIC Extensions

The first category of NNTP messages are messages that fall within the AUTHINFO GENERIC extensibility framework. These messages are defined in [RFC2980]. Some of the messages have parameters that require customzation by the extensibility mechanism, such as NTLM. This section describes the customizations that are introduced by the NTLM Authentication: NNTP Extension.

In addition to the messages specified in this section, the NNTP server returns a failure status code, as defined by [RFC2980], if NTLM is not supported. This message is a standard message that is defined by the NNTP standard and is not discussed here. This message is referred to as NNTP_NTLM_Not_Supported_Response in this document.

During every part of the authentication exchange, the client MUST parse the status codes on the messages that are sent by the server and interpret them as specified in [RFC2980]. The status codes define various states, such as success in authenticating, failure to authenticate, and any other arbitrary failures that the software might encounter.

The client can receive any one of the following responses during authentication. The syntax and meaning of all these messages are completely defined in [RFC2980]—except for the first message, for which [RFC2980] does not define the data that is encapsulated in the NNTP message, and leaves the definition and processing of that data to the extension mechanism. This specification focuses on defining that data. The potential response messages received by the client are:

  • NNTP_AUTH_NTLM_Blob_Response

  • NNTP_AUTH_Fail_Response

  • NNTP_AUTH_NTLM_Succeeded_Response

  • NNTP_AUTH_Other_Failure_Response, which is actually a class of messages whose syntax and interpretation are defined in [RFC2980] and [RFC977]. They indicate an abnormal termination of the NTLM authentication negotiation, which can occur for various reasons such as software errors or lack of system resources. For the purposes of this document, NNTP_AUTH_Other_Failure_Response is defined as any NNTP message other than NNTP_AUTH_NTLM_Succeeded_Response, NNTP_AUTH_Fail_Response and NNTP_AUTH_NTLM_Blob_Response. The interpretation of NNTP_AUTH_Other_Failure_Response, and the suggested client action when receiving such a message, is defined in [RFC2980]. This message represents an exit from AUTH and is, as such, not really part of AUTH negotiation.