From b5896ba9f6047e7031e2bdee0622d543e11a6734 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 6 May 2024 03:46:30 +0200 Subject: Adding upstream version 3.4.23. Signed-off-by: Daniel Baumann --- html/pcre_table.5.html | 220 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 html/pcre_table.5.html (limited to 'html/pcre_table.5.html') diff --git a/html/pcre_table.5.html b/html/pcre_table.5.html new file mode 100644 index 0000000..f2ee70a --- /dev/null +++ b/html/pcre_table.5.html @@ -0,0 +1,220 @@ + + + + Postfix manual - pcre_table(5) +
+PCRE_TABLE(5)                                                    PCRE_TABLE(5)
+
+NAME
+       pcre_table - format of Postfix PCRE tables
+
+SYNOPSIS
+       postmap -q "string" pcre:/etc/postfix/filename
+
+       postmap -q - pcre:/etc/postfix/filename <inputfile
+
+       postmap -hmq - pcre:/etc/postfix/filename <inputfile
+
+       postmap -bmq - pcre:/etc/postfix/filename <inputfile
+
+DESCRIPTION
+       The  Postfix  mail  system  uses optional tables for address rewriting,
+       mail routing, or access control. These tables are usually in dbm or  db
+       format.
+
+       Alternatively,  lookup tables can be specified in Perl Compatible Regu-
+       lar Expression form. In this case, each input  is  compared  against  a
+       list  of  patterns.  When a match is found, the corresponding result is
+       returned and the search is terminated.
+
+       To find out what types of lookup tables your  Postfix  system  supports
+       use the "postconf -m" command.
+
+       To test lookup tables, use the "postmap -q" command as described in the
+       SYNOPSIS above. Use "postmap -hmq - <file"  for  header_checks(5)  pat-
+       terns,  and  "postmap -bmq - <file" for body_checks(5) (Postfix 2.6 and
+       later).
+
+COMPATIBILITY
+       With Postfix version 2.2 and earlier specify "postmap -fq" to  query  a
+       table that contains case sensitive patterns. Patterns are case insensi-
+       tive by default.
+
+TABLE FORMAT
+       The general form of a PCRE table is:
+
+       /pattern/flags result
+              When pattern matches the input  string,  use  the  corresponding
+              result value.
+
+       !/pattern/flags result
+              When  pattern  does  not  match the input string, use the corre-
+              sponding result value.
+
+       if /pattern/flags
+
+       endif  If the input string matches /pattern/,  then  match  that  input
+              string against the patterns between if and endif.  The if..endif
+              can nest.
+
+              Note: do not prepend whitespace to patterns inside if..endif.
+
+              This feature is available in Postfix 2.1 and later.
+
+       if !/pattern/flags
+
+       endif  If the input string does not match /pattern/,  then  match  that
+              input  string  against  the  patterns  between if and endif. The
+              if..endif can nest.
+
+              Note: do not prepend whitespace to patterns inside if..endif.
+
+              This feature is available in Postfix 2.1 and later.
+
+       blank lines and comments
+              Empty lines and whitespace-only lines are ignored, as are  lines
+              whose first non-whitespace character is a `#'.
+
+       multi-line text
+              A  logical  line  starts  with  non-whitespace text. A line that
+              starts with whitespace continues a logical line.
+
+       Each pattern is a perl-like regular expression. The  expression  delim-
+       iter  can  be  any  non-alphanumerical  character, except whitespace or
+       characters that have special meaning (traditionally the  forward  slash
+       is used).  The regular expression can contain whitespace.
+
+       By  default, matching is case-insensitive, and newlines are not treated
+       as special characters. The behavior is controlled by flags,  which  are
+       toggled  by appending one or more of the following characters after the
+       pattern:
+
+       i (default: on)
+              Toggles the case sensitivity flag. By default, matching is  case
+              insensitive.
+
+       m (default: off)
+              Toggles the PCRE_MULTILINE flag. When this flag is on, the ^ and
+              $ metacharacters match immediately after and immediately  before
+              a  newline  character,  respectively, in addition to matching at
+              the start and end of the subject string.
+
+       s (default: on)
+              Toggles the PCRE_DOTALL flag.  When  this  flag  is  on,  the  .
+              metacharacter  matches  the newline character. With Postfix ver-
+              sions prior to 2.0, the flag is off by default, which is  incon-
+              venient for multi-line message header matching.
+
+       x (default: off)
+              Toggles the pcre extended flag. When this flag is on, whitespace
+              characters in the pattern (other than in a character class)  are
+              ignored.   To include a whitespace character as part of the pat-
+              tern, escape it with backslash.
+
+              Note: do not use #comment after patterns.
+
+       A (default: off)
+              Toggles the PCRE_ANCHORED flag.  When this flag is on, the  pat-
+              tern  is  forced to be "anchored", that is, it is constrained to
+              match only at the start of the string which  is  being  searched
+              (the  "subject  string").  This  effect  can also be achieved by
+              appropriate constructs in the pattern itself.
+
+       E (default: off)
+              Toggles the PCRE_DOLLAR_ENDONLY flag. When this flag is on, a  $
+              metacharacter in the pattern matches only at the end of the sub-
+              ject string. Without this flag, a dollar  also  matches  immedi-
+              ately  before  the  final character if it is a newline character
+              (but not before any other  newline  characters).  This  flag  is
+              ignored if PCRE_MULTILINE flag is set.
+
+       U (default: off)
+              Toggles  the  ungreedy matching flag.  When this flag is on, the
+              pattern matching engine inverts the "greediness" of the  quanti-
+              fiers  so that they are not greedy by default, but become greedy
+              if followed by "?".  This flag can also set by a  (?U)  modifier
+              within the pattern.
+
+       X (default: off)
+              Toggles  the  PCRE_EXTRA  flag.  When this flag is on, any back-
+              slash in a pattern that is followed by a letter that has no spe-
+              cial  meaning causes an error, thus reserving these combinations
+              for future expansion.
+
+SEARCH ORDER
+       Patterns are applied in the order as specified in the  table,  until  a
+       pattern is found that matches the input string.
+
+       Each  pattern  is applied to the entire input string.  Depending on the
+       application, that string is an entire client hostname, an entire client
+       IP  address, or an entire mail address.  Thus, no parent domain or par-
+       ent network search is done, and user@domain mail addresses are not bro-
+       ken  up  into  their user and domain constituent parts, nor is user+foo
+       broken up into user and foo.
+
+TEXT SUBSTITUTION
+       Substitution of substrings (text that  matches  patterns  inside  "()")
+       from  the  matched  expression into the result string is requested with
+       $1, $2, etc.; specify $$ to produce  a  $  character  as  output.   The
+       macros  in  the result string may need to be written as ${n} or $(n) if
+       they aren't followed by whitespace.
+
+       Note: since negated patterns (those preceded by !) return a result when
+       the  expression  does  not  match,  substitutions are not available for
+       negated patterns.
+
+EXAMPLE SMTPD ACCESS MAP
+       # Protect your outgoing majordomo exploders
+       /^(?!owner-)(.*)-outgoing@(.*)/ 550 Use ${1}@${2} instead
+
+       # Bounce friend@whatever, except when whatever is our domain (you would
+       # be better just bouncing all friend@ mail - this is just an example).
+       /^(friend@(?!my\.domain$).*)$/  550 Stick this in your pipe $1
+
+       # A multi-line entry. The text is sent as one line.
+       #
+       /^noddy@my\.domain$/
+        550 This user is a funny one. You really don't want to send mail to
+        them as it only makes their head spin.
+
+EXAMPLE HEADER FILTER MAP
+       /^Subject: make money fast/     REJECT
+       /^To: friend@public\.com/       REJECT
+
+EXAMPLE BODY FILTER MAP
+       # First skip over base 64 encoded text to save CPU cycles.
+       # Requires PCRE version 3.
+       ~^[[:alnum:]+/]{60,}$~          OK
+
+       # Put your own body patterns here.
+
+SEE ALSO
+       postmap(1), Postfix lookup table manager
+       postconf(5), configuration parameters
+       regexp_table(5), format of POSIX regular expression tables
+
+README FILES
+       DATABASE_README, Postfix lookup table overview
+
+AUTHOR(S)
+       The PCRE table lookup code was originally written by:
+       Andrew McNamara
+       andrewm@connect.com.au
+       connect.com.au Pty. Ltd.
+       Level 3, 213 Miller St
+       North Sydney, NSW, Australia
+
+       Adopted and adapted by:
+       Wietse Venema
+       IBM T.J. Watson Research
+       P.O. Box 704
+       Yorktown Heights, NY 10598, USA
+
+       Wietse Venema
+       Google, Inc.
+       111 8th Avenue
+       New York, NY 10011, USA
+
+                                                                 PCRE_TABLE(5)
+
-- cgit v1.2.3