ProxySG Content Policy Language Guide

condition ::= trigger "=" expression

trigger ::= identifier identifier "." word

expression ::= term list

list ::= "(" ((pattern ",")* pattern)? ")"

disjunction ::= conjunction disjunction "" conjunction

conjunction ::= term conjunction "&&" term

term ::= pattern "(" disjunction ")" "!" term

pattern ::= word 'string' "string"

word ::= sequence of characters not including whitespace, & ( ) < > [ ] ; ! = " '

string ::= sequence of characters that may including whitespace, & ( ) < > [ ] ;

!=. The characters " and ' may be enclosed within a string delimited by the alternate delimiter.

Pattern Types

Different triggers support different pattern syntaxes.

A pattern for a boolean trigger has one of the following forms:

boolean ::= yes no true false on off

The pattern for a numeric trigger can be either an integer or a range of integers. Numeric patterns cannot contain white space.

trigger=I

Test if trigger == I.

trigger=I..J

Test if trigger >= I and trigger <= J (where I <= J). For example, time=0900..1700 tests if the time is between 9:00 and 17:00 inclusive.

trigger=J..I

Test if trigger >= J or trigger <= I (where J > I). For example, minute=45..15 tests if the minute of the hour is between 45 and 15 inclusive.

trigger=I..

Test if trigger >= I. For example, bitrate=56k.. tests if the bitrate is greater than or equal to 56000.

trigger=..J

Test if trigger <= J. For example, bitrate=..56k tests if the bitrate is less than or equal to 56000.

Some triggers have IP address patterns. This can be either a literal IP address, such as 1.2.3.4, or an IP subnet pattern, such as 1.2.0.0/16, or a name defined by a define subnet statement.

Some triggers have regex patterns. This is a Perl 5 regular expression that matches a substring of the trigger value; it is not an anchored match unless an anchor is specified as part of the pattern.

50

Page 50
Image 50
Blue Coat Systems Proxy SG manual Pattern Types