draft-ietf-extra-imap-fetch-preview-03.txt   draft-ietf-extra-imap-fetch-preview-04.txt 
EXTRA M. Slusarz EXTRA M. Slusarz
Internet-Draft Open-Xchange Inc. Internet-Draft Open-Xchange Inc.
Intended status: Standards Track February 16, 2019 Intended status: Standards Track April 24, 2019
Expires: August 20, 2019 Expires: October 26, 2019
IMAP4 Extension: Message Preview Generation IMAP4 Extension: Message Preview Generation
draft-ietf-extra-imap-fetch-preview-03 draft-ietf-extra-imap-fetch-preview-04
Abstract Abstract
This document specifies an Internet Message Access Protocol (IMAP) This document specifies an Internet Message Access Protocol (IMAP)
protocol extension allowing a client to request a server-generated protocol extension allowing a client to request a server-generated
abbreviated representation of message data useful as a contextual abbreviated representation of message data useful as a contextual
preview of the entire message. preview of the entire message.
Status of This Memo Status of This Memo
skipping to change at page 1, line 33 skipping to change at page 1, line 33
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 20, 2019. This Internet-Draft will expire on October 26, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 16 skipping to change at page 2, line 16
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions Used In This Document . . . . . . . . . . . . . . 3 2. Conventions Used In This Document . . . . . . . . . . . . . . 3
3. FETCH Data Item . . . . . . . . . . . . . . . . . . . . . . . 4 3. FETCH Data Item . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Command . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Command . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2. Response . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2. Response . . . . . . . . . . . . . . . . . . . . . . . . 4
4. PREVIEW Algorithms . . . . . . . . . . . . . . . . . . . . . 5 4. PREVIEW Algorithms . . . . . . . . . . . . . . . . . . . . . 5
4.1. FUZZY . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.1. FUZZY . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5. PREVIEW Priority Modifiers . . . . . . . . . . . . . . . . . 6 5. PREVIEW Priority Modifiers . . . . . . . . . . . . . . . . . 6
5.1. LAZY . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.1. LAZY . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 7
7. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 8 7. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 8
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
9. Security Considerations . . . . . . . . . . . . . . . . . . . 10 9. Security Considerations . . . . . . . . . . . . . . . . . . . 9
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
10.1. Normative References . . . . . . . . . . . . . . . . . . 10 10.1. Normative References . . . . . . . . . . . . . . . . . . 10
10.2. Informative References . . . . . . . . . . . . . . . . . 11 10.2. Informative References . . . . . . . . . . . . . . . . . 11
Appendix A. Change History (To be removed by RFC Editor before Appendix A. Change History (To be removed by RFC Editor before
publication) . . . . . . . . . . . . . . . . . . . . 11 publication) . . . . . . . . . . . . . . . . . . . . 11
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 13 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 13
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 13 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. Introduction
skipping to change at page 3, line 19 skipping to change at page 3, line 19
algorithm to display data contained in a text/html [RFC2854] part algorithm to display data contained in a text/html [RFC2854] part
will likely strip the markup tags to obtain textual content. will likely strip the markup tags to obtain textual content.
However, without fetching the entire content of the part, there is no However, without fetching the entire content of the part, there is no
way to guarantee that sufficient non-tag content will exist unless way to guarantee that sufficient non-tag content will exist unless
either 1) the entire part is retrieved or 2) an additional partial either 1) the entire part is retrieved or 2) an additional partial
FETCH is executed when the client determines that it does not possess FETCH is executed when the client determines that it does not possess
sufficient data from a previous partial FETCH to display an adequate sufficient data from a previous partial FETCH to display an adequate
representation of the preview. representation of the preview.
Finally, server generation allows caching in a centralized location. Finally, server generation allows caching in a centralized location.
Using server generated previews allows global generation once per Using server-generated previews allows global generation once per
message, and then cached indefinitely. Retrieval of message data may message, and then cached indefinitely. Retrieval of message data may
be expensive within a server, for example, so a server can be be expensive within a server, for example, so a server can be
configured to reduce its storage retrieval load by pre-generating configured to reduce its storage retrieval load by pre-generating
preview data. preview data.
A server indicates support for this extension by listing one or more A server indicates support for this extension by listing one or more
capability names consisting of "PREVIEW=" followed by a supported capability names consisting of "PREVIEW=" followed by a supported
preview algorithm name. This format provides for future upwards- preview algorithm name. This format provides for future upwards-
compatible extensions and/or the ability to use locally-defined compatible extensions and/or the ability to use locally-defined
preview algorithms and priority modifiers. preview algorithms.
2. Conventions Used In This Document 2. Conventions Used In This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
"User" is used to refer to a human user, whereas "client" refers to "User" is used to refer to a human user, whereas "client" refers to
skipping to change at page 4, line 12 skipping to change at page 4, line 12
implementations must pay attention to the numbered rules at the implementations must pay attention to the numbered rules at the
beginning of [RFC3501] Section 9. beginning of [RFC3501] Section 9.
3. FETCH Data Item 3. FETCH Data Item
3.1. Command 3.1. Command
To retrieve a preview for a message, the "PREVIEW" FETCH attribute is To retrieve a preview for a message, the "PREVIEW" FETCH attribute is
used when issuing a FETCH command. used when issuing a FETCH command.
If no algorithm identifier is provided, the server decides which of If no algorithm list is provided, the server decides which of its
its built-in algorithms to use to generate the preview text. built-in algorithms to use to generate the preview text.
Alternately, the client may explicitly indicate which algorithm(s) The client may explicitly indicate which algorithm(s) should be used
should be used in a parenthesized list after the PREVIEW attribute to generate the preview list via a parenthesized list of algorithm
containing the name of the algorithm. These algorithms MUST be one names output after the PREVIEW attribute. Unsupported algorithms in
of the algorithms identified as supported in the PREVIEW capability the list MUST be ignored. If the list contains no supported
responses. If a client requests an algorithm that is unsupported, algorithms, the server MUST return a tagged BAD response to the FETCH
the server MUST return a tagged BAD response. command.
The order of the algorithms in the parenthesized list (from left to The order of the algorithms in the parenthesized list (from left to
right) defines the client's priority decision. Duplicate algorithms right) defines the client's priority decision. Duplicate algorithms
in the list SHOULD be ignored. For purposes of duplicate detection, in the list SHOULD be ignored. For purposes of duplicate detection,
priority modifiers (Section 5) should be ignored. A server MUST priority modifiers (Section 5) should be ignored. A server MUST
honor a client's algorithm priority decision. honor a client's algorithm priority decision.
A server should return preview data for the first algorithm that
returns non-empty preview text. Non-empty preview text is defined as
either the NIL response or an empty string. If no algorithm produces
non-empty preview text, the server should respond with the preview
data generated by the final algorithm in the list.
3.2. Response 3.2. Response
The algorithm used by the server to generate the preview is returned The algorithm used by the server to generate the preview is returned
preceding the preview string. preceding the preview string.
The server returns a variable-length string that is the generated The server returns a variable-length string that is the generated
preview for that message. preview for that message.
Example: Retrieving preview information in a SELECTed mailbox Example: Retrieving preview information in a SELECTed mailbox
skipping to change at page 5, line 5 skipping to change at page 5, line 11
be a representation of the message data and not a canonical view of be a representation of the message data and not a canonical view of
its contents, a client MUST NOT assume that a message preview is its contents, a client MUST NOT assume that a message preview is
immutable for a given message. This relaxed requirement permits a immutable for a given message. This relaxed requirement permits a
server to offer previews as an option without requiring potentially server to offer previews as an option without requiring potentially
burdensome storage and/or processing requirements to guarantee burdensome storage and/or processing requirements to guarantee
immutability for a use case that does not require this strictness. immutability for a use case that does not require this strictness.
If the preview is not available, the server MUST return NIL as the If the preview is not available, the server MUST return NIL as the
PREVIEW response. A NIL response indicates to the client that PREVIEW response. A NIL response indicates to the client that
preview information MAY become available in a future PREVIEW FETCH preview information MAY become available in a future PREVIEW FETCH
request. Note that this is semantically different than returning a request.
zero-length string, which indicates an empty preview.
Examples why a preview may not be available include: the preview
generation process is not available due to transient server resource
limitations, the message body text is unavailable, or a server-
imposed timeout was reached during generation.
A NIL response is semantically different than returning a zero-length
string, which indicates that no meaningful preview text can be
generated for the message.
4. PREVIEW Algorithms 4. PREVIEW Algorithms
4.1. FUZZY 4.1. FUZZY
The FUZZY algorithm directs the server to use any internal algorithm The FUZZY algorithm directs the server to use any internal algorithm
it desires, subject to the below limitations, to generate a textual it desires, subject to the below limitations, to generate a textual
preview for a message. preview for a message.
The FUZZY algorithm MUST be implemented by any server that supports The FUZZY algorithm MUST be implemented by any server that supports
the PREVIEW extension. the PREVIEW extension.
The preview text MUST be treated as text/plain [RFC2046] MIME data by
the client.
The generated string MUST NOT be content transfer encoded and MUST be The generated string MUST NOT be content transfer encoded and MUST be
encoded in UTF-8 [RFC3629]. For purposes of this section, a "preview encoded in UTF-8 [RFC3629]. The server SHOULD remove any formatting
character" is defined as a single UCS character encoded in UTF-8. markup and do what other processing might be useful in rendering the
preview as plain text.
The preview text MUST be treated as text/plain MIME data by the For purposes of this section, a "preview character" is defined as a
client. single UCS character encoded in UTF-8. Note: a single preview
character may compromise multiple octets, so any buffers implemented
to conform to the string limitations identified in this document
should be sized to prevent possible overflow errors.
The server SHOULD limit the length of the preview text to 200 preview The server SHOULD limit the length of the preview text to 200 preview
characters. This length should provide sufficient data to generally characters. This length should provide sufficient data to generally
support both various languages (and their different average word support both various languages (and their different average word
lengths) and different client display size requirements. lengths) and different client display size requirements.
The server MUST NOT output preview text longer than 256 preview The server MUST NOT output preview text longer than 256 preview
characters. characters.
The server SHOULD remove any formatting markup that exists in the
original text.
If the FUZZY algorithm generates a preview that is not based on the If the FUZZY algorithm generates a preview that is not based on the
body content of the message and the LANGUAGE [RFC5255] extension is body content of the message and the LANGUAGE [RFC5255] extension is
supported by the server, the preview text SHOULD be generated supported by the server, the preview text SHOULD be generated
according to the the language rules that apply to human-readable according to the language rules that apply to human-readable text.
text. For example, a message that consists of a single image MIME For example, a message that consists of a single image MIME part has
part has no human-readable text to generate preview information from. no human-readable text from which to generate preview information.
Instead, the server may wish to output a description that the message Instead, the server may wish to output a description that the message
contains an image and describe some attributes of the image, such as contains an image and describe some attributes of the image, such as
image format, size, and filename. This descriptive text is not a image format, size, and filename. This descriptive text is not a
product of the message body itself but is rather auto-generated data product of the message body itself but is rather auto-generated data
by the server, and should thus use the rules defined for human- by the server, and should thus use the rules defined for human-
generated text described in the LANGUAGE extension (if supported on generated text described in the LANGUAGE extension (if supported on
the server). the server).
5. PREVIEW Priority Modifiers 5. PREVIEW Priority Modifiers
skipping to change at page 9, line 5 skipping to change at page 9, line 5
C: E4 UID FETCH 23 (PREVIEW (FUZZY)) C: E4 UID FETCH 23 (PREVIEW (FUZZY))
S: * 9 FETCH (UID 23 PREVIEW (FUZZY "Another preview!")) S: * 9 FETCH (UID 23 PREVIEW (FUZZY "Another preview!"))
S: E4 OK FETCH completed. S: E4 OK FETCH completed.
7. Formal Syntax 7. Formal Syntax
The following syntax specification uses the augmented Backus-Naur The following syntax specification uses the augmented Backus-Naur
Form (BNF) as described in ABNF [RFC5234]. It includes definitions Form (BNF) as described in ABNF [RFC5234]. It includes definitions
from IMAP [RFC3501]. from IMAP [RFC3501].
capability =/ "PREVIEW=" (preview-alg / preview-mod-ext) capability =/ "PREVIEW=" preview-alg
fetch-att =/ "PREVIEW" [SP "(" preview-alg-fetch *(SP fetch-att =/ "PREVIEW" [SP "(" preview-alg-fetch *(SP
preview-alg-fetch) ")"] preview-alg-fetch) ")"]
msg-att-dynamic =/ "PREVIEW" SP "(" preview-alg SP nstring ")" msg-att-dynamic =/ "PREVIEW" SP "(" preview-alg SP nstring ")"
preview-alg = "FUZZY" / preview-alg-ext preview-alg = "FUZZY" / preview-alg-ext
preview-alg-ext = preview-atom ; New algorithm names SHOULD be preview-alg-ext = preview-atom ; New algorithm names SHOULD be
; registered with IANA and MUST ; registered with IANA and MUST
; conform with the ; conform with the
; recommendations described in ; recommendations described in
; RFC 6648, Section 3 ; [RFC6648], Section 3
preview-alg-fetch = preview-alg / preview-mod "=" preview-alg preview-alg-fetch = preview-alg / preview-mod "=" preview-alg
preview-atom = 1*<any ATOM-CHAR except "="> preview-atom = 1*<any ATOM-CHAR except "=">
preview-mod = "LAZY" / preview-mod-ext preview-mod = "LAZY"
preview-mod-ext = preview-atom ; New priority modifier names
; SHOULD be registered with IANA
; and MUST conform with the
; recommendations described in
; RFC 6648, Section 3
8. IANA Considerations 8. IANA Considerations
IMAP4 [RFC3501] capabilities are registered by publishing a standards IMAP4 [RFC3501] capabilities are registered by publishing a standards
track or IESG-approved experimental RFC. The registry is currently track or IESG-approved experimental RFC. The registry is currently
located at: located at:
http://www.iana.org/assignments/imap-capabilities http://www.iana.org/assignments/imap-capabilities
This document requests that IANA adds the "PREVIEW=FUZZY" capability This document requests that IANA adds the "PREVIEW=FUZZY" capability
to the IMAP4 [RFC3501] capabilities registry. to the IMAP4 [RFC3501] capabilities registry.
This document requests that IANA create a new PREVIEW algorithms This document requests that IANA create a new "IMAP FETCH PREVIEW
registry, which registers preview algorithms by publishing a Algorithms" registry, which registers preview algorithms by IETF
standards track or IESG-approved experimental RFC. This document Review [RFC8126]. An assignment consists of the algorithm name (as
constitutes registration of the FUZZY algorithm in that registry. defined by the preview-alg-ext ABNF entry) and the document that
defines the algorithm. This document constitutes registration of the
This document requests that IANA create a new PREVIEW priority FUZZY algorithm in that registry.
modifiers registry, which registers preview priority modifiers by
publishing a standards track or IESG-approved experimental RFC. This
document constitutes registration of the LAZY priority modifier in
that registry.
9. Security Considerations 9. Security Considerations
Implementation of this extension might enable denial-of-service Implementation of this extension might enable denial-of-service
attacks against server resources, due to excessive memory or CPU attacks against server resources, due to excessive memory or CPU
usage during preview generation or increased storage usage if preview usage during preview generation or increased storage usage if preview
results are stored on the server after generation. Servers MAY limit results are stored on the server after generation. Servers MAY limit
the resources that preview generation uses. the resources that preview generation uses. In order to mitigate
such attacks, servers SHOULD log the client authentication identity
on FETCH PREVIEW operations in order to facilitate tracking of
abusive clients.
Just as the messages they summarize, preview data may contain
sensitive information. If stored permanently, these previews MUST be
protected with equivalent authorization and confidentiality controls
as the source message.
10. References 10. References
10.1. Normative References 10.1. Normative References
[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part Two: Media Types", RFC 2046,
DOI 10.17487/RFC2046, November 1996,
<https://www.rfc-editor.org/info/rfc2046>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION
4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003, 4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003,
<https://www.rfc-editor.org/info/rfc3501>. <https://www.rfc-editor.org/info/rfc3501>.
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO
skipping to change at page 10, line 46 skipping to change at page 11, line 5
Message Access Protocol Internationalization", RFC 5255, Message Access Protocol Internationalization", RFC 5255,
DOI 10.17487/RFC5255, June 2008, DOI 10.17487/RFC5255, June 2008,
<https://www.rfc-editor.org/info/rfc5255>. <https://www.rfc-editor.org/info/rfc5255>.
[RFC6648] Saint-Andre, P., Crocker, D., and M. Nottingham, [RFC6648] Saint-Andre, P., Crocker, D., and M. Nottingham,
"Deprecating the "X-" Prefix and Similar Constructs in "Deprecating the "X-" Prefix and Similar Constructs in
Application Protocols", BCP 178, RFC 6648, Application Protocols", BCP 178, RFC 6648,
DOI 10.17487/RFC6648, June 2012, DOI 10.17487/RFC6648, June 2012,
<https://www.rfc-editor.org/info/rfc6648>. <https://www.rfc-editor.org/info/rfc6648>.
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
10.2. Informative References 10.2. Informative References
[RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part One: Format of Internet Message Extensions (MIME) Part One: Format of Internet Message
Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996, Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996,
<https://www.rfc-editor.org/info/rfc2045>. <https://www.rfc-editor.org/info/rfc2045>.
skipping to change at page 12, line 43 skipping to change at page 13, line 4
server return scenarios server return scenarios
o Added "SHOULD be registered" language to algorithm names and o Added "SHOULD be registered" language to algorithm names and
priority modifiers priority modifiers
Changes from draft-ietf-extra-imap-fetch-preview-02: Changes from draft-ietf-extra-imap-fetch-preview-02:
o Move Acknowledgments to un-numbered appendix o Move Acknowledgments to un-numbered appendix
o Improved abstract text o Improved abstract text
o Consistently use "priority modifiers" instead of "modifiers" o Consistently use "priority modifiers" instead of "modifiers"
o Update example to conform with RFC 3501 UID FETCH requirements o Update example to conform with RFC 3501 UID FETCH requirements
Changes from draft-ietf-extra-imap-fetch-preview-03:
o Remove preview modifier registry request
o Improve instructions for registration of algorithms
o Add storage information to security considerations
o Clarify parsing of algorithm list in FETCH command
o Clarify difference between NIL response and zero-length string
o Add normative reference for text/plain
o Add warning regarding buffers and multiple octet preview
characters
o Clarify how to handle preview data return when using an explicit
algorithm list
o Various editorial fixes
Acknowledgments Acknowledgments
The author would like to thank the following people for their The author would like to thank the following people for their
comments and contributions to this document: Stephan Bosch, Bron comments and contributions to this document: Stephan Bosch, Bron
Gondwana, Teemu Huovila, Steffen Lehmann, Alexey Melnikov, Chris Gondwana, Teemu Huovila, Steffen Lehmann, Alexey Melnikov, Chris
Newman, Jeff Sipek, Timo Sirainen, Steffen Templin, and Aki Tuomi. Newman, Jeff Sipek, Timo Sirainen, Steffen Templin, and Aki Tuomi.
Author's Address Author's Address
Michael M. Slusarz Michael M. Slusarz
 End of changes. 25 change blocks. 
49 lines changed or deleted 96 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/