ietf-mta-filters
[Top] [All Lists]

Re: draft-elvey-refuse-sieve-02.txt; http://wiki.fastmail.fm/wiki/index.php/SieveExtensionsSupportMatrix

2004-08-10 13:18:07


On Aug 10, 2004, at 12:16 PM, Cyrus Daboo wrote:


Hi Matthew,

--On Tuesday, August 10, 2004 11:36 AM -0700 Matthew Elvey <matthew(_at_)elvey(_dot_)com> wrote:

There was some discussion at the lunch BOF last week about the utility
of refuse.

Cool; wish I coulda been there/participated.  Anyone take minutes?
(edit: I just heard that Alexey has notes he may share.)

The Jabber log is here:

<http://www.xmpp.org/ietf-logs/sieve(_at_)ietf(_dot_)xmpp(_dot_)org/2004-08-04.txt>

I will also attempt to write up a brief summary and post to the list in the next day or so.

There was general consensus among the participants that it would be
better to extend reject to allow for SMTP refusal and DSN generation
rather than add a new command. Personally I prefer that approach - but
the issue needs more discussion on the list.

We've probably been over this before, but can you explain in detail
why you think a new command is better than extending the behaviour of
reject?

So the idea is just a syntax change, yes?

A syntax change and also a relaxation of the requirement that 'reject' must generate an MDN. i.e. if 'reject' occurs in an implementation that runs SIEVE during SMTP then that implementation is allowed to do either an SMTP error code, DSN or MDN as it feels appropriate. The 'reject' text specified by the user would be used for DSN or MDN text, and we would add a new optional parameter for the SMTP error code and descriptive error text.

I'm sorry I missed the discussion, as perhaps the issues I will repeat below have been
already discussed.

If done as a relaxation of "reject", then one will need to be able to handle the DNS and MDN cases differently due to the issue of character sets and non-ASCII text in the reason text.

The SMTP text has to be ASCII only. The MDN text can potentially contain non-ASCII text.

Being able to provide a reason in their "own" language (a language that needs a non-ASCII charset for proper representation) is very important to some users. I can hardly stress
enough how important this is to some users and user communities!

So either: (1) A "relaxed" reject action would need another parameter specifying whether SMTP level rejection vs. later MDN should be performed, and then the value of that parameter would need to affect what sorts of characters are allowed in the reason string, or else (2) A "relaxed" reject action would need two parameters, one being the SMTP rejection text (ASCII only) and a second parameter would be the MDN text which would allow non-ASCII text. Or maybe some third approach I haven't thought of, as long as it allows non-ASCII text when non-ASCII text is legal, and uses ASCII text when ASCII text is required.

To me, such approaches, complicating the reason text in a single action ("relaxed" reject) seems uglier than adding a new action refuse that does the SMTP rejection case and leaving reject alone as the MDN rejection case. And I think that the necessity for scripts to be aware of the difference between SMTP rejection and MDN rejection means that they might as well be coded with different actions -- I think that there is no real simplicity
benefit to using a single action.

What's the gist of the argument for the change? I can't think of any
strong arguments against the change; here are some less strong arguments:

1)A normal extension (the current 'refuse') is a cleaner implementation
in the sense that it's a standard extension - something that's well
understood, instead of something that makes the base Sieve RFC 'wrong' by
changing it.

My argument against a new command is that it makes scripts less portable. By relaxing the restriction on reject the same script can run efficiently on an implementation that runs at SMTP time and one that runs at final delivery/LMTP time. It will also make switching between such implementations easier as scripts will not have to be changed to gain the benefits of SMTP time rejection.

The "portable script" argument only works for sites that are supporting English-only (or at best, Western-European-languages-that-can-be-adequately-represented-in-ASCII- only)
user communities.

For other sites that are already using reject with MDN text that is not ASCII-only, their script already isn't suitable for SMTP reject time interpretation. Such sites are going to have to care, in their scripts, about the different requirements for reason text for SMTP rejections
vs. MDNs.

Regards,

Kristin


The question is whether there is ever a case where you would care what type of reject behaviour is carried out: SMTP error, DSN or MDN. If there is a requirement to allow users to explicitly state the type of error that can easily be done as a parameter.

2)It's already written and debugged.

True, but I don't think switching to 'relaxed' reject would be a significant change. I suspect the integration with SMTP is the biggest issue.

Arguments for the change:
1)A change won't break anything, according to the URL below.

Have we done something like this (e.g. modify an action to accept a
special parameter flag) before?

Yes - the copy extension adds a :copy parameter to fileinto and redirect. imapflags also extends fileinto and also keep.


--
Cyrus Daboo



<Prev in Thread] Current Thread [Next in Thread>