Subject: Re: Is envelope missing :comparator arguement?

From: Tim Showalter <[email-masked]>
Date: 22 Feb 1999 16:50:57 -0500

> Date: Mon, 22 Feb 1999 16:48:38 -0500
> From: Gregory Sereda <[email-masked]>

> This still does not fix the problem because the "tim@*" could match
> one address and the "[email-masked]" could match another (different)
> address.

You're right.

> Personally, I would just do a case insensitive compare on the
> entire address.  However, I think will need to revist this if
> we want or expect sieve scripts to distingush between addresses
> like: [email-masked] and [email-masked] which might be different users.

So what happens if we just canonicalize the domain-part to (say) lower
case for the purposes of header and envelope?  This is simple and should 
do the job reasonably well.

-- 
Tim Showalter <[email-masked]>

---

From: Gregory Sereda <[email-masked]>
Date: Mon, 22 Feb 1999 16:48:38 -0500

At 03:57 PM 2/22/99 -0500, Tim Showalter wrote:
>That script, in particular, is easily fixed:
>
> if allof ( address :matches :all :comparator "i;octet" "from" "tim@*",
>    address :matches :all "from" "[email-masked]" ) {
>    discard;
>
>I am not sure if this solution generalizes, but I think "match" lets it
>do so rather reasonably.

This still does not fix the problem because the "tim@*" could match
one address and the "[email-masked]" could match another (different)
address.  Both would be true and allof() would be true even though
"tim@*" and "[email-masked]" do not appear in the same To: address.
Remember, tests return true if any header or address matches.

I do not see any way of performing a case sensitive compare on the
localpart of an address and a case insensitive compare on the
domain part of an address when there is the potential of more
than one address.  Each test may return true for different
addresses because they operate indepedently.  There is no way
to tell if both tests were true for the same address.

Greg Sereda