Expand PMF_FN_* macros.
[netbsd-mini2440.git] / external / ibm-public / postfix / dist / README_FILES / PCRE_README
blobf8d40d3d378c3439e2ff3b2b05ea86717727ff22
1 P\bPo\bos\bst\btf\bfi\bix\bx P\bPC\bCR\bRE\bE S\bSu\bup\bpp\bpo\bor\brt\bt
3 -------------------------------------------------------------------------------
5 P\bPC\bCR\bRE\bE (\b(P\bPe\ber\brl\bl C\bCo\bom\bmp\bpa\bat\bti\bib\bbl\ble\be R\bRe\beg\bgu\bul\bla\bar\br E\bEx\bxp\bpr\bre\bes\bss\bsi\bio\bon\bns\bs)\b) m\bma\bap\bp s\bsu\bup\bpp\bpo\bor\brt\bt
7 The optional "pcre" map type allows you to specify regular expressions with the
8 PERL style notation such as \s for space and \S for non-space. The main
9 benefit, however, is that pcre lookups are often faster than regexp lookups.
10 This is because the pcre implementation is often more efficient than the POSIX
11 regular expression implementation that you find on many systems.
13 A description of how to use pcre tables, including examples, is given in the
14 pcre_table(5) manual page. Information about PCRE itself can be found at http:/
15 /www.pcre.org/.
17 B\bBu\bui\bil\bld\bdi\bin\bng\bg P\bPo\bos\bst\btf\bfi\bix\bx w\bwi\bit\bth\bh P\bPC\bCR\bRE\bE s\bsu\bup\bpp\bpo\bor\brt\bt
19 These instructions assume that you build Postfix from source code as described
20 in the INSTALL document. Some modification may be required if you build Postfix
21 from a vendor-specific source package.
23 Note: to use pcre with Debian GNU/Linux's Postfix, all you need is to install
24 the postfix-pcre package and you're done. There is no need to recompile
25 Postfix.
27 In some future, Postfix will have a plug-in interface for adding map types.
28 Until then, you need to compile PCRE support into Postfix.
30 First of all, you need the PCRE library (Perl Compatible Regular Expressions),
31 which can be obtained from:
33     ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/.
35 NOTE: pcre versions prior to 2.06 cannot be used.
37 In order to build Postfix with PCRE support you need to add -DHAS_PCRE and a -
38 I for the PCRE include file to CCARGS, and add the path to the PCRE library to
39 AUXLIBS, for example:
41     make -f Makefile.init makefiles \
42         "CCARGS=-DHAS_PCRE -I/usr/local/include" \
43         "AUXLIBS=-L/usr/local/lib -lpcre"
45 Solaris needs run-time path information too:
47     make -f Makefile.init makefiles \
48         "CCARGS=-DHAS_PCRE -I/usr/local/include" \
49         "AUXLIBS=-L/usr/local/lib -R/usr/local/lib -lpcre"
51 T\bTh\bhi\bin\bng\bgs\bs t\bto\bo k\bkn\bno\bow\bw
53   * When Postfix searches a pcre: or regexp: lookup table, each pattern is
54     applied to the entire input string. Depending on the application, that
55     string is an entire client hostname, an entire client IP address, or an
56     entire mail address. Thus, no parent domain or parent network search is
57     done, "user@domain" mail addresses are not broken up into their user and
58     domain constituent parts, and "user+foo" is not broken up into user and
59     foo.
61   * Regular expression tables such as pcre: or regexp: are not allowed to do
62     $number substitution in lookup results that can be security sensitive:
63     currently, that restriction applies to the local aliases(5) database or the
64     virtual(8) delivery agent tables.