Subject: [sieve] Notary last call

From: Cyrus Daboo <[email-masked]>
Date: Sun, 30 Aug 2009 13:40:09 -0400

Hi folks,
We issued a WG last call on the -deliverby changes to the notary extension 
(draft-freed-sieve-notary-05) at the IETF meeting last month. We are well 
past the last call end date and there have been no comments (positive or 
negative) on the list at all. Please review the changes that have been made 
to this document and respond on this list ASAP. We would like to send this 
to the IESG but we need to be sure it has had adequate review.

-- 
Cyrus Daboo

Date: Wed, 19 Aug 2009 14:19:03 -0700 (PDT)
From: Ned Freed <[email-masked]>
Subject: Re: Problem in RFC 5260 - Appendix A
To: Stephan Bosch <[email-masked]>
Cc: [email-masked]
Sender: [email-masked]

> Hello,

> I've recently implemented the Sieve date extension specified in RFC
> 5260. One of the date parts available for matching is the 'julian' part.
> According to the text at page 3 it represents the following:

>       "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.

> In a lazy mood, I copied the jday function from Appendix A into my
> implementation to generate the required Modified Julian Day (MJD). To my
> surprise this function does not yield the MJD, but rather just the
> regular Julian Day (rounded up to the nearest integer). So, for the date
> 17-08-2009 it yields 2455061 in stead of 55060 (at time 00:00:00). The
> text in Appendix A clearly states that the jday function returns the
> modified julian day, but apparently it does not. Other than that, the
> variable 'j' is declared but never used anywhere in the function.

> Is an erratum due for RFC 5260, or am I just blabbering nonsense? My
> expertise on date-time conversions is a bit bleak, but from what I could
> find on the net, the jday function is not a correct example for date to
> MJD conversion.

You're right - the code in the appendix doesn't have the necessary adjustment
in it. (Of course it's a trivial thing to add.)

As to  whether this should be dealt with by an erratum, that's one way, but
perhaps the better alternative is to republish so I can also add the phrase
"code component" to the appendix. That addresses the licensing issues for
reusing code in an RFC.

In any case, thanks for reporting this.

				Ned

Date: Tue, 18 Aug 2009 00:59:04 +0200
From: Stephan Bosch <[email-masked]>
To: [email-masked]
Subject: Problem in RFC 5260 - Appendix A
Sender: [email-masked]

Hello,

I've recently implemented the Sieve date extension specified in RFC 
5260. One of the date parts available for matching is the 'julian' part. 
According to the text at page 3 it represents the following:

      "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.

In a lazy mood, I copied the jday function from Appendix A into my 
implementation to generate the required Modified Julian Day (MJD). To my 
surprise this function does not yield the MJD, but rather just the 
regular Julian Day (rounded up to the nearest integer). So, for the date 
17-08-2009 it yields 2455061 in stead of 55060 (at time 00:00:00). The 
text in Appendix A clearly states that the jday function returns the 
modified julian day, but apparently it does not. Other than that, the 
variable 'j' is declared but never used anywhere in the function.

Is an erratum due for RFC 5260, or am I just blabbering nonsense? My 
expertise on date-time conversions is a bit bleak, but from what I could 
find on the net, the jday function is not a correct example for date to 
MJD conversion.

Regards,

Stephan.

Date: Mon, 17 Aug 2009 21:27:58 +0100
From: Alexey Melnikov <[email-masked]>
To: MTA filtering mailing list <[email-masked]>
Subject: draft-ietf-sieve-mime-loop: meaning of :anychild when :mime is not present
Sender: [email-masked]

Tim Polk pointed out during the IESG review that the behavior of 
:anychild without :mime is not defined.
In a private exchange Tony listed alternatives

    1)    The ":anychild" tagged argument is used with the ":mime" tagged
    argument to modify its behavior.
or
    2)    The ":anychild" tagged argument is used with the ":mime" tagged
    argument to modify its behavior. The ":anychild" tagged argument
    is not used without the ":mime" tagged argument.
or
    3)    The ":anychild" tagged argument may only be used with the
    ":mime" tagged argument to modify its behavior.

and mentioned that he slightly prefers 1). Cyrus expressed his 
preference for option 3). I think we need to get WG consensus on this 
change.

Date: Sat, 15 Aug 2009 22:20:15 +0100
From: Alexey Melnikov <[email-masked]>
To: Stephan Bosch <[email-masked]>
CC: [email-masked]
Subject: Re: Question about ManageSieve capabilities
Sender: [email-masked]

Stephan Bosch wrote:

> Hello,

Hi Stephan,

> Recently, I noticed that it can be useful or even important to have 
> the supported Sieve and ManageSieve capabilities depend on the 
> authenticated user. Because the identity of the connected user is not 
> known until the client authenticates, the capabilities reported upon 
> connect and after authentication are going to differ.
>
> Now I am wondering how to best implement a capability change upon 
> authentication. According to section 1.8 of the draft, the 
> capabilities are allowed to change after an AUTHENTICATE command, so 
> there is no problem there. However, there is still the problem of 
> reliably notifying the client that the capabilities have changed. 
> After AUTHENTICATE this can happen with an unsolicited capability 
> response directly after the command. However, the draft only mentions 
> this in relation to the establishment of a SASL security layer.
>
> Now I have a question:
>
> Is the server allowed to send the unsolicited capability response 
> after AUTHENTICATION also when just capabilities have changed and no 
> SASL security layer has come into effect?

I didn't think this should ever happen. (But to be frank I haven't 
thought about making the two SASL cases symmetrical.) My intent was that 
the client needs to reissue the CAPABILITY command explicitly if it 
wants to know about changes.

> This may be an important notion, because client implementations may 
> not expect this when it is not explicitly mentioned/allowed/prohibited 
> in the specification.

This can indeed be a problem for clients.
I suppose we can change the spec to allow for that, but this would need 
some information about how existing clients cope with this.

> So, for example, this is what I would like to do:
>
> S: "IMPLEMENTATION" "Example1 ManageSieved v001"
> S: "SASL" "PLAIN DIGEST-MD5 GSSAPI"
> S: "SIEVE" ""
> S: "VERSION" "1.0"
> S: OK
> C: Authenticate "PLAIN" "QJIrweAPyo6Q1T9xu"
> S: "IMPLEMENTATION" "Example1 ManageSieved v001"
> S: "SASL" "PLAIN DIGEST-MD5 GSSAPI"
> S: "SIEVE" "fileinto vacation relational copy date index enotify"
> S: "MAXREDIRECTS" "10"
> S: "NOTIFY" "mailto xmmp"
> S: "VERSION" "1.0"
> S: "OWNER" "[email-masked]"
> S: OK "Logged in."
>
> The alternative would be to rely upon the client to issue a CAPABILITY 
> command. This is somewhat less reliable, as clients may refrain from 
> doing so.
>
> So, what's the best way to go here?
>
> Regards,
>
> Stephan

From: [email-masked]
To: [email-masked]
Cc: [email-masked]
Subject: I-D Action:draft-freed-sieve-in-xml-06.txt 
Date: Thu, 13 Aug 2009 13:30:02 -0700 (PDT)
Sender: [email-masked]

--NextPart

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Sieve Mail Filtering Language Working Group of the IETF.

	Title           : Sieve Email Filtering: Sieves and display directives in XML
	Author(s)       : N. Freed, S. Vedam
	Filename        : draft-freed-sieve-in-xml-06.txt
	Pages           : 32
	Date            : 2009-08-13

This document describes a way to represent Sieve email filtering
language scripts in XML.  Representing sieves in XML is intended not
as an alternate storage format for Sieve but rather as a means to
facilitate manipulation of scripts using XML tools.

The XML representation also defines additional elements that have no
counterparts in the regular Sieve language.  These elements are
intended for use by graphical user interfaces and provide facilities
for labeling or grouping sections of a script so they can be
displayed more conveniently.  These elements are represented as
specially structured comments in regular Sieve format.

Change History (to be removed prior to publication as an RFC

Changed representation of comments in XML to use a comment element.

Update references.

Added an IANA registration of a URN for the Sieve namespace.

Updated XML Schema to allow largely unrestricted use of material in
other namespaces.

Add compact Relax NG schema.

Updated example stylesheet to handle material in other namespaces.

Corrected stylesheet handling of <comment> elements.

Added a section defining the structured comment convention.

Moved the examples section to an appendix.

Added text to clarify that the examples in the various appendices are
in fact code components and may therefore be reused.

Added a section on validation requirements.

Clarified various editor requirements and trust issues, restricted
the use of "*/" in non-Sieve XML content.

Added XML reference.

Added a list of all presently defined controls, explained how unknown
controls would be handled.

Added a note about the need to remove quotes and other syntax
elements when converting to XML.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-freed-sieve-in-xml-06.txt

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.

--NextPart
Content-Type: Message/External-body;
	name="draft-freed-sieve-in-xml-06.txt";
	site="ftp.ietf.org";
	access-type="anon-ftp";
	directory="internet-drafts"

Content-Type: text/plain
Content-ID:     <[email-masked]>

--NextPart--

Date: Wed, 12 Aug 2009 22:17:40 +0100
From: Alexey Melnikov <[email-masked]>
To: MTA filtering mailing list <[email-masked]>
Subject: [Fwd: DISCUSS and COMMENT: draft-ietf-sieve-mime-loop]
Sender: [email-masked]

This is a multi-part message in MIME format.
--------------080200010308010405030106
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

FYI.

--------------080200010308010405030106
Content-Type: message/rfc822;
 name="DISCUSS and COMMENT: draft-ietf-sieve-mime-loop"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="DISCUSS and COMMENT: draft-ietf-sieve-mime-loop"

From: Tim Polk <[email-masked]>
To: [email-masked]
Cc: [email-masked], [email-masked], [email-masked]
Subject: DISCUSS and COMMENT: draft-ietf-sieve-mime-loop 
Date: Wed, 12 Aug 2009 04:40:31 -0700 (PDT)

Discuss:
This is a good document overall, but there are a few issues that need to be addressed to
ensure consistency and interoperability of implementations.

(1) In section 3, the semantics of a "break" command that omits a name in a nested 
"foreverypart" is not clearly specified.  In this case, does the "break" terminate the closest 
enclosing loop, or the outermost?

(2) In section 4.1, the semantics of ":anychild" in the absence of the ":mime" tagged argument 
is not specified, but this construct is permitted by the ABNF and is not forbidden by the text.

Since sections 4.2 and 4.3 reference 4.1 for the behavior of ":anychild" this ambiguity ripples 
forward.

(3) In sections 4.2 and 4.3, the following text is ambiguous:

    "the use of "address" with no ":mime" and ":anychild" tagged arguments ..."

Does the no apply to both arguments or just one? if it applies to both, it might be clearer 
to state: 

    "the use of "address" when both the ":mime" and ":anychild" tagged arguments
     are omitted ..."

Comment:
There is at least one occurrence of "SIEVE" in section 11, but most (all?) other occurrences are "Sieve"

For consistency, suggest the global change
s/SIEVE/Sieve/

--------------080200010308010405030106--

Date: Tue, 11 Aug 2009 10:21:40 +0200
From: Stephan Bosch <[email-masked]>
To: [email-masked]
Subject: Question about ManageSieve capabilities
Sender: [email-masked]

Hello,

Recently, I noticed that it can be useful or even important to have the 
supported Sieve and ManageSieve capabilities depend on the authenticated 
user. Because the identity of the connected user is not known until the 
client authenticates, the capabilities reported upon connect and after 
authentication are going to differ.

Now I am wondering how to best implement a capability change upon 
authentication. According to section 1.8 of the draft, the capabilities 
are allowed to change after an AUTHENTICATE command, so there is no 
problem there. However, there is still the problem of reliably notifying 
the client that the capabilities have changed. After AUTHENTICATE this 
can happen with an unsolicited capability response directly after the 
command. However, the draft only mentions this in relation to the 
establishment of a SASL security layer.

Now I have a question:

Is the server allowed to send the unsolicited capability response after 
AUTHENTICATION also when just capabilities have changed and no SASL 
security layer has come into effect?

This may be an important notion, because client implementations may not 
expect this when it is not explicitly mentioned/allowed/prohibited in 
the specification.

So, for example, this is what I would like to do:

S: "IMPLEMENTATION" "Example1 ManageSieved v001"
S: "SASL" "PLAIN DIGEST-MD5 GSSAPI"
S: "SIEVE" ""
S: "VERSION" "1.0"
S: OK
C: Authenticate "PLAIN" "QJIrweAPyo6Q1T9xu"
S: "IMPLEMENTATION" "Example1 ManageSieved v001"
S: "SASL" "PLAIN DIGEST-MD5 GSSAPI"
S: "SIEVE" "fileinto vacation relational copy date index enotify"
S: "MAXREDIRECTS" "10"
S: "NOTIFY" "mailto xmmp"
S: "VERSION" "1.0"
S: "OWNER" "[email-masked]"
S: OK "Logged in."

The alternative would be to rely upon the client to issue a CAPABILITY 
command. This is somewhat less reliable, as clients may refrain from 
doing so.

So, what's the best way to go here?

Regards,

Stephan

Date: Sat, 1 Aug 2009 11:06:58 +0100
Subject: Re: [draft-melnikov-sieve-external-lists] 2.4 Proposed Error Handling  Clarifications
From: Robert Burrell Donkin <[email-masked]>
To: Cyrus Daboo <[email-masked]>
Cc: [email-masked], Jeffrey Hutzelman <[email-masked]>, MTA filtering mailing list <[email-masked]>
Sender: [email-masked]

(thanks to barry for his detailed post)

On Sat, Aug 1, 2009 at 8:08 AM, Cyrus Daboo<[email-masked]> wrote:
> Hi Robert,
>
> --On July 31, 2009 10:07:06 AM +0100 Robert Burrell Donkin
> <[email-masked]> wrote:
>
>>> I'm sure there will be a summary in the WG minutes, when they're done.
>>
>> i'm sure that there will
>>
>> it would have been polite to inform the mailing list that changes - of
>> a fundamental nature - had been agreed at the meeting, and that any
>> discussions on - or analysis of - the recently posted draft 00 would
>> be wasted
>
> Note that an agenda for the meeting was posted to the list in the week prior
> to the meeting for feedback and to give participants a heads-up on what is
> going to be discussed. Minutes for the meeting will be available in the next
> few weeks. In the meantime there are jabber logs and audio recordings that
> can be used to check on what happened.
>
> In general I would suggest that if you do plan a detailed review of a
> document (not prompted by say a WG last call), that it makes sense to first
> contact the authors either directly or via the list to check on the status
> of the document to make sure there are no queued up changes that may be of
> significance. That is certainly advisable at around the time of an IETF
> meeting where drafts are often updated.
>
> In any case, your feedback on this and other documents is appreciated. If
> you do think that changes to the WG process are needed, it would probably be
> best to bring that up on the general IETF discussion list or the apps area
> list as I don't think this WG behaves much differently from many others.

unfortunately, i'm running out of time :-/

this also isn't my battle

FWIW

the IETF has issues with it's current process, or at least the general
perception of it's process

i'm probably a little atypical in that i develop mostly enterprise
Java and am involved with Sieve through the FOSS library writing i do
for kicks. i've tried hard to persuade downstream application authors
to get involved with the work of this group without success. the
impression many have is that the IETF is now too vendor driven,
political and closed. it may well be that this is a problem of
perception - and not substance - but that makes it no less real.

AIUI the IETF now seems more meeting focussed than in the 90's (quite
possibly for very good reasons) but this means that - if the process
is going to be seen as inclusive and open - efforts need to be made to
reach out from the meeting to the wider public. i think barry's
suggestions about ways to widen participation at meetings are
definitely worthwhile. there are also some simple things that any WG
could do to reach out to those who participate just on the lists (a
few more posts - for example - just briefly explaining the process and
encouraging wider participation even at the cost of a small amount of
repitition for regular readers).

perhaps the mechanics of the editing process could also be useful
reviewed. a distribution version control system such as git could
lower the cost of participation.

- robert

Date: Sat, 01 Aug 2009 09:08:53 +0200
From: Cyrus Daboo <[email-masked]>
To: Robert Burrell Donkin <[email-masked]>
cc: [email-masked], Jeffrey Hutzelman <[email-masked]>, MTA filtering mailing list <[email-masked]>
Subject: Re: [draft-melnikov-sieve-external-lists] 2.4 Proposed Error Handling 	Clarifications
Sender: [email-masked]

Hi Robert,

--On July 31, 2009 10:07:06 AM +0100 Robert Burrell Donkin 
<[email-masked]> wrote:

>> I'm sure there will be a summary in the WG minutes, when they're done.
>
> i'm sure that there will
>
> it would have been polite to inform the mailing list that changes - of
> a fundamental nature - had been agreed at the meeting, and that any
> discussions on - or analysis of - the recently posted draft 00 would
> be wasted

Note that an agenda for the meeting was posted to the list in the week 
prior to the meeting for feedback and to give participants a heads-up on 
what is going to be discussed. Minutes for the meeting will be available in 
the next few weeks. In the meantime there are jabber logs and audio 
recordings that can be used to check on what happened.

In general I would suggest that if you do plan a detailed review of a 
document (not prompted by say a WG last call), that it makes sense to first 
contact the authors either directly or via the list to check on the status 
of the document to make sure there are no queued up changes that may be of 
significance. That is certainly advisable at around the time of an IETF 
meeting where drafts are often updated.

In any case, your feedback on this and other documents is appreciated. If 
you do think that changes to the WG process are needed, it would probably 
be best to bring that up on the general IETF discussion list or the apps 
area list as I don't think this WG behaves much differently from many 
others.

-- 
Cyrus Daboo

Reply-To: [email-masked]
Date: Sat, 1 Aug 2009 03:01:55 -0400
Subject: Re: [draft-melnikov-sieve-external-lists] 2.4 Proposed Error Handling  Clarifications
From: Barry Leiba <[email-masked]>
To: Robert Burrell Donkin <[email-masked]>
Cc: MTA filtering mailing list <[email-masked]>
Sender: [email-masked]

Robert, I thought a bit about whether to send this reply privately,
but decided that it's important to say it on the mailing list.  I'm
going to use "I" throughout, because I have no authorization to speak
for anyone else, but I think most of the working group participants
would agree with what I say here.

Let me start by saying that I very much appreciate the time you've put
into thoroughly reviewing the documents and thinking through the
protocols, and into the detailed responses.  I especially like it when
you've given a statement of what you want to change and why, followed
by a suggestion of specific text for the change.

I also appreciate that you've jumped in and started contributing
directly.  Of course, I don't know how long you might have been
lurking before you did that... but it's very common for people to be
"afraid" to join in, and I'm glad that you don't seem to be.

Please do not take brief responses or those that may seem somewhat
curt to be dismissive, angry, or otherwise in a "Why don't you go
away?" sort of sense.  We're all very busy, we've been discussing this
stuff for a long time, and sometimes our answers are an attempt to
blurt a response out and get back to something else, or are in
reaction to seeing something raised that we've beaten to death before.
 None of it means that we don't want and appreciate your
contributions.  Please try to assume the best intentions when you're
reading, and forgive abrupt-seeming text.

So if what I've said, in particular, has come across as snarky,
dismissive, or even outwardly nasty, please accept my apology for that
-- none of it was meant that way, and it's just a question of being
too quick, and a poor choice of wording.

While the official work of the working group, as in all of the IETF,
happens on the mailing list, that has to be put into perspective.  It
means that any decision made is reviewed and discussed here, but there
are often preliminary decisions made off-list.  Sometimes a couple of
participants will get into a side discussion on their own.  There are
the discussions in the face-to-face meetings.  All that is fine, and
the results can come to the mailing list in a number of ways: perhaps
as a summary of a discussion, perhaps as a new issue posted on its
own, perhaps as a new draft for people to review.

In the case of the Security Considerations section, for example, I
made an observation a couple of weeks ago similar to yours.  Alexey
gave me the source XML for the document and I did some editing and
rewriting, including gutting the Security Considerations section and
re-doing much of it.  That was well after the deadline for posting new
I-Ds before the meeting, and anyway, Alexey needed to review it
himself first.

The meeting in Stockholm then bashed out the URI issue -- taking your
earlier comments on that into consideration, I'll note -- and came up
with a change to propose to the list, from an idea of Jeff H's.  That
change needs to be put into draft text, which the working group can
then review here and, no doubt, tweak.

Note that the times leading up to, and during the IETF meeting weeks
are horrendously busy for many of us.  We can't have time to do
everything that needs to be done... and to give you an idea, my
calendar for the IETF week went from 9 a.m. some days and 7:30 a.m.
others, to around 10 p.m., including breakfast meetings, working
lunches, evening informal BOF sessions, and working dinners.  Almost
every session during the day had something I needed to go to, and I
often had things scheduled during the breaks -- find someone and talk
with him about something.  I had an hour and a half free on Thursday
afternoon, and that was all the free time for the week... and I even
wound up talking with a colleague during half of that period as well.

Yes, it would have been nice if we could have posted the interim I-D
candidate to the mailing list.  And yes, it would have been nice if
we'd posted a summary of the face-to-face session by, say, the next
morning, so you'd know what was discussed.  That they didn't happen
yet just speaks to how busy everyone's been.  It'll happen.

I-Ds are, by definition, "works in progress", and they're always
changing -- some more or less than others.  I, too, have had review
items that have been overtaken by events.  It doesn't mean the review
was wasted, and it doesn't mean that it wasn't wanted.  Take it as
acknowledgment that someone else also saw the same thing you did, or
something similar, and fix-ups crossed in the ether.

I'll add one more thing on timing:
Because of how the IETF meeting weeks work, and because the
high-bandwidth nature of the face-to-face discussions can result in
major changes to parts or all of a document, reviews posted to the
mailing list during the meeting week (especially late in the week) are
less likely to dovetail with the in-meeting discussion.  In contrast,
reviews posted the week before the meeting, or the week before that,
are particularly *useful*, because they can be discussed in the
meeting.

It would also be great if you could participate in the in-meeting
discussions through the remote-participation facilities -- jabber and
the live audio stream.  Many participants find them to work very
well... and the IETF is starting to experiment with using in-meeting
WebEx conferencing to try to make it even better.

In sum:
I really do want your contributions, and I hope we don't annoy you too
much with how we've come to say things over time.  I think you'll
really find this to be a group that works well together, makes
progress, and respects everyone's input.

Barry

For reference:
Jabber logs...
   General: http://jabber.ietf.org/logs/
   Sieve WG: http://jabber.ietf.org/logs/sieve/
   Sieve at IETF 75: http://jabber.ietf.org/logs/sieve/2009-07-29.txt
Audio streams...
   Live IETF 75 (quiet now, of course):
http://www.ietf.org/meeting/75/audio.html
   The stream for each session is archived somewhere, but I can't find
it just now.
Meeting materials...
   General: https://datatracker.ietf.org/meeting/75/materials.html
   Sieve WG: (above, search for "sieve")