dovecot-2.2-pigeonhole: Updated RFCs in documentation.

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Fri Mar 27 20:58:19 UTC 2015


details:   http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/12220716133c
changeset: 2029:12220716133c
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Fri Mar 27 21:58:08 2015 +0100
description:
Updated RFCs in documentation.

diffstat:

 doc/rfc/Makefile.am                               |    6 +-
 doc/rfc/date-index.rfc5260.txt                    |  731 +++++++++++++++++++
 doc/rfc/draft-ietf-appsawg-sieve-duplicate-03.txt |  728 ------------------
 doc/rfc/duplicate.rfc7352.txt                     |  843 ++++++++++++++++++++++
 doc/rfc/mailbox-metadata.rfc5490.txt              |  451 +++++++++++
 doc/rfc/spec-bosch-sieve-duplicate.txt            |  392 ----------
 6 files changed, 2029 insertions(+), 1122 deletions(-)

diffs (truncated from 3204 to 300 lines):

diff -r 67238df4bae3 -r 12220716133c doc/rfc/Makefile.am
--- a/doc/rfc/Makefile.am	Fri Mar 27 21:40:00 2015 +0100
+++ b/doc/rfc/Makefile.am	Fri Mar 27 21:58:08 2015 +0100
@@ -2,16 +2,18 @@
 	body.rfc5173.txt \
 	collation.rfc4790.txt \
 	copy.rfc3894.txt \
+	date-index.rfc5260.txt \
 	draft-degener-sieve-multiscript-00.txt \
 	draft-duerst-mailto-bis-05.txt \
-	draft-ietf-appsawg-sieve-duplicate-03.txt \
 	draft-murchison-sieve-regex-07.txt \
+	duplicate.rfc7352.txt \
 	editheader.rfc5293.txt \
 	environment.rfc5183.txt \
 	ihave.rfc5463.txt \
 	imail.rfc2822.txt \
 	imap4flags.rfc5232.txt \
 	include.rfc6609.txt \
+	mailbox-metadata.rfc5490.txt \
 	mailto.rfc2368.txt \
 	managesieve.rfc5804.txt \
 	notify-mailto.rfc5436.txt \
@@ -21,7 +23,6 @@
 	sieve.rfc5228.txt \
 	spamvirustest.rfc5235.txt \
 	spec-bosch-sieve-debug.txt \
-	spec-bosch-sieve-duplicate.txt \
 	spec-bosch-sieve-extprograms.txt \
 	subaddress.rfc5233.txt \
 	uri.rfc3986.txt \
@@ -30,6 +31,7 @@
 	vacation-seconds.rfc6131.txt \
 	variables.rfc5229.txt
 
+
 EXTRA_DIST = \
 	$(docfiles)
 
diff -r 67238df4bae3 -r 12220716133c doc/rfc/date-index.rfc5260.txt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/rfc/date-index.rfc5260.txt	Fri Mar 27 21:58:08 2015 +0100
@@ -0,0 +1,731 @@
+
+
+
+
+
+
+Network Working Group                                           N. Freed
+Request for Comments: 5260                              Sun Microsystems
+Category: Standards Track                                      July 2008
+
+
+            Sieve Email Filtering: Date and Index Extensions
+
+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.
+
+Abstract
+
+   This document describes the "date" and "index" extensions to the
+   Sieve email filtering language.  The "date" extension gives Sieve the
+   ability to test date and time values in various ways.  The "index"
+   extension provides a means to limit header and address tests to
+   specific instances of header fields when header fields are repeated.
+
+Table of Contents
+
+   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
+   2.  Conventions Used in This Document  . . . . . . . . . . . . . .  2
+   3.  Capability Identifiers . . . . . . . . . . . . . . . . . . . .  3
+   4.  Date Test  . . . . . . . . . . . . . . . . . . . . . . . . . .  3
+     4.1.  Zone and Originalzone Arguments  . . . . . . . . . . . . .  4
+     4.2.  Date-part Argument . . . . . . . . . . . . . . . . . . . .  4
+     4.3.  Comparator Interactions with Date-part Arguments . . . . .  5
+     4.4.  Examples . . . . . . . . . . . . . . . . . . . . . . . . .  6
+   5.  Currentdate Test . . . . . . . . . . . . . . . . . . . . . . .  6
+     5.1.  Examples . . . . . . . . . . . . . . . . . . . . . . . . .  6
+   6.  Index Extension  . . . . . . . . . . . . . . . . . . . . . . .  7
+     6.1.  Example  . . . . . . . . . . . . . . . . . . . . . . . . .  8
+   7.  Security Considerations  . . . . . . . . . . . . . . . . . . .  8
+   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  9
+   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  9
+     9.1.  Normative References . . . . . . . . . . . . . . . . . . .  9
+     9.2.  Informative References . . . . . . . . . . . . . . . . . . 10
+   Appendix A.  Julian Date Conversions . . . . . . . . . . . . . . . 11
+   Appendix B.  Acknowledgements  . . . . . . . . . . . . . . . . . . 12
+
+
+
+
+
+
+
+Freed                       Standards Track                     [Page 1]
+
+RFC 5260            Sieve Date and Index Extensions            July 2008
+
+
+1.  Introduction
+
+   Sieve [RFC5228] is a language for filtering email messages at or
+   around the time of final delivery.  It is designed to be
+   implementable on either a mail client or mail server.  It is meant to
+   be extensible, simple, and independent of access protocol, mail
+   architecture, and operating system.  It is suitable for running on a
+   mail server where users may not be allowed to execute arbitrary
+   programs, such as on black box Internet Message Access Protocol
+   [RFC3501] servers, as it does not have user-controlled loops or the
+   ability to run external programs.
+
+   The "date" extension provides a new date test to extract and match
+   date/time information from structured header fields.  The date test
+   is similar in concept to the address test specified in [RFC5228],
+   which performs similar operations on addresses in header fields.
+
+   The "date" extension also provides a currentdate test that operates
+   on the date and time when the Sieve script is executed.
+
+   Some header fields containing date/time information, e.g., Received:,
+   naturally occur more than once in a single header.  In such cases it
+   is useful to be able to restrict the date test to some subset of the
+   fields that are present.  For example, it may be useful to apply a
+   date test to the last (earliest) Received: field.  Additionally, it
+   may also be useful to apply similar restrictions to either the header
+   or address tests specified in [RFC5228].
+
+   For this reason, this specification also defines an "index"
+   extension.  This extension adds two additional tagged arguments
+   :index and :last to the header, address, and date tests.  If present,
+   these arguments specify which occurrence of the named header field is
+   to be tested.
+
+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 [RFC2119].
+
+   The terms used to describe the various components of the Sieve
+   language are taken from Section 1.1 of [RFC5228].  Section 2 of the
+   same document describes basic Sieve language syntax and semantics.
+   The date-time syntactic element defined using ABNF notation [RFC5234]
+   in [RFC3339] is also used here.
+
+
+
+
+
+
+Freed                       Standards Track                     [Page 2]
+
+RFC 5260            Sieve Date and Index Extensions            July 2008
+
+
+3.  Capability Identifiers
+
+   The capability strings associated with the two extensions defined in
+   this document are "date" and "index".
+
+4.  Date Test
+
+   Usage:   date [<":zone" <time-zone: string>> / ":originalzone"]
+                 [COMPARATOR] [MATCH-TYPE] <header-name: string>
+                 <date-part: string> <key-list: string-list>
+
+   The date test matches date/time information derived from headers
+   containing [RFC2822] date-time values.  The date/time information is
+   extracted from the header, shifted to the specified time zone, and
+   the value of the given date-part is determined.  The test returns
+   true if the resulting string matches any of the strings specified in
+   the key-list, as controlled by the comparator and match keywords.
+   The date test returns false unconditionally if the specified header
+   field does not exist, the field exists but does not contain a
+   syntactically valid date-time specification, the date-time isn't
+   valid according to the rules of the calendar system (e.g., January
+   32nd, February 29 in a non-leap year), or the resulting string fails
+   to match any key-list value.
+
+   The type of match defaults to ":is" and the default comparator is
+   "i;ascii-casemap".
+
+   Unlike the header and address tests, the date test can only be
+   applied to a single header field at a time.  If multiple header
+   fields with the same name are present, only the first field that is
+   found is used.  (Note, however, that this behavior can be modified
+   with the "index" extension defined below.)  These restrictions
+   simplify the test and keep the meaning clear.
+
+   The "relational" extension [RFC5231] adds a match type called
+   ":count".  The count of a date test is 1 if the specified field
+   exists and contains a valid date; 0, otherwise.
+
+   Implementations MUST support extraction of RFC 2822 date-time
+   information that either makes up the entire header field (e.g., as it
+   does in a standard Date: header field) or appears at the end of a
+   header field following a semicolon (e.g., as it does in a standard
+   Received: header field).  Implementations MAY support extraction of
+   date and time information in RFC2822 or other formats that appears in
+   other positions in header field content.  In the case of a field
+   containing more than one date or time value, the last one that
+   appears SHOULD be used.
+
+
+
+
+Freed                       Standards Track                     [Page 3]
+
+RFC 5260            Sieve Date and Index Extensions            July 2008
+
+
+4.1.  Zone and Originalzone Arguments
+
+   The :originalzone argument specifies that the time zone offset
+   originally in the extracted date-time value should be retained.  The
+   :zone argument specifies a specific time zone offset that the date-
+   time value is to be shifted to prior to testing.  It is an error to
+   specify both :zone and :originalzone.
+
+   The value of time-zone MUST be an offset relative to UTC with the
+   following syntax:
+
+       time-zone  =  ( "+" / "-" ) 4DIGIT
+
+   The "+" or "-" indicates whether the time-of-day is ahead of (i.e.,
+   east of) or behind (i.e., west of) UTC.  The first two digits
+   indicate the number of hours difference from Universal Time, and the
+   last two digits indicate the number of minutes difference from
+   Universal Time.  Note that this agrees with the RFC 2822 format for
+   time zone offsets, not the ISO 8601 format.
+
+   If both the :zone and :originalzone arguments are omitted, the local
+   time zone MUST be used.
+
+4.2.  Date-part Argument
+
+   The date-part argument specifies a particular part of the resulting
+   date/time value to match against the key-list.  Possible case-
+   insensitive values are:
+
+     "year"      => the year, "0000" .. "9999".
+     "month"     => the month, "01" .. "12".
+     "day"       => the day, "01" .. "31".
+     "date"      => the date in "yyyy-mm-dd" format.
+     "julian"    => the Modified Julian Day, that is, the date
+                    expressed as an integer number of days since
+                    00:00 UTC on November 17, 1858 (using the Gregorian
+                    calendar).  This corresponds to the regular
+                    Julian Day minus 2400000.5.  Sample routines to
+                    convert to and from modified Julian dates are
+                    given in Appendix A.
+     "hour"      => the hour, "00" .. "23".
+     "minute"    => the minute, "00" .. "59".
+     "second"    => the second, "00" .. "60".
+     "time"      => the time in "hh:mm:ss" format.
+     "iso8601"   => the date and time in restricted ISO 8601 format.
+     "std11"     => the date and time in a format appropriate
+                    for use in a Date: header field [RFC2822].
+
+
+
+
+Freed                       Standards Track                     [Page 4]
+
+RFC 5260            Sieve Date and Index Extensions            July 2008
+
+
+     "zone"      => the time zone in use.  If the user specified a
+                    time zone with ":zone", "zone" will
+                    contain that value.  If :originalzone is specified
+                    this value will be the original zone specified
+                    in the date-time value.  If neither argument is
+                    specified the value will be the server's default
+                    time zone in offset format "+hhmm" or "-hhmm".  An
+                    offset of 0 (Zulu) always has a positive sign.
+     "weekday"   => the day of the week expressed as an integer between
+                    "0" and "6". "0" is Sunday, "1" is Monday, etc.
+
+   The restricted ISO 8601 format is specified by the date-time ABNF
+   production given in [RFC3339], Section 5.6, with the added
+   restrictions that the letters "T" and "Z" MUST be in upper case, and
+   a time zone offset of zero MUST be represented by "Z" and not
+   "+00:00".
+
+4.3.  Comparator Interactions with Date-part Arguments
+
+   Not all comparators are suitable with all date-part arguments.  In
+   general, the date-parts can be compared and tested for equality with
+   either "i;ascii-casemap" (the default) or "i;octet", but there are
+   two exceptions:
+
+   julian  This is an integer, and may or may not have leading zeros.
+           As such, "i;ascii-numeric" is almost certainly the best
+           comparator to use with it.


More information about the dovecot-cvs mailing list