Network Working Group                                         R. Gellens
Request for Comments: 3206                                      QUALCOMM
Category: Standards Track                                  February 2002


                 The SYS and AUTH POP Response Codes

Status of this Memo

  This document specifies an Internet standards track protocol for the
  Internet community, and requests discussion and suggestions for
  improvements.  Please refer to the current edition of the "Internet
  Official Protocol Standards" (STD 1) for the standardization state
  and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

  Copyright (C) The Internet Society (2002).  All Rights Reserved.

Abstract

  This memo proposes two response codes: SYS and AUTH, which enable
  clients to unambiguously determine an optimal response to an
  authentication failure.  In addition, a new capability (AUTH-RESP-
  CODE) is defined.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Conventions Used in this Document . . . . . . . . . . . . . . 2
   3.  Background   . . . . . . . . . . . . . . . . . . . . . . . .  2
   4.  The SYS Response Code   . . . . . . . . . . . . . . . . . . . 3
   5.  The AUTH Response Code   . . . . . . . . . . . . . . . . . .  3
   6.  The AUTH-RESP-CODE Capability   . . . . . . . . . . . . . . . 4
   7.  IANA Considerations   . . . . . . . . . . . . . . . . . . . . 4
   8.  Security Considerations  . . . . . . . . . . . . . . . . . .  4
   9.  References   . . . . . . . . . . . . . . . . . . . . . . . .  5
  10.  Author's Address  . . . . . . . . . . . . . . . . . . . . . . 5
  11.  Full Copyright Statement   . . . . . . . . . . . . . . . . .  6












Gellens                     Standards Track                     [Page 1]

RFC 3206          The SYS and AUTH POP Response Codes      February 2002



1.  Introduction

  RFC 2449 [POP3-EXT] defined extended [POP3] response codes, to give
  clients more information about errors so clients can respond more
  appropriately.  In addition to the mechanism, two initial response
  codes were defined (IN-USE and LOGIN-DELAY), in an attempt to
  differentiate between authentication failures related to user
  credentials, and other errors.

  In practice, these two response codes, while helpful, do not go far
  enough.  This memo proposes two additional response codes:  SYS and
  AUTH, which enable clients to unambiguously determine an optimal
  response to an authentication failure.

  In addition, a new capability (AUTH-RESP-CODE) is defined.

2.  Conventions Used in this Document

  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
  document are to be interpreted as described in RFC 2119 [KEYWORDS].

3.  Background

  RFC 2449 [POP3-EXT] introduced the IN-USE and LOGIN-DELAY response
  codes.  The intent is to allow clients to clearly determine the
  underlying cause of a failure in order to respond.  For example,
  clients need to know if the user should be asked for new credentials,
  or if the POP3 session should simply be tried again later.  (Some
  deployed POP3 clients attempt to parse the text of authentication
  failure errors, looking for strings known to be issued by various
  servers which indicate the mailbox is locked.)

  IN-USE indicates that an exclusive lock could not be obtained for the
  user's mailbox, probably because another POP3 session is in progress.
  LOGIN-DELAY informs the client that the user has not waited long
  enough before authenticating again.

  However, there are other error conditions which do not require new
  credentials, some of which should be brought to the user's attention.

  Despite the IN-USE and LOGIN-DELAY responses, clients cannot be sure
  if any other error requires new user credentials.







Gellens                     Standards Track                     [Page 2]

RFC 3206          The SYS and AUTH POP Response Codes      February 2002


4.  The SYS Response Code

  The SYS response code announces that a failure is due to a system
  error, as opposed to the user's credentials or an external condition.
  It is hierarchical, with two possible second-level codes: TEMP and
  PERM.  (Case is not significant at any level of the hierarchy.)

  SYS/TEMP indicates a problem which is likely to be temporary in
  nature, and therefore there is no need to alarm the user, unless the
  failure persists.  Examples might include a central resource which is
  currently locked or otherwise temporarily unavailable, insufficient
  free disk or memory, etc.

  SYS/PERM is used for problems which are unlikely to be resolved
  without intervention.  It is appropriate to alert the user and
  suggest that the organization's support or assistance personnel be
  contacted.  Examples include corrupted mailboxes, system
  configuration errors, etc.

  The SYS response code is valid with an -ERR response to any command.

5.  The AUTH Response Code

  The AUTH response code informs the client that there is a problem
  with the user's credentials.  This might be an incorrect password, an
  unknown user name, an expired account, an attempt to authenticate in
  violation of policy (such as from an invalid location or during an
  unauthorized time), or some other problem.

  The AUTH response code is valid with an -ERR response to any
  authentication command including AUTH, USER (see note), PASS, or
  APOP.

  Servers which include the AUTH response code with any authentication
  failure SHOULD support the CAPA command [POP3-EXT] and SHOULD include
  the AUTH-RESP-CODE capability in the CAPA response.  AUTH-RESP-CODE
  assures the client that only errors with the AUTH code are caused by
  credential problems.

     NOTE:  Returning the AUTH response code to the USER command
     reveals to the client that the specified user exists.  It is
     strongly RECOMMENDED that the server not issue this response code
     to the USER command.








Gellens                     Standards Track                     [Page 3]

RFC 3206          The SYS and AUTH POP Response Codes      February 2002


6.  The AUTH-RESP-CODE Capability

  CAPA tag:
      AUTH-RESP-CODE

  Arguments:
      none

  Added commands:
      none

  Standard commands affected:
      none

  Announced states / possible differences:
      both / no

  Commands valid in states:
      n/a

  Specification reference:
      this document

  Discussion:
      The AUTH-RESP-CODE capability indicates that the server includes
      the AUTH response code with any authentication error caused by a
      problem with the user's credentials.

7.  IANA Considerations

  IANA has added the AUTH-RESP-CODE capability to the list of POP3
  capabilities (established by RFC 2449 [POP3-EXT]).

  IANA has also added the SYS and AUTH response codes to the list of
  POP3 response codes (also established by RFC 2449 [POP3-EXT]).

8.  Security Considerations

  Section 5, The AUTH Response Code, discusses the security issues
  related to use of the AUTH response code with the USER command.











Gellens                     Standards Track                     [Page 4]

RFC 3206          The SYS and AUTH POP Response Codes      February 2002


9.  References

  [KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

  [POP3]     Myers, J. and M. Rose, "Post Office Protocol -- Version
             3", STD 53, RFC 1939, May 1996.

  [POP3-EXT] Gellens, R., Newman, C. and L. Lundblade, "POP3 Extension
             Mechanism", RFC 2449, November 1998.

10.  Author's Address

  Randall Gellens
  QUALCOMM Incorporated
  5775 Morehouse Drive
  San Diego, CA  92121-2779
  U.S.A.

  Phone: +1 858 651 5115
  EMail: [email protected]






























Gellens                     Standards Track                     [Page 5]

RFC 3206          The SYS and AUTH POP Response Codes      February 2002


11.  Full Copyright Statement

  Copyright (C) The Internet Society (2002).  All Rights Reserved.

  This document and translations of it may be copied and furnished to
  others, and derivative works that comment on or otherwise explain it
  or assist in its implementation may be prepared, copied, published
  and distributed, in whole or in part, without restriction of any
  kind, provided that the above copyright notice and this paragraph are
  included on all such copies and derivative works.  However, this
  document itself may not be modified in any way, such as by removing
  the copyright notice or references to the Internet Society or other
  Internet organizations, except as needed for the purpose of
  developing Internet standards in which case the procedures for
  copyrights defined in the Internet Standards process must be
  followed, or as required to translate it into languages other than
  English.

  The limited permissions granted above are perpetual and will not be
  revoked by the Internet Society or its successors or assigns.

  This document and the information contained herein is provided on an
  "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

  Funding for the RFC Editor function is currently provided by the
  Internet Society.



















Gellens                     Standards Track                     [Page 6]