Select Language
Reply
New Contributor
QueBall
Posts: 7
Registered: 08-27-2008
0

BIS Filter behavior includes implicit wildcard and top to bottom processing of rules

[ Edited ]

I ran into something I have not seen documented before.  It seems that the filtering rules on the BIS server have an implicit wildcard matching behavior.  So if you expect that your filter that you create only matches on

name@example.com you would be wrong.

 

It actually matches *name@example.com.

 

The second thing I notice is that the server evaluates the filtering rules from top to bottom.  There doesn't appear to be any way to change the order of existing filters so you simply have to delete any rules you have created and then recreate in the order you want them to be applied.  This is most important when you are dealing with any rule that includes a match which is a subset of an earlier rules address.  

 

The most common example I have seen is when you have a bunch of family memebers using the same email domain.  lets say my last name was Doyle and I happened to have the doyle@example.com email address.  My Family members had email addresses there were something like: adoyle@example.com, bdoyle@example.com, cdoyle@example.com, etc.

 

If I created a filter that simply said

doyle@example.com -> Do not forward to device

 

Then all the mail from adoyle, bdoyle, cdoyle, etc would also not be forwarded because of the implicit wildcard.

 

You can think of the filter as actually be written as

 

*doyle@example.com -> Do not forward to device.

 

If I created new rules UNDER this to forward they still would not work because the filters are evaluated from top to bottom:

doyle@example.com -> Do not forward to device

adoyle@example.com -> Forward   (This would never trigger because the earlier rule will always happen first)

 

So the correct way to handle this would be to create a big list of rules ahead of my do not forward that gives an exception for every possible combination I wanted to work eg:

adoyle@example.com -> Forward

bdoyle@example.com -> Forward

cdoyle@example.com -> Forward

ddoyle@example.com -> Forward

edoyle@example.com -> Forward

fdoyle@example.com -> Forward

gdoyle@example.com -> Forward 

hdoyle@example.com -> Forward 

idoyle@example.com -> Forward 

jdoyle@example.com -> Forward 

kdoyle@example.com -> Forward 

ldoyle@example.com -> Forward 

mdoyle@example.com -> Forward 

ndoyle@example.com -> Forward 

odoyle@example.com -> Forward 

pdoyle@example.com -> Forward 

qdoyle@example.com -> Forward 

rdoyle@example.com -> Forward 

sdoyle@example.com -> Forward 

tdoyle@example.com -> Forward 

udoyle@example.com -> Forward 

vdoyle@example.com -> Forward 

wdoyle@example.com -> Forward

xdoyle@example.com -> Forward

ydoyle@example.com -> Forward

zdoyle@example.com -> Forward

 

How about numbers:

0doyle@example.com -> Forward

1doyle@example.com -> Forward

2doyle@example.com -> Forward

3doyle@example.com -> Forward

4doyle@example.com -> Forward

5doyle@example.com -> Forward

6doyle@example.com -> Forward

7doyle@example.com -> Forward

8doyle@example.com -> Forward

9doyle@example.com -> Forward

 

Don't forget the valid symbols

!doyle@example.com -> Forward

#doyle@example.com -> Forward

$doyle@example.com -> Forward

%doyle@example.com -> Forward

&doyle@example.com -> Forward

'doyle@example.com -> Forward

*doyle@example.com -> Forward

+doyle@example.com -> Forward

-doyle@example.com -> Forward

/doyle@example.com -> Forward

=doyle@example.com -> Forward

?doyle@example.com -> Forward

^doyle@example.com -> Forward

_doyle@example.com -> Forward

`doyle@example.com -> Forward

{doyle@example.com -> Forward

|doyle@example.com -> Forward

}doyle@example.com -> Forward

~doyle@example.com -> Forward

.doyle@example.com -> Forward

 

 

 

Ok, finally after making a huge set of rules for 26 letters, 10 digits, and 20 valid symbols you can create the DO NOT forward rule you wanted in the first place

doyle@example.com -> Do not forward messages to device.

 

Ok so if you wanted to make only a single email address that does not forward to your device you would need to create 57 different filter rules in the correct order otherwise the implicit wildcard that the BIS system applies would mean that there would be the possibility you missing the other ones.  

 

It's not really reasonable that you would go and add all those filters except in the case where you had a very common email address and you know that other peple have your email address as a subset of their own (like a family with common email addresses)

 

The only time I expect this to be an issue for the typical user is when the email address they use is relatively common and the other person sending them mail has basically the same email address with extra letters in front of the username portion like in the family example I gave.  But if you want to be 100% sure that you only exclude a single email address from forwarding to the device they you would have to create the huge list of exceptions like I gave above.  

 

BIS Filter example

Message Edited by QueBall on 05-05-2009 01:07 AM