6.0.0-alpha12
6/6/25

[#5392] "is" matches for sieve aren't exact string matches
Summary "is" matches for sieve aren't exact string matches
Queue Ingo
Queue Version HEAD
Type Bug
State Resolved
Priority 1. Low
Owners jan (at) horde (dot) org
Requester liamr (at) deathstar (dot) org
Created 05/23/2007 (6589 days ago)
Due
Updated 06/22/2007 (6559 days ago)
Assigned
Resolved 06/17/2007 (6564 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
06/22/2007 11:29:43 AM liamr (at) deathstar (dot) org Comment #3 Reply to this comment
This does seem to have fixed the issue.
06/17/2007 10:42:18 PM Jan Schneider Comment #2
Assigned to Jan Schneider
State ⇒ Resolved
Reply to this comment
Funny, this is exactly the same like bug 3313 which you reported a 
year ago, only with leading commas instead of trailing commas. Fixed 
in CVS and 1.1.4.
06/15/2007 09:24:09 PM Chuck Hagenbuch State ⇒
 
05/23/2007 02:41:34 AM liamr (at) deathstar (dot) org Comment #1
Priority ⇒ 1. Low
Type ⇒ Bug
Summary ⇒ "is" matches for sieve aren't exact string matches
Queue ⇒ Ingo
State ⇒ Unconfirmed
Reply to this comment
Our help desk has expressed dismay that the "is" match is described as



    IS:  Will be considered to be true if the specified string matches the line

      exactly. Example: user@example.com is user@example.com



but, in reality, it's not an exact string match.  We have users that 
want to match strings that contain commas.   E.g.,  spam that has 
subjects like...



    Cats eat mice, stop them!



or more specfically...



    , stop them!



We're using Horde 3.0.12 and Ingo 1.0.2 in production, and using...



  [ Subject ] [ is ] [ , stop them! ]



in the rules screen, generates a sieve rule that looks like...



     if header :comparator "i;ascii-casemap" :is "Subject" ["", "stop 
them!"]  {

          discard;

          stop;

     }



which matches all sorts of stuff it shouldn't.



In Horde 3.2-cvs and Ingo 1.2-cvs, we don't even get that much.



  [ Subject ] [ is ] [ , stop them! ]



generates...



    if header :comparator "i;ascii-casemap" :is "Subject" ""  {

         discard;

         stop;

    }



curiously, in both Ingo 1.0.2 and 1.2-cvs, the little pop-up that 
describes the rule when you hover over it in the rules management 
screen does describe the rule as the user intended..



    Subject is ", stop them!"

    Delete message completely

    [stop]



Mind you, I probably wouldn't create rules like this.. but users want 
what users want,  and the the rules like..



     is "Subject" ""



match everything.



We'd like to see "is" match generate exact string matches for the 
sieve backend w/o having to escape anything.

Saved Queries