[Dovecot] Sieve and LDA
Hello !
I have started to use Sieve support in LDA. From the RFC a same message should not be delivered twice in the same folder :
,---- | 2.10.3. Message Uniqueness in a Mailbox | | | Implementations SHOULD NOT deliver a message to the same folder more | than once, even if a script explicitly asks for a message to be | written to a mailbox twice. | | The test for equality of two messages is implementation-defined. | | If a script asks for a message to be written to a mailbox twice, it | MUST NOT be treated as an error. `----
Dovecot seems to ignore this "SHOULD NOT" or am I missing something ? At first, I thought they were speaking of case where there is two idententic "fileinto" directive in the ruleset. Something like : fileinto "box"; fileinto "box";
But, I don't think that they would they "the test for equality of two messages" with such a trivial case.
Maybe dovecot should maintain a list of recent message-id seen for each user (with the associated mailbox).
I WILL ONLY DO THIS ONCE A YEAR I WILL ONLY DO THIS ONCE A YEAR I WILL ONLY DO THIS ONCE A YEAR -+- Bart Simpson on chalkboard in episode 3F31
On Mon, Jan 29, 2007 at 09:26:48PM +0100, Vincent Bernat wrote:
Hello !
I have started to use Sieve support in LDA. From the RFC a same message should not be delivered twice in the same folder :
,---- | 2.10.3. Message Uniqueness in a Mailbox | | | Implementations SHOULD NOT deliver a message to the same folder more | than once, even if a script explicitly asks for a message to be | written to a mailbox twice. | | The test for equality of two messages is implementation-defined. | | If a script asks for a message to be written to a mailbox twice, it | MUST NOT be treated as an error. `----
Dovecot seems to ignore this "SHOULD NOT" or am I missing something ? At first, I thought they were speaking of case where there is two idententic "fileinto" directive in the ruleset. Something like : fileinto "box"; fileinto "box";
But, I don't think that they would they "the test for equality of two messages" with such a trivial case.
Maybe dovecot should maintain a list of recent message-id seen for each user (with the associated mailbox).
I have interpreted this to mean that within a single delivery (e.g. a single invocation of a script for a particular message), the implementation should take care to de-duplicate requests to file into folders, so that attempts to file multiple times to a folder within that single script execution should be thwarted. Your last sentence makes it seem that you are thinking that the prohibition spans multiple script invocations (e.g. for different deliveries), but I don't believe that's the intent.
The last line you quoted:
| If a script asks for a message to be written to a mailbox twice, it | MUST NOT be treated as an error.
makes that pretty clear to me, that it is about one single script execution.
Note that I have no idea if dovecot deliver does that or not, I'm just reacting to the implication in your last line.
mm
OoO Lors de la soirée naissante du mardi 30 janvier 2007, vers 18:19, "Mark E. Mallett" <mem@mv.mv.com> disait:
,---- | 2.10.3. Message Uniqueness in a Mailbox | | | Implementations SHOULD NOT deliver a message to the same folder more | than once, even if a script explicitly asks for a message to be | written to a mailbox twice. | | The test for equality of two messages is implementation-defined. | | If a script asks for a message to be written to a mailbox twice, it | MUST NOT be treated as an error. `----
I have interpreted this to mean that within a single delivery (e.g. a single invocation of a script for a particular message), the implementation should take care to de-duplicate requests to file into folders, so that attempts to file multiple times to a folder within that single script execution should be thwarted. Your last sentence makes it seem that you are thinking that the prohibition spans multiple script invocations (e.g. for different deliveries), but I don't believe that's the intent.
Well, with a single invocation, the sentence "The test for equality of two messages is implementation-defined." is a non-sense since messages cannot be modified. This is why I think that the prohibition spans multiple script invocations.
BOFH excuse #120: we just switched to FDDI.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Tue, 30 Jan 2007, Vincent Bernat wrote:
,---- | 2.10.3. Message Uniqueness in a Mailbox | | | Implementations SHOULD NOT deliver a message to the same folder more | than once, even if a script explicitly asks for a message to be | written to a mailbox twice. | | The test for equality of two messages is implementation-defined. | | If a script asks for a message to be written to a mailbox twice, it | MUST NOT be treated as an error. `----
Well, with a single invocation, the sentence "The test for equality of two messages is implementation-defined." is a non-sense since messages cannot be modified. This is why I think that the prohibition spans multiple script invocations.
Messages spooled into a mailbox may be immutable, but the same message may take different paths to arrive one particular mailbox, say, through different mailing lists or recipients, remailed or forwarded. I would _not_ like to see these duplicates discarded. However, it makes no sense to me, if the message of one delivery attempt is spooled twice into the same folder. (Actually I can imaging just one need to spool it into two boxes, hence, it could issue an overridable warning.)
Bye,
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iQEVAwUBRcBBUi9SORjhbDpvAQKwpAgAtT3DWhSu7az9sV2V/v6Fq8+TpqsXzakM BHCW+ruxT/PE/mawp/uwbESzyZChmKt5iQu1PtKnk8uFY9g76Cljpp4z8DXe1l2R +dI7zQPMqDzaEBIRgIjxJCAyxBTg3qzaViHNQRzq5B9VO8X6niETRFvxG4ncJCni TCyJyCI1wNx+Pc/aXr4EnNHbj0hbTZMkbkedaWatGat9PreJy7r4gFmz/XlgThwK 75Ii7CN/q75Nlo0qjUgQ2Di+LsEMthNnvaemxnsaHFfTkQHnzQmvoH4nWy/SnpyO dKjGtHfexiZz3oFPlDGmKTAXRPBoDLEypFL1m6vxqbU357mNWtw3Ow== =8zFc -----END PGP SIGNATURE-----
OoO En ce doux début de matinée du mercredi 31 janvier 2007, vers 08:12, Steffen Kaiser <skdovecot@smail.inf.fh-bonn-rhein-sieg.de> disait:
Messages spooled into a mailbox may be immutable, but the same message may take different paths to arrive one particular mailbox, say, through different mailing lists or recipients, remailed or forwarded. I would _not_ like to see these duplicates discarded.
Even when you spool them into the same folder ?
die_if_kernel("Kernel gets FloatingPenguinUnit disabled trap", regs); 2.2.16 /usr/src/linux/arch/sparc/kernel/traps.c
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Wed, 31 Jan 2007, Vincent Bernat wrote:
Messages spooled into a mailbox may be immutable, but the same message may take different paths to arrive one particular mailbox, say, through different mailing lists or recipients, remailed or forwarded. I would _not_ like to see these duplicates discarded.
Even when you spool them into the same folder ?
Yes, because there is a reason, why the message had been delivered two times.
Bye,
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iQEVAwUBRcBsai9SORjhbDpvAQLRiwf+Jq1YaTCsxsGp1FQxZAudZV+kW5tlq39S NUcND9Jdy45mvwVqOanWgTsqx2SmdalitS2EuGl48RpHHwE5c1vpthgXFj/DupU8 acfRouyAjKKARIloaqGFMAacZdERizU4kfmEIFkgTmwMbEIyQx6jYXVVxBHuOgyQ iRut1wrhX36/J1WUQPFFi8qTdp4x5SSasTHs0uO1aCmIhxc8BhsfD4NVZYOOaloV Sny+BQkwMIadGvjfMdv6SOnTrFvatc1OEnujCUbzXYLwNL3PYHPFBeanOAb2SGrm OOy3tD/Vl2oppMbaYr1cyWb8LTEd/bqpEF5AjxMOnK7MhqGFAWaMgQ== =ZsIc -----END PGP SIGNATURE-----
On Wed, Jan 31, 2007 at 08:12:16AM +0100, Steffen Kaiser wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Tue, 30 Jan 2007, Vincent Bernat wrote:
,---- | 2.10.3. Message Uniqueness in a Mailbox | | | Implementations SHOULD NOT deliver a message to the same folder more | than once, even if a script explicitly asks for a message to be | written to a mailbox twice. | | The test for equality of two messages is implementation-defined. | | If a script asks for a message to be written to a mailbox twice, it | MUST NOT be treated as an error. `---- n> Well, with a single invocation, the sentence "The test for equality of two messages is implementation-defined." is a non-sense since messages cannot be modified. This is why I think that the prohibition spans multiple script invocations.
Ah.. I can see why you read it that way, now. And indeed that may be the way it was meant to be read, given the subsection heading and all. But there is no direct connection between the SHOULD NOT and the "equality of two messages" phrase. Still:
Messages spooled into a mailbox may be immutable, but the same message may take different paths to arrive one particular mailbox, say, through different mailing lists or recipients, remailed or forwarded. I would _not_ like to see these duplicates discarded.
I agree there. I would not like an implementation to decide, on its own, to favor one separate delivery over another. I think that it (de-duplication across multiple deliveries) is a very useful feature that could be offered and enabled by the user, but not one I'd like to see happen automatically.
mm
participants (3)
-
Mark E. Mallett
-
Steffen Kaiser
-
Vincent Bernat