Mailing List Archive

Sieve regression?
The test suite says:


Basic/0427 Sieve tests using -bf
--- test-stdout-munged 2008-02-07 19:25:46.000000000 +0000
+++ stdout/0427 2006-03-01 10:40:03.000000000 +0000
@@ -251,7 +251,7 @@
# Sieve filter
if header :matches "x-special1" "*\0*" { discard; }
==========
-Implicit keep
+No implicit keep
==========
# Sieve filter
if not header :matches "x-special1" "*\0*q" { discard; }


Tony.
--
<fanf@exim.org> <dot@dotat.at> http://dotat.at/ ${sg{\N${sg{\
N\}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}\
\N}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}

--
## List details at http://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
Re: Sieve regression? [ In reply to ]
> if header :matches "x-special1" "*\0*" { discard; }
> ==========
> -Implicit keep
> +No implicit keep
> ==========

Ah, I now see this is a consequence of sieve.c revision 1.30.

Tony.
--
<fanf@exim.org> <dot@dotat.at> http://dotat.at/ ${sg{\N${sg{\
N\}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}\
\N}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}

--
## List details at http://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
Re: Sieve regression? [ In reply to ]
> > if header :matches "x-special1" "*\0*" { discard; }
> > ==========
> > -Implicit keep
> > +No implicit keep
> > ==========
>
> Ah, I now see this is a consequence of sieve.c revision 1.30.

I was not aware of the test, but it can be changed to make use
of the encoded character extension (untested):

require "encoded-character";

if header :matches "x-special1" "*${hex:00}*" { discard; }

Michael

--
## List details at http://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
Re: Sieve regression? [ In reply to ]
On Thu, 7 Feb 2008, Michael Haardt wrote:
>
> I was not aware of the test, but it can be changed to make use
> of the encoded character extension (untested):
>
> require "encoded-character";
>
> if header :matches "x-special1" "*${hex:00}*" { discard; }

I've added this to the tests, thanks! Here's the additional output (the
diff is backwards)

--- test-stdout-munged 2008-02-08 11:16:50.000000000 +0000
+++ stdout/0427 2008-02-07 19:36:52.000000000 +0000
@@ -259,11 +259,6 @@
No implicit keep
==========
# Sieve filter
-if not header :matches "x-special1" "*${hex:00}*" { discard; }
-==========
-No implicit keep
-==========
-# Sieve filter
if not header :matches "x-special2" "\\?*\\*" { discard; }
==========
No implicit keep

There are actually several related tests:

catwrite test-data
# Sieve filter
if header :matches "x-special1" "\\?*\\*" { discard; }
****
exim -bf test-data <aux-fixed/TESTNUM.message
****
catwrite test-data
# Sieve filter
if header :matches "x-special1" "*\0*" { discard; }
****
exim -bf test-data <aux-fixed/TESTNUM.message
****
catwrite test-data
# Sieve filter
if not header :matches "x-special1" "*\0*q" { discard; }
****
exim -bf test-data <aux-fixed/TESTNUM.message
****
catwrite test-data
# Sieve filter
if not header :matches "x-special1" "*${hex:00}*" { discard; }
****
exim -bf test-data <aux-fixed/TESTNUM.message
****

The test suite is actually fairly easy to get going if you want to try it
yourself :-)

Tony.
--
f.a.n.finch <dot@dotat.at> http://dotat.at/
NORTH FITZROY SOLE LUNDY FASTNET IRISH SEA: SOUTHERLY 5 TO 7, OCCASIONALLY
GALE 8 IN IRISH SEA. MODERATE OR ROUGH, OCCASIONALLY VERY ROUGH IN WEST SOLE.
OCCASIONAL DRIZZLE. MODERATE OR GOOD, OCCASIONALLY POOR.

--
## List details at http://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##