Re: [sieve] Duplicate test

Alexey Melnikov <alexey.melnikov@isode.com> Thu, 17 January 2013 15:17 UTC

Return-Path: <alexey.melnikov@isode.com>
X-Original-To: sieve@ietfa.amsl.com
Delivered-To: sieve@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3005821F8584 for <sieve@ietfa.amsl.com>; Thu, 17 Jan 2013 07:17:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.925
X-Spam-Level:
X-Spam-Status: No, score=-101.925 tagged_above=-999 required=5 tests=[AWL=-0.318, BAYES_00=-2.599, DATE_IN_PAST_12_24=0.992, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vNC5YQlOsjQ8 for <sieve@ietfa.amsl.com>; Thu, 17 Jan 2013 07:17:52 -0800 (PST)
Received: from statler.isode.com (statler.isode.com [62.3.217.254]) by ietfa.amsl.com (Postfix) with ESMTP id DCEE121F8586 for <sieve@ietf.org>; Thu, 17 Jan 2013 07:17:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1358435868; d=isode.com; s=selector; i=@isode.com; bh=SryxzKkQBlLtY2dmDO/MFiNVngVg8J2ZV3F/ae/A6og=; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version: In-Reply-To:References:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description; b=xToUKWUajNKi86a7TbAJ9F0pcFnpLIQreuQyuTPeYM775u25PzyNMt9xP8aQloNk1+8v5d YDvYLR8hpnqPZIxcE0dfV9DwYSSSMRhDMkNYFk1OOL983PjiMDevuYaSCixhb2xGCdHOOb Rloepv3yLzT6uFCgTw4uXnDynpTqQ+s=;
Received: from [172.16.1.29] (shiny.isode.com [62.3.217.250]) by statler.isode.com (submission channel) via TCP with ESMTPA id <UPgWHAAYIVdV@statler.isode.com>; Thu, 17 Jan 2013 15:17:48 +0000
Message-ID: <50F72B63.3080004@isode.com>
Date: Wed, 16 Jan 2013 22:36:19 +0000
From: Alexey Melnikov <alexey.melnikov@isode.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20120614 Thunderbird/13.0.1
To: Stephan Bosch <stephan@rename-it.nl>
References: <50F3F8C7.9030804@rename-it.nl>
In-Reply-To: <50F3F8C7.9030804@rename-it.nl>
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: Sieve mailing list <sieve@ietf.org>
Subject: Re: [sieve] Duplicate test
X-BeenThere: sieve@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIEVE Working Group <sieve.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sieve>, <mailto:sieve-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sieve>
List-Post: <mailto:sieve@ietf.org>
List-Help: <mailto:sieve-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sieve>, <mailto:sieve-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 17 Jan 2013 15:17:53 -0000

On 14/01/2013 12:23, Stephan Bosch wrote:
> Hi,
>
> A while back I built a non-standard Sieve extension for detecting 
> duplicate message deliveries, e.g. as seen when people cross-post over 
> multiple mailing lists. This functionality is very similar to what 
> could be achieved with Procmail using formail -D. Someone requested 
> this at some point and in a moment of boredom I built the initial 
> implementation. Last year I extended it a bit and I made it more 
> generic. I never intended for this to be standardized, but - now that 
> I look at it again - I think this may yet be of some interest to other 
> Sieve implementers as well.
>
> I make a habit of documenting my custom Sieve extensions in a familiar 
> RFC-like manner:
>
> http://hg.rename-it.nl/dovecot-2.1-pigeonhole/raw-file/tip/doc/rfc/spec-bosch-sieve-duplicate.txt 
>
>
> What do you think? Would you be interested in having functionality 
> like this standardized? Should I submit this as a draft?
I think this would be worth standardizing. Some comments on the document:

1). I think the text motivating existence of this extension needs a bit 
of restructuring: it first introduces a very generic concept of matching 
and only later it talks about duplicate suppression. I would reverse 
that: describe some specific use cases first, then generalize.

2). I found that "the side effect of the test takes force at the end of 
a successful script execution" to be odd/awkward. Maybe we can have an 
explicit action? Or maybe leaving this as is is Ok... Need to think a 
bit more about that.

Otherwise this looks quite good to me.

Best Regards,
Alexey