Internet Draft: Notify Mail R. Gellens Document: draft-gellens-notify-mail-02.txt QUALCOMM Expires: July 2005 January 2005 Simple New Mail Notification Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of RFC 3668. By submitting this Internet-Draft, I accept the provisions of Section 3 of RFC 3667 (BCP 78). Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Copyright Notice Copyright (C) The Internet Society (2005). All Rights Reserved. Abstract This memo documents a long-standing technique, supported by a large number of mail servers, which allows users to be notified of new mail. In addition to server support, there are a number of clients which support this, ranging from full email clients to specialized clients whose only purpose is to receive new mail notifications and Gellens Expires July 2005 [Page 1] Internet Draft Notify Mail January 2005 alert a mail client. In brief, the technique is for the server to send the string "nm_notifyuser" CRLF to the finger port on the IP address (either configured or last used) for the user who has received new mail. Gellens Expires July 2005 [Page 2] Internet Draft Notify Mail January 2005 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions Used in this Document . . . . . . . . . . . . . . 3 3. Simple Mail Notification . . . . . . . . . . . . . . . . . . 3 4. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5. Security Considerations . . . . . . . . . . . . . . . . . . 4 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 5 8. Normative References . . . . . . . . . . . . . . . . . . . . 5 9. Informative References . . . . . . . . . . . . . . . . . . . 5 10. Author's Addresses . . . . . . . . . . . . . . . . . . . . . 5 Intellectual Property Statement . . . . . . . . . . . . . . . 5 Full Copyright Statement . . . . . . . . . . . . . . . . . . . 6 Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1. Introduction There is a long-standing technique supported by a large number of mail servers which allows users to be notified of new mail. In addition to server support, there are a number of clients which support this, ranging from full email clients to specialized clients whose only purpose is to receive new mail notifications and alert a mail client. This technique is sometimes known as "notify mail" (after a shareware client of the same name), sometimes called "biff", and sometimes the "finger hack". 2. Conventions Used in this Document In examples, "C:" is used to indicate lines sent by the client, and "S:" indicates those sent by the server. Line breaks within a command example are for editorial purposes only. Line breaks in the protocol are indicated by "CRLF". 3. Simple Mail Notification The technique is for the server to send the string "nm_notifyuser" immediately followed by CRLF to the finger port on the IP address for the user who has received new mail. The finger port is 79. (Note that only the port for finger is used; the finger protocol itself is not used.) The IP address to use may be configured, or the server may use the IP address that was last used to check mail by the user. Typically this is a per-account configuration option. Gellens Expires July 2005 [Page 3] Internet Draft Notify Mail January 2005 To be useful, on the client system a process must be listening to the finger port. When it receives the "nm_notifyuser" string, it takes a configured action, typically instructing a mail client to fetch mail. Normally, a TCP connection to the target computer is opened, the "nm_notifyuser" string is sent, and the connection is closed without waiting for any response. In some cases UDP is used instead of TCP, but the default and general practice is TCP. Even though one a single message in one direction is sent (with no reply), TCP is used most often, probably for reliability. There is an assumption that the client listening on an IP address only has responsibility for one email account; if a client can check multiple accounts and receives the "nm_notifyuser" string, it does not know which account received the mail. There is a requirement that a finger daemon is not active on the client. 4. Example This example assumes that new mail has arrived at server mail.isp.example.com for account fastness@example.net. The server has determined an IP address to which notification should be sent. C: S: C: S: nm_notifyuserCRLF S: 5. Security Considerations There is of course no assurance that the "nm_notifyuser" message is being sent to the correct IP address. Nor does the listening agent on the client system have any assurance that a "nm_notifyuser" string was sent by a mail server which has received new mail for the user. It is trivial for an attacker to send large numbers of "nm_notifyuser" messages to any targeted system. Client systems listening for this message SHOULD implement protections against being flooded with notifications. Many server systems already implement protections against users logging in and checking mail too Gellens Expires July 2005 [Page 4] Internet Draft Notify Mail January 2005 frequently. Since use of this protocol requires that a port be open with an agent listening on it, if that agent contains vulnerabilities it may create a remotely exploitable attack (for example, buffer overflows permitting an attacker to execute arbitrary code on the client system with the permissions of the agent). As usual with a process listening on a port, the process should execute with the least possible privelege level and access. 6. IANA Considerations The notify mail hack (and this document) should be included as an additional usage for port 79. 7. Acknowledgments The NotifyMail shareware utility was written by Scott Gruby. 8. Normative References None. 9. Informative References None. 10. Author's Addresses Randall Gellens QUALCOMM Incorporated 6455 Lusk Blvd. San Diego, CA 92121-2779 USA randy@qualcomm.Com Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that Gellens Expires July 2005 [Page 5] Internet Draft Notify Mail January 2005 it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Full Copyright Statement Copyright (C) The Internet Society (2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Disclaimer This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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. Gellens Expires July 2005 [Page 6]