Re: [sieve] Sieve :regex

Stephan Bosch <stephan@rename-it.nl> Wed, 12 April 2017 00:00 UTC

Return-Path: <stephan@rename-it.nl>
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 50C7B127097 for <sieve@ietfa.amsl.com>; Tue, 11 Apr 2017 17:00:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XJ61t7rcr7lG for <sieve@ietfa.amsl.com>; Tue, 11 Apr 2017 17:00:50 -0700 (PDT)
Received: from sogo.guto.nl (guto.nl [178.21.117.49]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 354F5128ACA for <sieve@ietf.org>; Tue, 11 Apr 2017 17:00:49 -0700 (PDT)
Received: from klara.student.utwente.nl ([130.89.162.218] helo=[10.168.3.2]) by sogo.guto.nl with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <stephan@rename-it.nl>) id 1cy5iF-0003YL-TT; Wed, 12 Apr 2017 02:00:44 +0200
To: Ken Murchison <murch@andrew.cmu.edu>, sieve@ietf.org
References: <dce85add-cd63-ab60-62ab-8668f410f354@andrew.cmu.edu>
From: Stephan Bosch <stephan@rename-it.nl>
Message-ID: <60301a84-fc0a-3b5c-deb5-107063ba98b2@rename-it.nl>
Date: Wed, 12 Apr 2017 02:00:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <dce85add-cd63-ab60-62ab-8668f410f354@andrew.cmu.edu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-SA-Exim-Connect-IP: 130.89.162.218
X-SA-Exim-Mail-From: stephan@rename-it.nl
X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:24:06 +0000)
X-SA-Exim-Scanned: Yes (on sogo.guto.nl)
Archived-At: <https://mailarchive.ietf.org/arch/msg/sieve/ZxVV8EUmW6PmDDxyFUAhOb0WscA>
Subject: Re: [sieve] Sieve :regex
X-BeenThere: sieve@ietf.org
X-Mailman-Version: 2.1.22
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: <https://mailarchive.ietf.org/arch/browse/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: Wed, 12 Apr 2017 00:00:52 -0000

Op 4/11/2017 om 10:57 PM schreef Ken Murchison:
>
> All,
>
> I've been spending a bit of time back in the Cyrus IMAP Sieve code and
> I'm thinking about resurrecting the Sieve :regex draft (just in time
> for Easter ;)  in an effort to get it standardized.  I actually don't
> recall why this draft died in the Sieve WG -- it may be that Ned and I
> just didn't have the time to work on it, or there may have been issues
> that we didn't want to deal with and/or for which the WG didn't have
> solutions.
>
> Does anyone have any (new) outstanding issues or answers to those
> already listed in draft-ietf-sieve-regex-01
> <https://tools.ietf.org/html/draft-ietf-sieve-regex-01> ?
>

Much like the draft indicates, the use of EREs in the context of Unicode
strings is quite problematic. Is there any backwards-compatible regex
flavor that properly deals with UTF-8 that we could adopt? Do we need to
define our own IETF regex flavor?

Another thing I thought of: a thing that is severely lacking in the
Sieve ecosystem is string manipulation. Having some form of regex-based
string substitution/replacement capability would be very useful I think.
Does this violate the Sieve philosophy? It shouldn't if we're careful.

> Who has implemented some form of :regex (with or without variables
> integration)?
>

We have. Dovecot Pigeonhole currently implements
draft-murchison-sieve-regex-08. I haven't gotten around to updating it
to the latest revision (the set modifier particularly). It supports
match variables.

Regards,

Stephan.