Match Types

The Match Type is the matching method that is used by the policy engine when it compares a message to the contents of the list. The Match Type is set when creating lists or maps, and it can be changed when managing lists or maps.

The available match types are:

  • Exact: The item in the list or map must exactly match the item to which it is compared. When creating an LDAP-based list or map, only this option is available.
  • Email Globs: Glob style email address matching. Allowable wildcards are:
    • ? matches a single character, but not "."
    • * matches a sequence of characters, but not "."
    • ** matches a sequence of characters, including "."

    "@" is prevented from matching on "*" and "?". If the list entry ends with "@" then the match is not anchored at the end. For more information, see "Matching Email Addresses" in the Wildcard Usage section.

    Note: When creating an LDAP-based list, only the Exact option is available.
  • Email Segments (lists only): This match type is more efficient than the "Email Globs" match type when performing the most common email address lookups. For example:
    someuser@sophos.com
    someuser@
    @sophos.com
  • Substring (lists only): Allows for a partial match between the list item and the item to which it is compared.
  • Glob (lists only): Glob style matching. The wildcards are "*" (which matches any sequence of characters) and "?" (which matches a single character). A literal "*", "?" or "\" can be matched by escaping the character with a "\" (e.g "\?" matches a literal "?").
  • Hostname and IP Masks (lists only): Glob style domain and IP4 address matching. Matching is always case insensitive. If an IP address is followed by a "/" and a numeric value, then it is read as an IP4 address with a mask. In the examples that follow, <digits> represents an integer in the 0-255 range, <bits> represents an integer in the range of 0-32, and <mask> may consist of either an <IP> or <bits>. The entry format is as follows:
    <ip4address> = <ip> [ "/"<mask>]
    For example: 192.0.2.0/24
    <ip> = <digits> "."<digits>"."<digits> "." <digits>
    For example: 192.0.2.0
    If the list entry does not start with a number, it is taken as a glob style string that will be matched against a domain name. Allowable wildcards are:
    • ? matches a single character, but not "."
    • * matches a sequence of characters, but not "."
    • ** matches a sequence of characters, including "."
    Matches are automatically anchored to the end of the string. A leading "@" can be used to force anchor to the beginning as well. If the list item starts with '!' then it is negated. For more information, see "Matching Hostnames and IP Addresses" in the Wildcard Usage section.
  • Regular Expression (lists only): Lists can be configured to contain regular expressions. When creating a new list, specify the "Regular Expression" match type. Individual entries in the list are then entered as regular expressions. Regular expressions used within lists are not prefixed with slashes or braces. Also, it is not necessary to escape special characters in regular expressions contained in lists, for example:
    .*\.pif
    .*\.doc\.exe
    .*\.pif
    your_details\.zi?
    message\.zip
    message\.zi
    wicked_scr\.scr
    wicked\.scr
    .*\.scr
    patch\.exe
    sobig\.f\.txt

    For more information about using regular expressions in lists and in the PureMessage policy, see the "Regular Expressions Primer".

  • Case Insensitive: Select this check box to ignore the letter case used in the messages.