Hi all,

fixed in assp 2.8.2 *SPAM-Eliminator* build 26299

- If the ASSP_OCR plugin was used and two connections in the same 
SMTP-worker requested the ASSP_OCR plugin at the same time,
  it was possible, that the first connection was working fine - but the 
other connection got unexpected data from the first connection.

- If assp.pl was localy updated to a newer version and autoupdate was 
enabled, it was possible that later the latest SVN-version was downloaded
  and installed - even the current running version was higher.

- If the module BerkeleyDB was installed and HMMusesBDB was enabled but 
useDB4IntCaches was disabled - the hmmDB was published by the
  rebuildSpamDB module but removed and so not used by assp.

- The DMARC check ignored the 'np' and 'psd' tag in DMARC records. This 
may caused too many (e.g. useless) DNS-DMARC queries.
  The DMARC 'fo' tag was some times wrong parsed.
  An 'pct' tag no longer prevents DMARC processing - instead DMARC is 
processed the same way, like the 't' tag is set to 'y'
  The code to process DMARC got major changes!
  ASSP follows the RFC9989 fully (as long as this makes sense in terms of 
assp)!

changed:

- DMARC processing now follows the RFC9989.
- The 'verbose' output of the DMARC processing is enhanced.
- To prevent DMARC DNS-DDoS attacks, a DMARC-Record-Cache is implemented. 
An cache entry is removed, if the TTL for the DMARC record is outdated.
  The result of not existing (NXDOMAIN,NOERROR) DMARC records is cached 
for 5 minutes.
- The maximum count of email addresses used for the rua and ruf tag is 
limited to the first four addresses each.
- The DMARC check no longer fails per default, if any of the SPF or DKIM 
rules passed.
  This behavior can be changed:

our $followDMARC_RFC = 3; 
# (0/1/2/3) follow the RFC9989 section -5.3.5 in case the related 'adkim' 
or 'aspf' author policy is set to strict 's'
# assp fully follows the RFC9989 section -5.3.5 in case the related 
'adkim' or 'aspf' author policy is set to relax 'r' or is not defined
#    means: in case this setting is ignored
#           processing is done like a setting of 3 (full RFC9989 conform)
# default value is 3 - means, assp fully follows RFC9989 section -5.3.5
# rfc9989 section-5.3.5 says: if ANY of SPF or DKIM passes, then DMARC 
passes - regardless of any other DMARC record definition
#
# 0 - do not follow            - DMARC fails, if any of SPF or DKIM failed 
(even the other passed)
# 1 - follow for DKIM          - DMARC passes, if DKIM passed and SPF 
failed
# 2 - follow for SPF           - DMARC passes, if SPF passed and DKIM 
failed
# 3 - follow for SPF and DKIM  - DMARC passes, if any of SPF or DKIM 
passed (full RFC9989 conform)
#
# The "strict mode" value 0 is suitable for most systems (when no third 
party is involved) and was the default behavior
# in all assp versions before build 26286 !
# If you want or need to restore the previous behavior after an assp 
upgrade, change this value to 0 here - or add the outcommended line
# $main::followDMARC_RFC = 0;
# to the sub set in the module lib/CorrectASSPcfg.pm to make the change 
permanent.
# It is also possible to add the option --followDMARC_RFC:=0 to the start 
commandline
#
# This setting may become important when organizations are using a third 
party system to send mail on their behalf and
# have implemented DKIM to authorize the email from those servers. This is 
common in ticketing and customer service saas systems.
# In such case, a value of 1 or 3 should be used.
# If DKIM signing can't be done (give the privat key out of hands) on such 
a third party system, but the SPF-record of the sending domain
# covers the sending third party IP's, a value of 2 or 3 should be used

added:

- ASSP_OCR 3.02 now has an option to define an executable to extract text 
from PDF attachments.

'ASSP_OCRPDFToText','executable used to extract text from pdf files'
 'If defined, this executable will be called to extract text from pdf 
files. The defined commandline will be executed in a shell session!
  If not defined (empty / default), the plugin will try to find the 
"pdftotext" executable in the system/users search path and will call it 
(using the -q switch).
  If the full path (no whitespaces allowed) to the executable is defined, 
it will be used as is. If only the name is defined, the plugin will try to 
find the executable in the system search path.
  If no executable can be found and called or this parameter is set to 
NOPDFTOTEXT, the modules PDF::OCR2 or PDF::OCR::Thorough will be used to 
extract the text from pdf files.
  If commandline parameters are required, they have to be defined as 
usual.
  The case sensitive literal PDFFILE will be replaced by the pdf filename.
  The case sensitive literal TXTOUTFILE will be replaced by the output 
filename (text file).
  If any literal is used, BOTH have to be defined!
  If the literals PDFFILE and TXTOUTFILE are not used in the commandline, 
the pdf filename and the output filename will be quoted and appended in 
this order to the defined commandline.
 
  for example:
  your_own_pdftotext_exec -q --any_switch_you_need PDFFILE TXTOUTFILE
 
  or if you want to use timeout (e.g. to prevent blocking):
  timeout -k 5 15 /full/path/to/pdftotext_exec -q --any_switch_you_need 
PDFFILE TXTOUTFILE
 
  or if you want to use your own shellscript or command:
  your_shell_script
  (e.g.)your_shell_script --any_switch_you_need -i PDFFILE -o TXTOUTFILE
 
  or if you want to use an apache-tika servers REST API:
  curl -s -f --connect-timeout 5 -m 15 -T PDFFILE -o TXTOUTFILE 
http://localhost:9998/tika/text # works with tika 4.1.0
  curl -s -f --connect-timeout 5 -m 15 -T PDFFILE 
http://localhost:9998/tika | html2text -utf8 -nobs -o TXTOUTFILE # works 
with tika 2.x up to 3.3.3
  hint: instead of htm2text, you may use lynx or pandoc or another tool of 
your choice to convert the resulting HTML-output of tika to plain UTF8 
text
  The output format of the tika-server depends on the used endpoint (/tika 
, /tika/text), the tika-server configuration and the used tika-server 
version.
 
  If nothing (empty) is defined here, the following commandline will be 
internaly used:
  /WHERE/IT/IS/FOUND/pdftotext -q PDFFILE TXTOUTFILE
  Notice: if multiple executables are used in the commandline (e.g. using 
pipes or timeout), only the first one will be checked of its correctness! 
Executables that are not located in PATH, must be defined using their full 
path!
  Make sure, the called executable will not block in any case (e.g. bad 
PDF files) - because this will lead into stucking workers!
  Do NOT define any redirection for STDOUT and STDERR at the end of the 
commandline! If required, the plugin will do the redirection!
 

Thomas

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Assp-test mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/assp-test

Reply via email to