rfc5423.IM_Store_Events.txt 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955
  1. Network Working Group R. Gellens
  2. Request for Comments: 5423 QUALCOMM Inc.
  3. Category: Standards Track C. Newman
  4. Sun Microsystems
  5. March 2009
  6. Internet Message Store Events
  7. Status of This Memo
  8. This document specifies an Internet standards track protocol for the
  9. Internet community, and requests discussion and suggestions for
  10. improvements. Please refer to the current edition of the "Internet
  11. Official Protocol Standards" (STD 1) for the standardization state
  12. and status of this protocol. Distribution of this memo is unlimited.
  13. Copyright Notice
  14. Copyright (c) 2009 IETF Trust and the persons identified as the
  15. document authors. All rights reserved.
  16. This document is subject to BCP 78 and the IETF Trust's Legal
  17. Provisions Relating to IETF Documents in effect on the date of
  18. publication of this document (http://trustee.ietf.org/license-info).
  19. Please review these documents carefully, as they describe your rights
  20. and restrictions with respect to this document.
  21. Abstract
  22. One of the missing features in the existing Internet mail and
  23. messaging standards is a facility for server-to-server and server-to-
  24. client event notifications related to message store events. As the
  25. scope of Internet mail expands to support more diverse media (such as
  26. voice mail) and devices (such as cell phones) and to provide rich
  27. interactions with other services (such as web portals and legal
  28. compliance systems), the need for an interoperable notification
  29. system increases. This document attempts to enumerate the types of
  30. events that interest real-world consumers of such a system.
  31. This document describes events and event parameters that are useful
  32. for several cases, including notification to administrative systems
  33. and end users. This is not intended as a replacement for a message
  34. access facility such as IMAP.
  35. Gellens & Newman Standards Track [Page 1]
  36. RFC 5423 Internet Message Store Events March 2009
  37. Table of Contents
  38. 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
  39. 1.1. Conventions Used in This Document . . . . . . . . . . . . 3
  40. 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
  41. 3. Event Model . . . . . . . . . . . . . . . . . . . . . . . . . 4
  42. 4. Event Types . . . . . . . . . . . . . . . . . . . . . . . . . 5
  43. 4.1. Message Addition and Deletion . . . . . . . . . . . . . . 5
  44. 4.2. Message Flags . . . . . . . . . . . . . . . . . . . . . . 7
  45. 4.3. Access Accounting . . . . . . . . . . . . . . . . . . . . 8
  46. 4.4. Mailbox Management . . . . . . . . . . . . . . . . . . . . 8
  47. 5. Event Parameters . . . . . . . . . . . . . . . . . . . . . . . 10
  48. 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
  49. 7. Security Considerations . . . . . . . . . . . . . . . . . . . 14
  50. 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15
  51. 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
  52. 9.1. Normative References . . . . . . . . . . . . . . . . . . . 15
  53. 9.2. Informative References . . . . . . . . . . . . . . . . . . 15
  54. Appendix A. Future Extensions . . . . . . . . . . . . . . . . . . 17
  55. 1. Introduction
  56. A message store is used to organize Internet Messages [RFC5322] into
  57. one or more mailboxes (possibly hierarchical), annotate them in
  58. various ways, and provide access to these messages and associated
  59. metadata. Three different standards-based protocols have been widely
  60. deployed to remotely access a message store. The Post Office
  61. Protocol (POP) [RFC1939] provides simple download-and-delete access
  62. to a single mail drop (which is a subset of the functionality
  63. typically associated with a message store). The Internet Message
  64. Access Protocol (IMAP) [RFC3501] provides an extensible feature-rich
  65. model for online, offline, and disconnected access to a message store
  66. with minimal constraints on any associated "fat-client" user
  67. interface. Finally, mail access applications built on top of the
  68. Hypertext Transfer Protocol (HTTP) [RFC2616] that run in standards-
  69. based web browsers provide a third standards-based access mechanism
  70. for online-only access.
  71. While simple and/or ad-hoc mechanisms for notifications have sufficed
  72. to some degree in the past (e.g., "Simple New Mail Notification"
  73. [RFC4146], "IMAP4 IDLE Command" [RFC2177]), as the scope and
  74. importance of message stores expand, the demand for a more complete
  75. store notification system increases. Some of the driving forces
  76. behind this demand include:
  77. o Mobile devices with intermittent network connectivity that have
  78. "new mail" or "message count" indicators.
  79. Gellens & Newman Standards Track [Page 2]
  80. RFC 5423 Internet Message Store Events March 2009
  81. o Unified messaging systems that include both Internet and voice
  82. mail require support for a message-waiting indicator on phones.
  83. o Interaction with systems for event-based or utility-computing
  84. billing.
  85. o Simplification of the process of passing message store events to
  86. non-Internet notification systems.
  87. o A calendar system may wish to subscribe to MessageNew
  88. notifications in order to support iMIP [RFC2447].
  89. o Some jurisdictions have laws or regulations for information
  90. protection and auditing that require interoperable protocols
  91. between message stores built by messaging experts and compliance
  92. auditing systems built by compliance experts.
  93. Vendors who have deployed proprietary notification systems for their
  94. Internet message stores have seen significant demand to provide
  95. notifications for more and more events. As a first step towards
  96. building a notification system, this document attempts to enumerate
  97. the core events that real-world customers demand.
  98. This document includes those events that can be generated by the use
  99. of IMAP4rev1 [RFC3501] and some existing extensions. As new IMAP
  100. extensions are defined, or additional event types or parameters need
  101. to be added, the set specified here can be extended by means of an
  102. IANA registry with update requirements, as specified in Section 6.
  103. 1.1. Conventions Used in This Document
  104. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  105. "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
  106. document are to be interpreted as described in RFC 2119 [RFC2119].
  107. When these words appear in lower-case or with initial capital
  108. letters, they are not RFC 2119 key words.
  109. 2. Terminology
  110. The following terminology is used in this document:
  111. mailbox
  112. A container for Internet messages and/or child mailboxes. A
  113. mailbox may or may not permit delivery of new messages via a mail
  114. delivery agent.
  115. Gellens & Newman Standards Track [Page 3]
  116. RFC 5423 Internet Message Store Events March 2009
  117. mailbox identifier
  118. A mailbox identifier provides sufficient information to identify a
  119. specific mailbox on a specific server instance. An IMAP URL can
  120. be a mailbox identifier.
  121. message access protocols
  122. Protocols that provide clients (e.g., a mail user agent or web
  123. browser) with access to the message store, including but not
  124. limited to IMAP, POP, and HTTP.
  125. message context
  126. As defined in [RFC3458].
  127. UIDVALIDITY
  128. As defined in IMAP4rev1 [RFC3501]. UIDVALIDITY is critical to the
  129. correct operation of a caching mail client. When it changes, the
  130. client MUST flush its cache. It's particularly important to
  131. include UIDVALIDITY with event notifications related to message
  132. addition or removal in order to keep the message data correctly
  133. synchronized.
  134. 3. Event Model
  135. The events that are generated by a message store depend to some
  136. degree on the model used to represent a message store. The model the
  137. IETF has for a message store is implicit from IMAP4rev1 and
  138. extensions, so that model is assumed by this document.
  139. A message store event typically has an associated mailbox name and
  140. usually has an associated user name (or authorization identity if
  141. using the terminology from "Simple Authentication and Security Layer"
  142. (SASL) [RFC4422]). Events referring to a specific message can use an
  143. IMAP URL [RFC5092] to do so. Events referring to a set of messages
  144. can use an IMAP URL to the mailbox plus an IMAP UID (Unique
  145. Identifier) set.
  146. Each notification has a type and parameters. The type determines the
  147. type of event, while the parameters supply information about the
  148. context of the event that may be used to adjust subscription
  149. preferences or may simply supply data associated with the event. The
  150. types and parameter names in this document are restricted to US-ASCII
  151. printable characters, so these events can be easily mapped to an
  152. arbitrary notification system. However, this document assumes that
  153. arbitrary parameter values (including large and multi-line values)
  154. can be encoded with the notification system. Systems which lack that
  155. feature could only implement a subset of these events.
  156. Gellens & Newman Standards Track [Page 4]
  157. RFC 5423 Internet Message Store Events March 2009
  158. This document does not indicate which event parameters are mandatory
  159. or optional. That is done in documents that specify specific message
  160. formats or bindings to a notification system.
  161. For scalability reasons, some degree of filtering at event generation
  162. is necessary. At the very least, the ability to turn on and off
  163. groups of related events and to suppress inclusion of large
  164. parameters (such as messageContent) is needed. A sophisticated
  165. publish/subscribe notification system may be able to propagate
  166. cumulative subscription information to the publisher.
  167. Some of these events might be logically collapsed into a single event
  168. type with a required parameter to distinguish between the cases
  169. (e.g., QuotaExceed and QuotaWithin). However, until such time that
  170. an event subscription model is formulated, it's not practical to make
  171. such decisions. We thus note only the fact that some of these events
  172. may be viewed as a single event type.
  173. 4. Event Types
  174. This section discusses the different types of events useful in a
  175. message store event notification system. The intention is to
  176. document the events sufficient to cover an overwhelming majority of
  177. known use cases while leaving less common event types for the future.
  178. This section mentions parameters that are important or specific to
  179. the events described here. Event parameters likely to be included in
  180. most or all notifications are discussed in the next section.
  181. 4.1. Message Addition and Deletion
  182. This section includes events related to message addition and
  183. deletion.
  184. MessageAppend
  185. A message was appended or concatenated to a mailbox by a message
  186. access client. For the most part, this is identical to the
  187. MessageNew event type except that the SMTP envelope information is
  188. not included as a parameter, but information about which protocol
  189. triggered the event MAY be included. See the MessageNew event for
  190. more information.
  191. MessageExpire
  192. One or more messages were expired from a mailbox due to server
  193. expiration policy and are no longer accessible by the end user.
  194. The parameters include a mailbox identifier that MUST include
  195. UIDVALIDITY and a UID set that describes the messages.
  196. Gellens & Newman Standards Track [Page 5]
  197. RFC 5423 Internet Message Store Events March 2009
  198. Information about which server expiration policy was applied may
  199. be included in the future.
  200. MessageExpunge
  201. One or more messages were expunged from a mailbox by an IMAP
  202. CLOSE/EXPUNGE, POP3 DELE+QUIT, HTTP, or equivalent client action
  203. and are no longer accessible by the end user.
  204. The parameters include a mailbox identifier that MUST include
  205. UIDVALIDITY, a UID set, and MAY also indicate which access
  206. protocol triggered the event.
  207. MessageNew
  208. A new message was received into a mailbox via a message delivery
  209. agent.
  210. The parameters include a message identifier that, for IMAP-
  211. accessible message stores, MUST include UIDVALIDITY and a UID.
  212. The parameters MAY also include an SMTP envelope and other
  213. arbitrary message and mailbox metadata. In some cases, the entire
  214. new message itself may be included. The set of parameters SHOULD
  215. be adjustable to the client's preference, with limits set by
  216. server policy. An interesting policy, for example, would be to
  217. include messages up to 2K in size with the notification, but to
  218. include a URLAUTH [RFC4467] reference for larger messages.
  219. QuotaExceed
  220. An operation failed (typically MessageNew) because the user's
  221. mailbox exceeded one of the quotas (e.g., disk quota, message
  222. quota, quota by message context, etc.). The parameters SHOULD
  223. include at least the relevant user and quota and, optionally, the
  224. mailbox. Quota usage SHOULD be included if possible. Parameters
  225. needed to extend this to support quota by context are not
  226. presently described in this document but could be added in the
  227. future.
  228. QuotaWithin
  229. An operation occurred (typically MessageExpunge or MessageExpire)
  230. that reduced the user's quota usage under the limit.
  231. QuotaChange
  232. The user's quota was changed.
  233. Gellens & Newman Standards Track [Page 6]
  234. RFC 5423 Internet Message Store Events March 2009
  235. 4.2. Message Flags
  236. This section includes events related to changes in message flags.
  237. MessageRead
  238. One or more messages in the mailbox were marked as read or seen by
  239. a user. Note that POP has no concept of read or seen messages, so
  240. these events are only generated by IMAP or HTTP clients (or
  241. equivalent).
  242. The parameters include a mailbox identifier and a set of message
  243. UIDs.
  244. MessageTrash
  245. One or more messages were marked for future deletion by the user
  246. but are still accessible over the protocol (the user's client may
  247. or may not make these messages accessible through its user
  248. interface).
  249. The parameters include a mailbox identifier and a set of message
  250. UIDs.
  251. FlagsSet
  252. One or more messages in the mailbox had one or more IMAP flags or
  253. keywords set.
  254. The parameters include a list of IMAP flag or keyword names that
  255. were set, a mailbox identifier, and the set of UIDs of affected
  256. messages. The flagNames MUST NOT include \Recent. For
  257. compatibility with simpler clients, it SHOULD be configurable
  258. whether setting the \Seen or \Deleted flags results in this event
  259. or the simpler MessageRead/MessageTrash events. By default, the
  260. simpler message forms SHOULD be used for MessageRead and
  261. MessageTrash.
  262. FlagsClear
  263. One or more messages in the mailbox had one or more IMAP flags or
  264. keywords cleared.
  265. The parameters include a list of IMAP flag or keyword names that
  266. were cleared, a mailbox identifier, and the set of UIDs of
  267. affected messages. The flagNames parameter MUST NOT include
  268. \Recent.
  269. Gellens & Newman Standards Track [Page 7]
  270. RFC 5423 Internet Message Store Events March 2009
  271. 4.3. Access Accounting
  272. This section lists events related to message store access accounting.
  273. Login
  274. A user has logged into the system via IMAP, HTTP, POP, or some
  275. other mechanism.
  276. The parameters include the domain name and port used to access the
  277. server and the user's authorization identity. Additional possible
  278. parameters include the client's IP address and port, the
  279. authentication identity (if different from the authorization
  280. identity), the service name, the authentication mechanism,
  281. information about any negotiated security layers, a timestamp, and
  282. other information.
  283. Logout
  284. A user has logged out or otherwise been disconnected from the
  285. message store via IMAP, HTTP, POP, or some other mechanism.
  286. The parameters include the server domain name and the user's
  287. authorization identity. Additional parameters MAY include any of
  288. the information from the "Login" event as well as information
  289. about the type of disconnect (suggested values include graceful,
  290. abort, timeout, and security layer error), the duration of the
  291. connection or session, and other information.
  292. 4.4. Mailbox Management
  293. This section lists events related to the management of mailboxes.
  294. MailboxCreate
  295. A mailbox has been created, or an access control changed on an
  296. existing mailbox so that it is now accessible by the user. If the
  297. mailbox creation caused the creation of new mailboxes earlier in
  298. the hierarchy, separate MailboxCreate events are not generated, as
  299. their creation is implied.
  300. The parameters include the created mailbox identifier, its
  301. UIDVALIDITY for IMAP-accessible message stores, and MAY also
  302. indicate which access protocol triggered the event. Access and
  303. permissions information (such as Access Control List (ACL)
  304. [RFC4314] settings) require a standardized format to be included,
  305. and so are left for future extension.
  306. Gellens & Newman Standards Track [Page 8]
  307. RFC 5423 Internet Message Store Events March 2009
  308. MailboxDelete
  309. A mailbox has been deleted, or an access control changed on an
  310. existing mailbox so that it is no longer accessible by the user.
  311. Note that if the mailbox has child mailboxes, only the specified
  312. mailbox has been deleted, not the children. The mailbox becomes
  313. \NOSELECT, and the hierarchy remains unchanged, as per the
  314. description of the DELETE command in IMAP4rev1 [RFC3501].
  315. The parameters include the deleted mailbox identifier and MAY also
  316. indicate which access protocol triggered the event.
  317. MailboxRename
  318. A mailbox has been renamed. Note that, per the description of the
  319. RENAME command in IMAP4rev1 [RFC3501], special semantics regarding
  320. the mailbox hierarchy apply when INBOX is renamed (child mailboxes
  321. are usually included in the rename, but are excluded when INBOX is
  322. renamed). When a mailbox other than INBOX is renamed and its
  323. child mailboxes are also renamed as a result, separate
  324. MailboxRename events are not generated for the child mailboxes, as
  325. their renaming is implied. If the rename caused the creation of
  326. new mailboxes earlier in the hierarchy, separate MailboxCreate
  327. events are not generated for those, as their creation is implied.
  328. When INBOX is renamed, a new INBOX is created. A MailboxCreate
  329. event is not generated for the new INBOX, since it is implied.
  330. The parameters include the old mailbox identifier, the new mailbox
  331. identifier, and MAY also indicate which access protocol triggered
  332. the event.
  333. MailboxSubscribe
  334. A mailbox has been added to the server-stored subscription list,
  335. such as the one managed by the IMAP SUBSCRIBE and UNSUBSCRIBE
  336. commands.
  337. The parameters include the user whose subscription list has been
  338. affected, the mailbox identifier, and MAY also indicate which
  339. access protocol triggered the event.
  340. MailboxUnSubscribe
  341. A mailbox has been removed from the subscription list.
  342. The parameters include the user whose subscription list has been
  343. affected, the mailbox identifier, and MAY also indicate which
  344. access protocol triggered the event.
  345. Gellens & Newman Standards Track [Page 9]
  346. RFC 5423 Internet Message Store Events March 2009
  347. 5. Event Parameters
  348. This section lists parameters included with these events.
  349. admin
  350. Included with all events generated by message access protocols.
  351. The authentication identity associated with this event, as
  352. distinct from the authorization identity (see "user"). This is
  353. not included when it is the same as the value of the user
  354. parameter.
  355. bodyStructure
  356. May be included with MessageAppend and MessageNew.
  357. The IMAP BODYSTRUCTURE of the message.
  358. clientIP
  359. Included with all events generated by message access protocols.
  360. The IPv4 or IPv6 address of the message store access client that
  361. performed the action that triggered the notification.
  362. clientPort
  363. Included with all events generated by message access protocols.
  364. The port number of the message store access client that performed
  365. an action that triggered the notification (the port from which the
  366. connection occurred).
  367. diskQuota
  368. Included with QuotaExceed, QuotaWithin, and QuotaChange
  369. notifications relating to a user or mailbox disk quota. May be
  370. included with other notifications.
  371. Disk quota limit in kilobytes (1024 octets).
  372. diskUsed
  373. Included with QuotaExceed and QuotaWithin notifications relating
  374. to a user or mailbox disk quota. May be included with other
  375. notifications.
  376. Disk space used in kilobytes (1024 octets). Only disk space that
  377. counts against the quota is included.
  378. Gellens & Newman Standards Track [Page 10]
  379. RFC 5423 Internet Message Store Events March 2009
  380. envelope
  381. May be included with the MessageNew notification.
  382. The message transfer envelope associated with final delivery of
  383. the message for the MessageNew notification. This includes the
  384. MAIL FROM and relevant RCPT TO line(s) used for final delivery
  385. with CRLF delimiters and any ESMTP parameters.
  386. flagNames
  387. Included with FlagsSet and FlagsClear events. May be included
  388. with MessageAppend and MessageNew to indicate flags that were set
  389. initially by the APPEND command or delivery agent, respectively.
  390. A list (likely to be space-separated) of IMAP flag or keyword
  391. names that were set or cleared. Flag names begin with a backslash
  392. while keyword names do not. The \Recent flag is explicitly not
  393. permitted in the list.
  394. mailboxID
  395. Included in events that affect mailboxes. A URI describing the
  396. mailbox. In the case of MailboxRename, this refers to the new
  397. name.
  398. maxMessages
  399. Included with QuotaExceed and QuotaWithin notifications relating
  400. to a user or mailbox message count quota. May be included with
  401. other notifications.
  402. Quota limit on the number of messages in the mailbox, for events
  403. referring to a mailbox.
  404. messageContent
  405. May be included with MessageAppend and MessageNew.
  406. The entire message itself. Size-based suppression of this SHOULD
  407. be available.
  408. messageSize
  409. May be included with MessageAppend and MessageNew.
  410. Size of the RFC 5322 message itself in octets. This value matches
  411. the length of the IMAP literal returned in response to an IMAP
  412. FETCH of BODY[] for the referenced message.
  413. Gellens & Newman Standards Track [Page 11]
  414. RFC 5423 Internet Message Store Events March 2009
  415. messages
  416. Included with QuotaExceed and QuotaWithin notifications relating
  417. to a user or mailbox message count quota. May be included with
  418. other notifications.
  419. Number of messages in the mailbox. This is typically included
  420. with message addition and deletion events.
  421. modseq
  422. May be included with any notification referring to one message.
  423. This is the 64-bit integer MODSEQ as defined in [RFC4551]. No
  424. assumptions about MODSEQ can be made if this is omitted.
  425. oldMailboxID
  426. A URI describing the old name of a renamed or moved mailbox.
  427. pid
  428. May be included with any notification.
  429. The process ID of the process that generated the notification.
  430. process
  431. May be included with any notification.
  432. The name of the process that generated the notification.
  433. serverDomain
  434. Included in Login and optionally in Logout or other events. The
  435. domain name or IP address (v4 or v6) used to access the server or
  436. mailbox.
  437. serverPort
  438. Included in Login and optionally in Logout or other events. The
  439. port number used to access the server. This is often a well-known
  440. port.
  441. serverFQDN
  442. May be included with any notification.
  443. The fully qualified domain name of the server that generated the
  444. event. Note that this may be different from the server name used
  445. to access the mailbox included in the mailbox identifier.
  446. Gellens & Newman Standards Track [Page 12]
  447. RFC 5423 Internet Message Store Events March 2009
  448. service
  449. May be included with any notification.
  450. The name of the service that triggered the event. Suggested
  451. values include "imap", "pop", "http", and "admincli" (for an
  452. administrative client).
  453. tags
  454. May be included with any notification.
  455. A list of UTF-8 tags (likely to be comma-separated). One or more
  456. tags can be set at the time a notification criteria or
  457. notification subscription is created. Subscribers can use tags
  458. for additional client-side filtering or dispatch of events.
  459. timestamp
  460. May be included with any notification.
  461. The time at which the event occurred that triggered the
  462. notification (the underlying protocol carrying the notification
  463. may contain a timestamp for when the notification was generated).
  464. This MAY be an approximate time.
  465. Timestamps are expressed in local time and contain the offset from
  466. UTC (this information is used in several places in Internet mail)
  467. and are normally in [RFC3339] format.
  468. uidnext
  469. May be included with any notification referring to a mailbox.
  470. The UID that is projected to be assigned next in the mailbox.
  471. This is typically included with message addition and deletion
  472. events. This is equivalent to the UIDNEXT status item in the IMAP
  473. STATUS command.
  474. uidset
  475. Included with MessageExpires, MessageExpunges, MessageRead,
  476. MessageTrash, FlagsSet, and FlagsClear.
  477. This includes the set of IMAP UIDs referenced.
  478. uri
  479. Included with all notifications. A reference to the IMAP server,
  480. a mailbox, or a message.
  481. Typically an IMAP URL. This can include the name of the server
  482. used to access the mailbox/message, the mailbox name, the
  483. UIDVALIDITY of the mailbox, and the UID of a specific message.
  484. Gellens & Newman Standards Track [Page 13]
  485. RFC 5423 Internet Message Store Events March 2009
  486. user
  487. Included with all events generated by message access protocols.
  488. This is the authorization identifier used when the client
  489. connected to the access protocol that triggered the event. Some
  490. protocols (for example, many SASL mechanisms) distinguish between
  491. authorization and authentication identifiers. For events
  492. associated with a mailbox, this may be different from the owner of
  493. the mailbox specified in the IMAP URL.
  494. 6. IANA Considerations
  495. The IANA has created a new registry for "Internet Message Store
  496. Events" that contains two sub-registries: event names and event
  497. parameters. For both event names and event parameters, entries that
  498. do not start with "vnd." are added by the IETF and are intended for
  499. interoperable use. Entries that start with "vnd." are intended for
  500. private use by one or more parties and are allocated to avoid
  501. collisions.
  502. The initial values are contained in this document.
  503. Using IANA Considerations [RFC5226] terminology, entries that do not
  504. start with "vnd." are allocated by IETF Consensus, while those
  505. starting with "vnd." are allocated First Come First Served.
  506. 7. Security Considerations
  507. Notifications can produce a large amount of traffic and expose
  508. sensitive information. When notification mechanisms are used to
  509. maintain state between different entities, the ability to corrupt or
  510. manipulate notification messages could enable an attacker to modulate
  511. the state of these entities. For example, if an attacker were able
  512. to modify notifications sent from a message store to an auditing
  513. server, he could modify the "user" and "messageContent" parameters in
  514. MessageNew notifications to create false audit log entries.
  515. A competent transfer protocol for notifications must consider
  516. authentication, authorization, privacy, and message integrity, as
  517. well as denial-of-service issues. While the IETF has adequate tools
  518. and experience to address these issues for mechanisms that involve
  519. only one TCP connection, notification or publish/subscribe protocols
  520. that are more sophisticated than a single end-to-end TCP connection
  521. will need to pay extra attention to these issues and carefully
  522. balance requirements to successfully deploy a system with security
  523. and privacy considerations.
  524. Gellens & Newman Standards Track [Page 14]
  525. RFC 5423 Internet Message Store Events March 2009
  526. 8. Acknowledgments
  527. Alexey Melnikov, Arnt Gulbrandsen, and Zoltan Ordogh have reviewed
  528. and offered improvements to this document. Richard Barnes did a nice
  529. review during Last Call.
  530. 9. References
  531. 9.1. Normative References
  532. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
  533. Requirement Levels", BCP 14, RFC 2119, March 1997.
  534. [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION
  535. 4rev1", RFC 3501, March 2003.
  536. [RFC5092] Melnikov, A. and C. Newman, "IMAP URL Scheme", RFC 5092,
  537. November 2007.
  538. [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
  539. IANA Considerations Section in RFCs", BCP 26, RFC 5226,
  540. May 2008.
  541. 9.2. Informative References
  542. [RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3",
  543. STD 53, RFC 1939, May 1996.
  544. [RFC2177] Leiba, B., "IMAP4 IDLE command", RFC 2177, June 1997.
  545. [RFC2447] Dawson, F., Mansour, S., and S. Silverberg, "iCalendar
  546. Message-Based Interoperability Protocol (iMIP)", RFC 2447,
  547. November 1998.
  548. [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
  549. Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
  550. Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
  551. [RFC3339] Klyne, G., Ed. and C. Newman, "Date and Time on the
  552. Internet: Timestamps", RFC 3339, July 2002.
  553. [RFC3458] Burger, E., Candell, E., Eliot, C., and G. Klyne, "Message
  554. Context for Internet Mail", RFC 3458, January 2003.
  555. [RFC4146] Gellens, R., "Simple New Mail Notification", RFC 4146,
  556. August 2005.
  557. Gellens & Newman Standards Track [Page 15]
  558. RFC 5423 Internet Message Store Events March 2009
  559. [RFC4314] Melnikov, A., "IMAP4 Access Control List (ACL) Extension",
  560. RFC 4314, December 2005.
  561. [RFC4422] Melnikov, A. and K. Zeilenga, "Simple Authentication and
  562. Security Layer (SASL)", RFC 4422, June 2006.
  563. [RFC4467] Crispin, M., "Internet Message Access Protocol (IMAP) -
  564. URLAUTH Extension", RFC 4467, May 2006.
  565. [RFC4551] Melnikov, A. and S. Hole, "IMAP Extension for Conditional
  566. STORE Operation or Quick Flag Changes Resynchronization",
  567. RFC 4551, June 2006.
  568. [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322,
  569. October 2008.
  570. Gellens & Newman Standards Track [Page 16]
  571. RFC 5423 Internet Message Store Events March 2009
  572. Appendix A. Future Extensions
  573. This document specifies core functionality based on events that are
  574. believed to be well understood, have known use cases, and are
  575. implemented by at least one deployed real-world Internet message
  576. store. (A few events are exceptions to the last test only: FlagsSet,
  577. FlagsClear, MailboxCreate, MailboxDelete, MailboxRename,
  578. MailboxSubscribe, and MailboxUnSubscribe.)
  579. Some events have been suggested but are postponed to future
  580. extensions because they do not meet this criteria. These events
  581. include messages that have been moved to archive storage and may
  582. require extra time to access, quota by message context,
  583. authentication failure, user mail account disabled, annotations, and
  584. mailbox ACL or metadata change. The descriptions of several events
  585. note additional parameters that are likely candidates for future
  586. inclusion. See Section 6 for how the list of events and parameters
  587. can be extended.
  588. In order to narrow the scope of this document to something that can
  589. be completed, only events generated from the message store (by a
  590. message access module, administrative module, or message delivery
  591. agent) are considered. A complete mail system is normally linked
  592. with an identity system that would also publish events of interest to
  593. a message store event subscriber. Events of interest include account
  594. created/deleted/disabled and password changed/expired.
  595. Authors' Addresses
  596. Randall Gellens
  597. QUALCOMM Incorporated
  598. 5775 Morehouse Drive
  599. San Diego, CA 92651
  600. USA
  601. Phone:
  602. EMail: rg+ietf@qualcomm.com
  603. Chris Newman
  604. Sun Microsystems
  605. 800 Royal Oaks
  606. Monrovia, CA 91016-6347
  607. USA
  608. Phone:
  609. EMail: chris.newman@sun.com
  610. Gellens & Newman Standards Track [Page 17]