1Mail::SpamAssassin::PluUgsienr::CPoDnFtIrnifbou(t3e)d PeMralilD:o:cSupmaemnAtsastaisosnin::Plugin::PDFInfo(3)
2
3
4

NAME

6       Mail::SpamAssassin::Plugin::PDFInfo - PDFInfo Plugin for SpamAssassin
7

SYNOPSIS

9         loadplugin     Mail::SpamAssassin::Plugin::PDFInfo
10

DESCRIPTION

12       This plugin helps detected spam using attached PDF files
13
14       See "Usage:" below - more documentation see 20_pdfinfo.cf
15            Original info kept for history. For later changes see SVN repo
16            -------------------------------------------------------
17            PDFInfo Plugin for SpamAssassin
18            Version: 0.8
19            Info: $Id: PDFInfo.pm 904 2007-08-12 01:36:23Z root $
20            Created: 2007-08-10
21            Modified: 2007-08-10
22            By: Dallas Engelken
23
24            Changes:
25              0.8 - added .fdf detection (thanks John Lundin) [axb]
26              0.7 - fixed empty body/pdf count buglet(thanks Jeremy) [axb]
27              0.6 - added support for tags - PDFCOUNT, PDFVERSION, PDFPRODUCER, etc.
28                  - fixed issue on perl 5.6.1 where pdf_match_details() failed to call
29                    _find_pdf_mime_parts(), resulting in no detection of pdf mime parts.
30                  - quoted-printable support - requires MIME::QuotedPrint (which should be in everyones
31                    install as a part of the MIME-Base64 package which is a SA req)
32                  - added simple pdf_is_empty_body() function with counts the body bytes minus the
33                    subject line.  can add optional <bytes> param if you need to allow for a few bytes.
34              0.5 - fix warns for undef $pdf_tags
35                  - remove { } and \ before running eval in pdf_match_details to avoid eval error
36              0.4 - added pdf_is_encrypted() function
37                  - added option to look for image HxW on same line
38              0.3 - added 2nd fuzzy md5 which uses pdf tag layout as data
39                  - renamed pdf_image_named() to pdf_named()
40                     - PDF images are encapsulated and have no names.  We are matching the PDF file name.
41                  - renamed pdf_image_name_regex() to pdf_name_regex()
42                     - PDF images are encapsulated and have no names.  We are matching the PDF file name.
43                  - changed pdf_image_count() a bit and added pdf_count().
44                     - pdf_count() checks how many pdf attachments there are on the mail
45                     - pdf_image_count() checks how many images are found within all pdfs in the mail.
46                  - removed the restriction of the pdf containing an image in order to md5 it.
47                  - added pdf_match_details() function to check the following 'details'
48                     - author: Author of PDF if specified
49                     - producer: Software used to produce PDF
50                     - creator: Software used to produce PDF, usually similar to producer
51                     - title: Title of PDF
52                     - created: Creation Date
53                     - modified: Last Modified
54              0.2 - support PDF octet-stream
55              0.1 - just ported over the imageinfo code, and renamed to pdfinfo.
56                    - removed all support for png, gif, and jpg from the code.
57                    - prepended pdf_ to all function names to avoid conflicts with ImageInfo in SA 3.2.
58
59            Usage:
60
61             pdf_count()
62
63                body RULENAME  eval:pdf_count(<min>,[max])
64                   min: required, message contains at least x pdf mime parts
65                   max: optional, if specified, must not contain more than x pdf mime parts
66
67             pdf_image_count()
68
69                body RULENAME  eval:pdf_image_count(<min>,[max])
70                   min: required, message contains at least x images in pdf attachments.
71                   max: optional, if specified, must not contain more than x pdf images
72
73             pdf_pixel_coverage()
74
75                body RULENAME  eval:pdf_pixel_coverage(<min>,[max])
76                   min: required, message contains at least this much pixel area
77                   max: optional, if specified, message must not contain more than this much pixel area
78
79             pdf_named()
80
81                body RULENAME  eval:pdf_named(<string>)
82                   string: exact file name match, if you need partial match, see pdf_name_regex()
83
84             pdf_name_regex()
85
86                body RULENAME  eval:pdf_name_regex(<regex>)
87                   regex: regular expression, see examples in ruleset
88
89             pdf_match_md5()
90
91                body RULENAME  eval:pdf_match_md5(<string>)
92                   string: 32-byte md5 hex
93
94             pdf_match_fuzzy_md5()
95
96                body RULENAME  eval:pdf_match_md5(<string>)
97                   string: 32-byte md5 hex - see ruleset for obtaining the fuzzy md5
98
99             pdf_match_details()
100
101                body RULENAME  eval:pdf_match_details(<detail>,<regex>);
102                   detail: author, creator, created, modified, producer, title
103                   regex: regular expression, see examples in ruleset
104
105             pdf_is_encrypted()
106
107                body RULENAME eval:pdf_is_encrypted()
108
109             pdf_is_empty_body()
110
111                body RULENAME eval:pdf_is_empty_body(<bytes>)
112                   bytes: maximum byte count to allow and still consider it empty
113
114             NOTE: See the ruleset for more examples that are not documented here.
115
116
117
118perl v5.34.0                      2022-01M-a2i2l::SpamAssassin::Plugin::PDFInfo(3)
Impressum