head	1.1;
branch	1.1.1;
access;
symbols
	netbsd-10-2-RELEASE:1.1.1.5.2.1
	netbsd-9-5-RELEASE:1.1.1.4.26.1
	netbsd-11-0-RELEASE:1.1.1.7
	netbsd-11-0-RC7:1.1.1.7
	netbsd-11-0-RC6:1.1.1.7
	netbsd-11-0-RC5:1.1.1.7
	netbsd-11-0-RC4:1.1.1.7
	PFIX-3-11-2:1.1.1.7
	netbsd-11-0-RC3:1.1.1.7
	netbsd-11-0-RC2:1.1.1.7
	netbsd-11-0-RC1:1.1.1.7
	perseant-exfatfs-base-20250801:1.1.1.7
	netbsd-11:1.1.1.7.0.2
	netbsd-11-base:1.1.1.7
	PFIX-3-10-1:1.1.1.7
	netbsd-10-1-RELEASE:1.1.1.5.2.1
	perseant-exfatfs-base-20240630:1.1.1.6
	perseant-exfatfs:1.1.1.6.0.2
	perseant-exfatfs-base:1.1.1.6
	netbsd-8-3-RELEASE:1.1.1.4
	netbsd-9-4-RELEASE:1.1.1.4.26.1
	netbsd-10-0-RELEASE:1.1.1.5.2.1
	netbsd-10-0-RC6:1.1.1.5.2.1
	netbsd-10-0-RC5:1.1.1.5.2.1
	netbsd-10-0-RC4:1.1.1.5.2.1
	netbsd-10-0-RC3:1.1.1.5.2.1
	netbsd-10-0-RC2:1.1.1.5.2.1
	PFIX-3-8-4:1.1.1.6
	netbsd-10-0-RC1:1.1.1.5
	netbsd-10:1.1.1.5.0.2
	netbsd-10-base:1.1.1.5
	PFIX-3-7-3:1.1.1.5
	netbsd-9-3-RELEASE:1.1.1.4
	cjep_sun2x-base1:1.1.1.4
	cjep_sun2x:1.1.1.4.0.32
	cjep_sun2x-base:1.1.1.4
	cjep_staticlib_x-base1:1.1.1.4
	netbsd-9-2-RELEASE:1.1.1.4
	cjep_staticlib_x:1.1.1.4.0.30
	cjep_staticlib_x-base:1.1.1.4
	netbsd-9-1-RELEASE:1.1.1.4
	PFIX-3-5-2:1.1.1.4
	phil-wifi-20200421:1.1.1.4
	phil-wifi-20200411:1.1.1.4
	is-mlppp:1.1.1.4.0.28
	is-mlppp-base:1.1.1.4
	phil-wifi-20200406:1.1.1.4
	netbsd-8-2-RELEASE:1.1.1.4
	PFIX-3-5-0:1.1.1.4
	netbsd-9-0-RELEASE:1.1.1.4
	netbsd-9-0-RC2:1.1.1.4
	netbsd-9-0-RC1:1.1.1.4
	phil-wifi-20191119:1.1.1.4
	netbsd-9:1.1.1.4.0.26
	netbsd-9-base:1.1.1.4
	phil-wifi-20190609:1.1.1.4
	netbsd-8-1-RELEASE:1.1.1.4
	netbsd-8-1-RC1:1.1.1.4
	pgoyette-compat-merge-20190127:1.1.1.4
	pgoyette-compat-20190127:1.1.1.4
	pgoyette-compat-20190118:1.1.1.4
	pgoyette-compat-1226:1.1.1.4
	pgoyette-compat-1126:1.1.1.4
	pgoyette-compat-1020:1.1.1.4
	pgoyette-compat-0930:1.1.1.4
	pgoyette-compat-0906:1.1.1.4
	netbsd-7-2-RELEASE:1.1.1.4
	pgoyette-compat-0728:1.1.1.4
	netbsd-8-0-RELEASE:1.1.1.4
	phil-wifi:1.1.1.4.0.24
	phil-wifi-base:1.1.1.4
	pgoyette-compat-0625:1.1.1.4
	netbsd-8-0-RC2:1.1.1.4
	pgoyette-compat-0521:1.1.1.4
	pgoyette-compat-0502:1.1.1.4
	pgoyette-compat-0422:1.1.1.4
	netbsd-8-0-RC1:1.1.1.4
	pgoyette-compat-0415:1.1.1.4
	pgoyette-compat-0407:1.1.1.4
	pgoyette-compat-0330:1.1.1.4
	pgoyette-compat-0322:1.1.1.4
	pgoyette-compat-0315:1.1.1.4
	netbsd-7-1-2-RELEASE:1.1.1.4
	pgoyette-compat:1.1.1.4.0.22
	pgoyette-compat-base:1.1.1.4
	netbsd-7-1-1-RELEASE:1.1.1.4
	matt-nb8-mediatek:1.1.1.4.0.20
	matt-nb8-mediatek-base:1.1.1.4
	perseant-stdc-iso10646:1.1.1.4.0.18
	perseant-stdc-iso10646-base:1.1.1.4
	netbsd-8:1.1.1.4.0.16
	netbsd-8-base:1.1.1.4
	prg-localcount2-base3:1.1.1.4
	prg-localcount2-base2:1.1.1.4
	prg-localcount2-base1:1.1.1.4
	prg-localcount2:1.1.1.4.0.14
	prg-localcount2-base:1.1.1.4
	pgoyette-localcount-20170426:1.1.1.4
	bouyer-socketcan-base1:1.1.1.4
	pgoyette-localcount-20170320:1.1.1.4
	netbsd-7-1:1.1.1.4.0.12
	netbsd-7-1-RELEASE:1.1.1.4
	netbsd-7-1-RC2:1.1.1.4
	PFIX-3-1-4:1.1.1.4
	netbsd-7-nhusb-base-20170116:1.1.1.4
	bouyer-socketcan:1.1.1.4.0.10
	bouyer-socketcan-base:1.1.1.4
	pgoyette-localcount-20170107:1.1.1.4
	netbsd-7-1-RC1:1.1.1.4
	pgoyette-localcount-20161104:1.1.1.4
	netbsd-7-0-2-RELEASE:1.1.1.4
	localcount-20160914:1.1.1.4
	netbsd-7-nhusb:1.1.1.4.0.8
	netbsd-7-nhusb-base:1.1.1.4
	pgoyette-localcount-20160806:1.1.1.4
	pgoyette-localcount-20160726:1.1.1.4
	pgoyette-localcount:1.1.1.4.0.6
	pgoyette-localcount-base:1.1.1.4
	netbsd-7-0-1-RELEASE:1.1.1.4
	netbsd-7-0:1.1.1.4.0.4
	netbsd-7-0-RELEASE:1.1.1.4
	PFIX-2-11-6:1.1.1.4
	netbsd-7-0-RC3:1.1.1.4
	netbsd-7-0-RC2:1.1.1.4
	netbsd-7-0-RC1:1.1.1.4
	PFIX-2-11-4:1.1.1.4
	PFIX-2-11-3:1.1.1.4
	netbsd-5-2-3-RELEASE:1.1.1.1.2.2
	netbsd-5-1-5-RELEASE:1.1.1.1.2.2
	netbsd-6-0-6-RELEASE:1.1.1.2
	netbsd-6-1-5-RELEASE:1.1.1.2
	netbsd-7:1.1.1.4.0.2
	netbsd-7-base:1.1.1.4
	PFIX-2-11-1:1.1.1.4
	yamt-pagecache-base9:1.1.1.3
	yamt-pagecache-tag8:1.1.1.2.4.1
	netbsd-6-1-4-RELEASE:1.1.1.2
	netbsd-6-0-5-RELEASE:1.1.1.2
	tls-earlyentropy:1.1.1.3.0.6
	tls-earlyentropy-base:1.1.1.4
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.3
	riastradh-drm2-base3:1.1.1.3
	PFIX-2-10-3:1.1.1.3
	netbsd-6-1-3-RELEASE:1.1.1.2
	netbsd-6-0-4-RELEASE:1.1.1.2
	netbsd-5-2-2-RELEASE:1.1.1.1.2.2
	netbsd-5-1-4-RELEASE:1.1.1.1.2.2
	netbsd-6-1-2-RELEASE:1.1.1.2
	netbsd-6-0-3-RELEASE:1.1.1.2
	PFIX-2-10-2:1.1.1.3
	netbsd-5-2-1-RELEASE:1.1.1.1.2.2
	netbsd-5-1-3-RELEASE:1.1.1.1.2.2
	PFIX-2-9-7:1.1.1.3
	netbsd-6-1-1-RELEASE:1.1.1.2
	riastradh-drm2-base2:1.1.1.3
	riastradh-drm2-base1:1.1.1.3
	riastradh-drm2:1.1.1.3.0.2
	riastradh-drm2-base:1.1.1.3
	netbsd-6-1:1.1.1.2.0.14
	netbsd-6-0-2-RELEASE:1.1.1.2
	netbsd-6-1-RELEASE:1.1.1.2
	netbsd-6-1-RC4:1.1.1.2
	netbsd-6-1-RC3:1.1.1.2
	agc-symver:1.1.1.3.0.4
	agc-symver-base:1.1.1.3
	netbsd-6-1-RC2:1.1.1.2
	netbsd-6-1-RC1:1.1.1.2
	yamt-pagecache-base8:1.1.1.3
	PFIX-2-9-5:1.1.1.3
	netbsd-5-2:1.1.1.1.2.2.0.6
	PFIX-2-8-13:1.1.1.2
	netbsd-6-0-1-RELEASE:1.1.1.2
	yamt-pagecache-base7:1.1.1.2
	netbsd-5-2-RELEASE:1.1.1.1.2.2
	netbsd-5-2-RC1:1.1.1.1.2.2
	matt-nb6-plus-nbase:1.1.1.2
	yamt-pagecache-base6:1.1.1.2
	netbsd-6-0:1.1.1.2.0.12
	netbsd-6-0-RELEASE:1.1.1.2
	netbsd-6-0-RC2:1.1.1.2
	tls-maxphys:1.1.1.2.0.10
	tls-maxphys-base:1.1.1.4
	matt-nb6-plus:1.1.1.2.0.8
	matt-nb6-plus-base:1.1.1.2
	netbsd-6-0-RC1:1.1.1.2
	PFIX-2-8-12:1.1.1.2
	PFIX-2-8-11:1.1.1.2
	yamt-pagecache-base5:1.1.1.2
	yamt-pagecache-base4:1.1.1.2
	PFIX-2-8-8:1.1.1.2
	netbsd-6:1.1.1.2.0.6
	netbsd-6-base:1.1.1.2
	netbsd-5-1-2-RELEASE:1.1.1.1.2.2
	netbsd-5-1-1-RELEASE:1.1.1.1.2.2
	yamt-pagecache-base3:1.1.1.2
	PFIX-2-8-7:1.1.1.2
	yamt-pagecache-base2:1.1.1.2
	yamt-pagecache:1.1.1.2.0.4
	yamt-pagecache-base:1.1.1.2
	PFIX-2-8-6:1.1.1.2
	PFIX-2-8-5:1.1.1.2
	PFIX-2-8-4:1.1.1.2
	cherry-xenmp:1.1.1.2.0.2
	cherry-xenmp-base:1.1.1.2
	PFIX-2-8-3:1.1.1.2
	PFIX-2-8-2:1.1.1.2
	PFIX-2-8-1:1.1.1.2
	bouyer-quota2-nbase:1.1.1.2
	bouyer-quota2:1.1.1.1.0.6
	bouyer-quota2-base:1.1.1.1
	matt-mips64-premerge-20101231:1.1.1.1
	matt-nb5-mips64-premerge-20101231:1.1.1.1.4.2
	matt-nb5-pq3:1.1.1.1.2.2.0.4
	matt-nb5-pq3-base:1.1.1.1.2.2
	PFIX-2-7-2:1.1.1.1
	netbsd-5-1:1.1.1.1.2.2.0.2
	netbsd-5-1-RELEASE:1.1.1.1.2.2
	netbsd-5-1-RC4:1.1.1.1.2.2
	matt-nb5-mips64-k15:1.1.1.1.4.2
	PFIX-2-7-1:1.1.1.1
	netbsd-5-1-RC3:1.1.1.1.2.2
	netbsd-5-1-RC2:1.1.1.1.2.2
	netbsd-5-1-RC1:1.1.1.1.2.2
	matt-nb5-mips64:1.1.1.1.0.4
	PFIX-2-6-6:1.1.1.1
	matt-premerge-20091211:1.1.1.1
	netbsd-5:1.1.1.1.0.2
	PFIX-2-6-5:1.1.1.1
	PFIX-2-6-2:1.1.1.1
	VENEMA:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2009.06.23.10.08.24;	author tron;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2009.06.23.10.08.24;	author tron;	state Exp;
branches
	1.1.1.1.2.1
	1.1.1.1.4.1
	1.1.1.1.6.1;
next	1.1.1.2;

1.1.1.2
date	2011.03.02.19.31.34;	author tron;	state Exp;
branches
	1.1.1.2.4.1
	1.1.1.2.10.1;
next	1.1.1.3;

1.1.1.3
date	2013.01.02.18.58.35;	author tron;	state Exp;
branches
	1.1.1.3.6.1;
next	1.1.1.4;

1.1.1.4
date	2014.07.06.19.27.40;	author tron;	state Exp;
branches
	1.1.1.4.26.1;
next	1.1.1.5;
commitid	5TVMY9WFpCELTlHx;

1.1.1.5
date	2022.10.08.16.09.01;	author christos;	state Exp;
branches
	1.1.1.5.2.1;
next	1.1.1.6;
commitid	kRUbAM0nqDWDQVWD;

1.1.1.6
date	2023.12.23.20.24.48;	author christos;	state Exp;
branches
	1.1.1.6.2.1;
next	1.1.1.7;
commitid	b1hV92WYdEWo2DRE;

1.1.1.7
date	2025.02.25.19.11.35;	author christos;	state Exp;
branches;
next	;
commitid	cLFKwpXD6DqXOSKF;

1.1.1.1.2.1
date	2009.06.23.10.08.24;	author snj;	state dead;
branches;
next	1.1.1.1.2.2;

1.1.1.1.2.2
date	2009.09.15.06.02.12;	author snj;	state Exp;
branches;
next	;

1.1.1.1.4.1
date	2009.06.23.10.08.24;	author matt;	state dead;
branches;
next	1.1.1.1.4.2;

1.1.1.1.4.2
date	2010.04.21.05.23.29;	author matt;	state Exp;
branches;
next	;

1.1.1.1.6.1
date	2011.03.05.15.08.53;	author bouyer;	state Exp;
branches;
next	;

1.1.1.2.4.1
date	2013.01.23.00.04.51;	author yamt;	state Exp;
branches;
next	;

1.1.1.2.10.1
date	2013.02.25.00.27.06;	author tls;	state Exp;
branches;
next	1.1.1.2.10.2;

1.1.1.2.10.2
date	2014.08.19.23.59.41;	author tls;	state Exp;
branches;
next	;
commitid	jTnpym9Qu0o4R1Nx;

1.1.1.3.6.1
date	2014.08.10.07.12.46;	author tls;	state Exp;
branches;
next	;
commitid	0tNMy3UM0qm8IMLx;

1.1.1.4.26.1
date	2023.12.25.12.54.33;	author martin;	state Exp;
branches;
next	;
commitid	yzNdlh5ioUjfxQRE;

1.1.1.5.2.1
date	2023.12.25.12.43.22;	author martin;	state Exp;
branches;
next	;
commitid	UCTK9IHygwOntQRE;

1.1.1.6.2.1
date	2025.08.02.05.49.50;	author perseant;	state Exp;
branches;
next	;
commitid	23j6GFaDws3O875G;


desc
@@


1.1
log
@Initial revision
@
text
@<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title>Postfix Backscatter Howto</title>

<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">

</head>

<body>

<h1><img src="postfix-logo.jpg" width="203" height="98" ALT="">Postfix
Backscatter Howto</h1>

<hr>

<h2>Overview </h2>

<p> This document describes features that require Postfix version
2.0 or later. </p>

<p> Topics covered in this document: </p>

<ul>

<li><a href="#wtf">What is backscatter mail?</a>

<li><a href="#random">How do I block backscatter mail to random
recipient addresses?</a>

<li><a href="#real">How do I block backscatter mail to real
recipient addresses?</a>

<ul>

<li><a href="#forged_helo">Blocking backscatter mail with forged
mail server information</a>

<li><a href="#forged_sender">Blocking backscatter mail with forged
sender information</a>

<li><a href="#forged_other">Blocking backscatter mail with other
forged information</a>

<li><a href="#scanner">Blocking backscatter mail from virus
scanners</a>

</ul>

</ul>

<p> The examples use Perl Compatible Regular Expressions (Postfix
<a href="pcre_table.5.html">pcre</a>: tables), but also provide a translation to POSIX regular
expressions (Postfix <a href="regexp_table.5.html">regexp</a>: tables). PCRE is preferred primarily
because the implementation is often faster.</p>

<h2><a name="wtf">What is backscatter mail?</a></h2>

<p> When a spammer or worm sends mail with forged sender addresses,
innocent sites are flooded with undeliverable mail notifications.
This is called backscatter mail.  With Postfix, you know that you're
a backscatter victim when your logfile goes on and on like this:
</p>

<blockquote>
<pre>
Dec  4 04:30:09 hostname postfix/smtpd[58549]: NOQUEUE: reject:
RCPT from xxxxxxx[x.x.x.x]: 550 5.1.1 &lt;yyyyyy@@your.domain.here&gt;:
Recipient address rejected: User unknown; from=&lt;&gt;
to=&lt;yyyyyy@@your.domain.here&gt; proto=ESMTP helo=&lt;zzzzzz&gt;
</pre>
</blockquote>

<p> What you see are lots of "user unknown" errors with "from=&lt;&gt;".
These are error reports from MAILER-DAEMONs elsewhere on the Internet.
</p>

<h2><a name="random">How do I block backscatter mail to random
recipient addresses?</a></h2>

<p> If your machine receives backscatter mail to random addresses,
configure Postfix to reject all mail for non-existent recipients
as described in the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> and
<a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> documentation.  </p>

<p> If your machine runs Postfix 2.0 and earlier, disable the "pause
before reject" feature in the SMTP server. If your system is under
stress then it should not waste time. </p>

<blockquote>
<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    # Not needed with Postfix 2.1 and later.
    <a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a> = 0

    # Not needed with Postfix 2.4 and later.
    <a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> = 550
</pre>
</blockquote>

<h2><a name="real">How do I block backscatter mail to real
recipient addresses?</a></h2>

<p> When backscatter mail passes the "unknown recipient" barrier,
there still is no need to despair.  Many mail systems are kind
enough to attach the message headers of the undeliverable mail in
the non-delivery notification. These message headers contain
information that you can use to recognize and block forged mail.
</p>

<h3><a name="forged_helo">Blocking backscatter mail with forged
mail server information</a></h3>

<p> Although my email address is "wietse@@porcupine.org", all my
mail systems announce themselves with the SMTP HELO command as
"hostname.porcupine.org".  Thus, if returned mail has a Received:
message header like this: </p>

<blockquote>
<pre>
Received: from porcupine.org ...
</pre>
</blockquote>

<p> Then I know that this is almost certainly forged mail (almost;
see <a href="#caveats">next section</a> for the fly in the ointment).
Mail that is really
sent by my systems looks like this: </p>

<blockquote>
<pre>
Received: from hostname.porcupine.org ...
</pre>
</blockquote>

<p> For the same reason the following message headers are very likely
to be the result of forgery:</p>

<blockquote>
<pre>
Received: from host.example.com ([1.2.3.4] helo=porcupine.org) ...
Received: from [1.2.3.4] (port=12345 helo=porcupine.org) ...
Received: from host.example.com (HELO porcupine.org) ...
Received: from host.example.com (EHLO porcupine.org) ...
</pre>
</blockquote>

<p> Some forgeries show up in the way that a mail server reports
itself in Received: message headers. Keeping in mind that all my
systems have a mail server name of <i>hostname</i>.porcupine.org,
the following is definitely a forgery:</p>

<blockquote>
<pre>
Received: by porcupine.org ...
Received: from host.example.com ( ... ) by porcupine.org ...
</pre>
</blockquote>

<p> Another frequent sign of forgery is the Message-ID: header. My
systems produce a Message-ID: of
&lt;<i>stuff</i>@@<i>hostname</i>.porcupine.org&gt;.  The following
are forgeries, especially the first one:

<blockquote>
<pre>
Message-ID: &lt;1cb479435d8eb9.2beb1.qmail@@porcupine.org&gt;
Message-ID: &lt;yulszqocfzsficvzzju@@porcupine.org&gt;
</pre>
</blockquote>

<p> To block such backscatter I use <a href="postconf.5.html#header_checks">header_checks</a> and <a href="postconf.5.html#body_checks">body_checks</a>
patterns like this: </p>

<blockquote>
<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    <a href="postconf.5.html#header_checks">header_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/header_checks
    <a href="postconf.5.html#body_checks">body_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/body_checks

/etc/postfix/header_checks:
    if /^Received:/
    /^Received: +from +(porcupine\.org) +/
        reject forged client name in Received: header: $1
    /^Received: +from +[^ ]+ +\(([^ ]+ +[he]+lo=|[he]+lo +)(porcupine\.org)\)/
        reject forged client name in Received: header: $2
    /^Received:.* +by +(porcupine\.org)\b/
        reject forged mail server name in Received: header: $1
    endif
    /^Message-ID:.* &lt;!&amp;!/ DUNNO
    /^Message-ID:.*@@(porcupine\.org)/
	reject forged domain name in Message-ID: header: $1

/etc/postfix/body_checks:
    if /^[&gt; ]*Received:/
    /^[&gt; ]*Received: +from +(porcupine\.org) /
        reject forged client name in Received: header: $1
    /^[&gt; ]*Received: +from +[^ ]+ +\(([^ ]+ +[he]+lo=|[he]+lo +)(porcupine\.org)\)/
        reject forged client name in Received: header: $2
    /^[&gt; ]*Received:.* +by +(porcupine\.org)\b/
        reject forged mail server name in Received: header: $1
    endif
    /^[&gt; ]*Message-ID:.* &lt;!&amp;!/ DUNNO
    /^[&gt; ]*Message-ID:.*@@(porcupine\.org)/
	reject forged domain name in Message-ID: header: $1
</pre>
</blockquote>

<p> Notes: </p>

<ul>

<li> <p> The example uses <a href="pcre_table.5.html">pcre</a>: tables mainly for speed; with minor
modifications, you can use <a href="regexp_table.5.html">regexp</a>: tables as explained below. </p>

<li> <p> The example is simplified for educational purposes.  In
reality my patterns list multiple domain names, as
"<tt>(domain|domain|...)</tt>".  </p>

<li> <p> The "<tt>\.</tt>" matches "<tt>.</tt>" literally. Without
the "<tt>\</tt>", the "<tt>.</tt>" would match any character. </p>

<li> <p> The "<tt>\(</tt>" and "<tt>\)</tt>" match "<tt>(</tt>"
and "<tt>)</tt>" literally. Without the "<tt>\</tt>", the "<tt>(</tt>"
and "<tt>)</tt>" would be grouping operators.  </p>

<li> <p> The "<tt>\b</tt>" is used here to match the end of a word.
If you use <a href="regexp_table.5.html">regexp</a>: tables, specify "<tt>[[:&gt;:]]</tt>" (on some
systems you should specify "<tt>\&gt;</tt>" instead; for details
see your system documentation).

<li> <p> The "if /pattern/" and "endif" eliminate unnecessary
matching attempts. DO NOT indent lines starting with /pattern/
between the "if" and "endif"! </p>

<li> <p> The two "<tt>Message-ID:.* &lt;!&amp;!</tt>" rules are
workarounds for some versions of Outlook express, as described in
the <a href="#caveats"> caveats </a> section below.

</ul>

<p><a name="caveats"><strong>Caveats</strong></a></p>

<ul>

<li>

<p> Netscape Messenger (and reportedly, Mozilla) sends a HELO name
that is identical to the sender address domain part. If you have
such clients then the above patterns would block legitimate email.
</p>

<p> My network has only one such machine, and to prevent its mail
from being blocked I have configured it to send mail as
user@@hostname.porcupine.org. On the Postfix server, a canonical
mapping translates this temporary address into user@@porcupine.org.
</p>

<blockquote>
<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    <a href="postconf.5.html#canonical_maps">canonical_maps</a> = hash:/etc/postfix/canonical

/etc/postfix/canonical:
    @@hostname.porcupine.org @@porcupine.org
</pre>
</blockquote>

<p> This is of course practical only when you have very few systems
that send HELO commands like this, and when you never have to send
mail to a user on such a host. </p>

<p> An alternative would be to remove the hostname from
"hostname.porcupine.org" with address
masquerading, as described in the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
</p>

<li> <p> Reportedly, Outlook 2003 (perhaps Outlook Express, and
other versions as well) present substantially different Message-ID
headers depending upon whether or not a DSN is requested (via Options
"Request a delivery receipt for this message"). </p>

<p> When a DSN is requested, Outlook 2003 uses a Message-ID string
that ends in the sender's domain name: </p>

<blockquote>
<pre>
Message-ID: &lt;!&amp;! ...very long string... ==@@example.com&gt;
</pre>
</blockquote>

<p> where <i>example.com</i> is the domain name part of the email
address specified in Outlook's account settings for the user.  Since
many users configure their email addresses as <i>username@@example.com</i>,
messages with DSN turned on will trigger the REJECT action in the
previous section. </p>

<p> If you have such clients then you can to exclude their Message-ID
strings with the two "<tt>Message-ID:.* &lt;!&amp;!</tt>" patterns
that are shown in the previous section.  Otherwise you will not be
able to use the two backscatter rules to stop forged Message ID
strings.  Of course this workaround may break the next time Outlook
is changed.  </p>

</ul>

<h3><a name="forged_sender">Blocking backscatter mail with forged
sender information</a></h3>

Like many people I still have a few email addresses in domains that
I used in the past. Mail for those addresses is forwarded to my
current address.  Most of the backscatter mail that I get claims
to be sent from these addresses.  Such mail is obviously forged
and is very easy to stop.

<blockquote>
<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    <a href="postconf.5.html#header_checks">header_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/header_checks
    <a href="postconf.5.html#body_checks">body_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/body_checks

/etc/postfix/header_checks:
    /^(From|Return-Path):.*\b(user@@domain\.tld)\b/ 
        reject forged sender address in $1: header: $2

/etc/postfix/body_checks:
    /^[&gt; ]*(From|Return-Path):.*\b(user@@domain\.tld)\b/ 
        reject forged sender address in $1: header: $2
</pre>
</blockquote>

<p> Notes: </p>

<ul>

<li> <p> The example uses <a href="pcre_table.5.html">pcre</a>: tables mainly for speed; with minor
modifications, you can use <a href="regexp_table.5.html">regexp</a>: tables as explained below. </p>

<li> <p> The example is simplified for educational purposes.  In
reality, my patterns list multiple email addresses as
"<tt>(user1@@domain1\.tld|user2@@domain2\.tld)</tt>".  </p>

<li> <p> The two "<tt>\b</tt>" as used in "<tt>\b(user@@domain\.tld)\b</tt>"
match the beginning and end of a word, respectively.  If you use
<a href="regexp_table.5.html">regexp</a>: tables, specify "<tt>[[:&lt;:]]</tt> and <tt>[[:&gt;:]]</tt>"
(on some systems you should specify "<tt>\&lt;</tt> and <tt>\&gt;</tt>"
instead; for details see your system documentation).  </p>

<li> <p> The "<tt>\.</tt>" matches "<tt>.</tt>" literally. Without
the "<tt>\</tt>", the "<tt>.</tt>" would match any character. </p>

</ul>

<h3><a name="forged_other">Blocking backscatter mail with other
forged information</a></h3>

<p> Another sign of forgery can be found in the IP address that is
recorded in Received: headers next to your HELO host or domain name.
This information must be used with care, though. Some mail servers
are behind a network address translator and never see the true
client IP address.  </p>

<h3><a name="scanner">Blocking backscatter mail from virus
scanners</a></h3>

<p> With all the easily recognizable forgeries eliminated, there
is one category of backscatter mail that remains, and that is
notifications from virus scanner software. Unfortunately, some
virus scanning software doesn't know that viruses forge sender
addresses. To make matters worse, the software also doesn't know
how to report a mail delivery problem, so that we cannot use the
above techniques to recognize forgeries.  </p>

<p> Recognizing virus scanner mail is an error prone process,
because there is a lot of variation in report formats.  The following
is only a small example of message header patterns.  For a large
collection of header and body patterns that recognize virus
notification email, see <a href="http://www.dkuug.dk/keld/virus/">http://www.dkuug.dk/keld/virus/</a>
or <a href="http://www.t29.dk/antiantivirus.txt">http://www.t29.dk/antiantivirus.txt</a>.  </p>

<blockquote>
<pre>
/etc/postfix/header_checks:
    /^Subject: *Your email contains VIRUSES/ DISCARD virus notification
    /^Content-Disposition:.*VIRUS1_DETECTED_AND_REMOVED/
        DISCARD virus notification
    /^Content-Disposition:.*VirusWarning.txt/ DISCARD virus notification
</pre>
</blockquote>

<p> Note: these documents haven't been updated since 2004, so they
are useful only as a starting point. </p>

<p> A plea to virus or spam scanner operators: please do not make
the problem worse by sending return mail to forged sender addresses.
You're only harassing innocent people. If you must return mail to
the purported sender, please return the full message headers, so
that the sender can filter out the obvious forgeries. </p>

</body>

</html>
@


1.1.1.1
log
@Import Postfix 2.6.2.
@
text
@@


1.1.1.1.6.1
log
@Sync with HEAD
@
text
@d79 1
a79 2
These are error reports from MAILER-DAEMONs elsewhere on the Internet,
about email that was sent with a false sender address in your domain.
a185 1
    # Do not indent the text between "if" and "endif".
a198 1
    # Do not indent the text between "if" and "endif".
@


1.1.1.2
log
@Import Postfix 2.8.1. Changes since version 2.7.*:
Postfix stable release 2.8.0 is available. This release continues the
move towards improving code and documentation, and making the system
better prepared for changes in the threat environment.

The postscreen daemon (a zombie blocker in front of Postfix) is now
included with the stable release. postscreen now supports TLS and can
log the rejected sender, recipient and helo information. See the
POSTSCREEN_README file for recommended usage scenarios.

Support for DNS whitelisting (permit_rhswl_client), and for pattern
matching to filter the responses from DNS white/blacklist servers
(e.g., reject_rhsbl_client zen.spamhaus.org=127.0.0.[1..10]).

Improved message tracking across SMTP-based content filters; the
after-filter SMTP server can log the before-filter queue ID (the
XCLIENT protocol was extended).

Read-only support for sqlite databases. See sqlite_table(5) and
SQLITE_README.

Support for 'footers' that are appended to SMTP server "reject"
responses. See "smtpd_reject_footer" in the postconf(5) manpage.
@
text
@d79 1
a79 2
These are error reports from MAILER-DAEMONs elsewhere on the Internet,
about email that was sent with a false sender address in your domain.
a185 1
    # Do not indent the text between "if" and "endif".
a198 1
    # Do not indent the text between "if" and "endif".
@


1.1.1.2.10.1
log
@resync with head
@
text
@d187 1
a187 1
    # Do not indent the patterns between "if" and "endif".
d201 1
a201 1
    # Do not indent the patterns between "if" and "endif".
@


1.1.1.2.10.2
log
@Rebase to HEAD as of a few days ago.
@
text
@d198 1
a198 1
        reject forged domain name in Message-ID: header: $1
d212 1
a212 1
        reject forged domain name in Message-ID: header: $1
d269 1
a269 1
    <a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/canonical
@


1.1.1.2.4.1
log
@sync with head
@
text
@d187 1
a187 1
    # Do not indent the patterns between "if" and "endif".
d201 1
a201 1
    # Do not indent the patterns between "if" and "endif".
@


1.1.1.3
log
@Import Postfix 2.9.5. Major changes since version 2.8.x:
- Support for long, non-repeating, queue IDs (queue file names). The
  main benefit of non-repeating names is simpler logfile analysis. See
  the description of "enable_long_queue_ids" in postconf(5) for
  details.
- Memcache client support, and support to share postscreen(8) and
  verify(8) caches via the proxymap server. Details about memcache
  support are in memcache_table(5) and MEMCACHE_README.
- Gradual degradation: if a database is unavailable (can't open, most
  read or write errors) a Postfix daemon will log a warning and
  continue providing the services that don't depend on that table,
  instead of immediately terminating with a fatal error. To terminate
  immediately when a database file can't be opened, specify
  "daemon_table_open_error_is_fatal = yes".
- Revised postconf(1) command. It warns about unused parameter
  name=value settings in main.cf or master.cf (likely mistakes),
  understands "dynamic" parameter names such as names that depend on
  the name of a master.cf entry (finally, "postconf -n" shows all
  parameter settings), and it can display main.cf and master.cf in a
  more user-friendly format (postconf -nf, postconf -Mf).
- Read/write deadline support in the SMTP client and server to defend
  against application-level DOS attacks that very slowly write or read
  data one byte at a time.
@
text
@d187 1
a187 1
    # Do not indent the patterns between "if" and "endif".
d201 1
a201 1
    # Do not indent the patterns between "if" and "endif".
@


1.1.1.3.6.1
log
@Rebase.
@
text
@d198 1
a198 1
        reject forged domain name in Message-ID: header: $1
d212 1
a212 1
        reject forged domain name in Message-ID: header: $1
d269 1
a269 1
    <a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/canonical
@


1.1.1.4
log
@Import Postfix 2.11.1. The main changes since version 2.10.* are:
- Support for PKI-less TLS server certificate verification with DANE
  (DNS-based Authentication of Named Entities) where the CA public key
  or the server certificate is identified via DNSSEC lookup. This
  requires a DNS resolver that validates DNSSEC replies. The problem
  with conventional PKI is that there are literally hundreds of
  organizations world-wide that can provide a certificate in anyone's
  name. DANE limits trust to the people who control the target DNS
  zone and its parent zones.
- A new postscreen_dnsbl_whitelist_threshold feature to allow clients
  to skip postscreen tests based on their DNSBL score. This can
  eliminate email delays due to "after 220 greeting" protocol tests,
  which otherwise require that a client reconnects before it can
  deliver mail. Some providers such as Google don't retry from the
  same IP address, and that can result in large email delivery delays.
- The recipient_delimiter feature now supports different delimiters,
  for example both "+" and "-". As before, this implementation
  recognizes exactly one delimiter character per email address, and
  exactly one address extension per email address.
- Advanced master.cf query/update support to access service attributes
  as "name = value" pairs. For example to turn off chroot on all
  services use "postconf -F '*/*/chroot = n'", and to change/add a
  "-o name=value" setting use "postconf -P 'smtp/inet/name = value'".
  This was developed primarily to allow automated tools to manage Postfix
  systems without having to parse Postfix configuration files.
@
text
@d198 1
a198 1
        reject forged domain name in Message-ID: header: $1
d212 1
a212 1
        reject forged domain name in Message-ID: header: $1
d269 1
a269 1
    <a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/canonical
@


1.1.1.4.26.1
log
@Pull up the following, requeste by kim in ticket #1779:

	external/ibm-public/postfix/dist/README_FILES/BDAT_README up to 1.1.1.2
	external/ibm-public/postfix/dist/README_FILES/MAILLOG_README up to 1.1.1.4
	external/ibm-public/postfix/dist/README_FILES/POSTSCREEN_3_5_README up to 1.1.1.1
	external/ibm-public/postfix/dist/html/BDAT_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/MAILLOG_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/makedefs.1.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/postlogd.8.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/POSTSCREEN_3_5_README.html up to 1.1.1.2
	external/ibm-public/postfix/dist/html/postfix-doc.css up to 1.1.1.1
	external/ibm-public/postfix/dist/man/man1/makedefs.1 up to 1.3
	external/ibm-public/postfix/dist/man/man8/postlogd.8 up to 1.3
	external/ibm-public/postfix/dist/mantools/missing-proxy-read-maps up to 1.1.1.3
	external/ibm-public/postfix/dist/mantools/spelldiff up to 1.1.1.1
	external/ibm-public/postfix/dist/mantools/check-double-cc up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/check-double-install-proto-text up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/check-double-proto-html up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/comment.c up to 1.2
	external/ibm-public/postfix/dist/mantools/check-postfix-files up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/check-spell-cc up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/check-spell-install-proto-text up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/check-spell-proto-html up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/deroff up to 1.1.1.1
	external/ibm-public/postfix/dist/mantools/find-double up to 1.1.1.1
	external/ibm-public/postfix/dist/mantools/check-double-history up to 1.1.1.1
	external/ibm-public/postfix/dist/mantools/check-spell-history up to 1.1.1.1
	external/ibm-public/postfix/dist/mantools/check-table-proto up to 1.1.1.1
	external/ibm-public/postfix/dist/proto/BDAT_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/MAILLOG_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/POSTSCREEN_3_5_README.html up to 1.1.1.2
	external/ibm-public/postfix/dist/proto/stop.double-cc up to 1.1.1.2
	external/ibm-public/postfix/dist/proto/stop.double-install-proto-text up to 1.1.1.1
	external/ibm-public/postfix/dist/proto/stop.double-proto-html up to 1.1.1.2
	external/ibm-public/postfix/dist/proto/stop.spell-cc up to 1.1.1.2
	external/ibm-public/postfix/dist/proto/stop.spell-proto-html up to 1.1.1.2
	external/ibm-public/postfix/dist/proto/stop.double-history up to 1.1.1.1
	external/ibm-public/postfix/dist/proto/stop.spell-history up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/bounce_notify_util_tester.c up to 1.2
	external/ibm-public/postfix/dist/src/bounce/logfile-no-msgid-no-eoh-event up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/logfile-no-msgid-with-eoh-event up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/logfile-with-msgid-no-eoh-event up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/logfile-with-msgid-with-eoh-event up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/logfile-with-msgid-with-filter up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/logfile-with-msgid-with-long-line up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/msgfile-no-msgid-no-eoh-event up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/msgfile-no-msgid-with-eoh-event up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/msgfile-with-msgid-no-eoh-event up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/msgfile-with-msgid-with-eoh-event up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/obs_template_test.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/msgfile-with-msgid-with-filter up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/msgfile-with-msgid-with-long-line up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/no-msgid-no-eoh-event-no-thread.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/no-msgid-no-eoh-event-with-thread.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/no-msgid-with-eoh-event-no-thread.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/no-msgid-with-eoh-event-with-thread.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/with-msgid-no-eoh-event-no-thread.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/with-msgid-no-eoh-event-with-thread.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/with-msgid-with-eoh-event-no-thread.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/with-msgid-with-eoh-event-with-thread.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/with-msgid-with-filter-no-thread.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/with-msgid-with-filter-with-thread.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/with-msgid-with-long-line-no-thread.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/bounce/with-msgid-with-long-line-with-thread.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.in13e up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.in13f up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.in13g up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.in13h up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.in13i up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref13e up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref13f up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref13g up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref13h up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref13i up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/test-queue-file13e up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/test-queue-file13f up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/test-queue-file13g up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/test-queue-file13h up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/test-queue-file13i up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.in17a up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.in17b up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.in17c up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.in17d up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.in17e up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.in17f up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.in17g up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref17a1 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref17a2 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref17b1 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref17b2 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref17c1 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref17c2 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref17d1 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref17d2 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref17e1 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref17e2 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref17f1 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref17f2 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref17g1 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref17g2 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/cleanup/test-queue-file17 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/dns/dns_str_resflags.c up to 1.3
	external/ibm-public/postfix/dist/src/dns/dns_sec.c up to 1.2
	external/ibm-public/postfix/dist/src/global/header_body_checks_strip.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/info_log_addr_form.c up to 1.2
	external/ibm-public/postfix/dist/src/global/info_log_addr_form.h up to 1.2
	external/ibm-public/postfix/dist/src/global/mail_addr_crunch.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/mail_addr_crunch.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/mail_addr_find.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/map_search.c up to 1.4
	external/ibm-public/postfix/dist/src/global/map_search.h up to 1.2
	external/ibm-public/postfix/dist/src/global/mail_addr_find.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/mail_addr_form.c up to 1.2
	external/ibm-public/postfix/dist/src/global/mail_addr_form.h up to 1.2
	external/ibm-public/postfix/dist/src/global/mail_addr_map.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/maillog_client.c up to 1.3
	external/ibm-public/postfix/dist/src/global/maillog_client.h up to 1.2
	external/ibm-public/postfix/dist/src/global/map_search.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/global/normalize_mailhost_addr.c up to 1.3
	external/ibm-public/postfix/dist/src/global/normalize_mailhost_addr.h up to 1.2
	external/ibm-public/postfix/dist/src/global/off_cvt.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/off_cvt.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/quote_822_local.in up to 1.1.1.2
	external/ibm-public/postfix/dist/src/global/quote_822_local.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/global/quote_flags.c up to 1.2
	external/ibm-public/postfix/dist/src/global/reject_deliver_request.c up to 1.2
	external/ibm-public/postfix/dist/src/global/compat_level.c up to 1.3
	external/ibm-public/postfix/dist/src/global/compat_level.h up to 1.3
	external/ibm-public/postfix/dist/src/global/test_main.c up to 1.2
	external/ibm-public/postfix/dist/src/global/compat_level_convert.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/compat_level_convert.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/compat_level_expand.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/compat_level_expand.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/config_known_tcp_ports.c up to 1.2
	external/ibm-public/postfix/dist/src/global/config_known_tcp_ports.h up to 1.2
	external/ibm-public/postfix/dist/src/global/config_known_tcp_ports.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/delivered_hdr.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/hfrom_format.c up to 1.2
	external/ibm-public/postfix/dist/src/global/hfrom_format.h up to 1.2
	external/ibm-public/postfix/dist/src/global/hfrom_format.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/login_sender_match.c up to 1.2
	external/ibm-public/postfix/dist/src/global/login_sender_match.h up to 1.2
	external/ibm-public/postfix/dist/src/global/login_sender_match.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/sasl_mech_filter.c up to 1.2
	external/ibm-public/postfix/dist/src/global/sasl_mech_filter.h up to 1.2
	external/ibm-public/postfix/dist/src/global/test_main.h up to 1.2
	external/ibm-public/postfix/dist/src/master/dgram_server.c up to 1.3
	external/ibm-public/postfix/dist/src/postconf/extract_cfg.sh up to 1.1.1.1
	external/ibm-public/postfix/dist/src/postconf/test64.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/postconf/test65.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/postconf/test66.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/postconf/test67.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/postconf/test68.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/postconf/test69.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/postconf/test70.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/postconf/test71.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/postmap/file_test.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/postmap/file_test.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/postmap/quote_test.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/postmap/quote_test.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/postmap/lmdb_abb up to 1.1.1.1
	external/ibm-public/postfix/dist/src/postmap/lmdb_abb.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/smtp/smtp_misc.c up to 1.2
	external/ibm-public/postfix/dist/src/smtp/smtp_map11.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/smtpd/smtpd_addr_valid.in up to 1.1.1.2
	external/ibm-public/postfix/dist/src/smtpd/smtpd_addr_valid.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/tls/bad-back-to-back-keys.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/bad-back-to-back-keys.pem.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/bad-ec-cert-before-key.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/bad-ec-cert-before-key.pem.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/bad-key-cert-mismatch.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/bad-key-cert-mismatch.pem.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/bad-rsa-key-last.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/bad-rsa-key-last.pem.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/ecca-cert.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/ecca-pkey.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/ecee-cert.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/ecee-pkey.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/ecroot-cert.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/ecroot-pkey.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/good-mixed-keyfirst.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/good-mixed-keyfirst.pem.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/good-mixed-keylast.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/good-mixed-keylast.pem.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/good-mixed-keymiddle.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/good-mixed-keymiddle.pem.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/goodchains.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/goodchains.pem.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/mkcert.sh up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/rsaca-cert.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/rsaca-pkey.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/rsaee-cert.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/rsaee-pkey.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/rsaroot-cert.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/rsaroot-pkey.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/tls_proxy_client_misc.c up to 1.4
	external/ibm-public/postfix/dist/src/tls/tls_proxy_client_print.c up to 1.4
	external/ibm-public/postfix/dist/src/tls/tls_proxy_client_scan.c up to 1.4
	external/ibm-public/postfix/dist/src/tls/tls_proxy_context_print.c up to 1.3
	external/ibm-public/postfix/dist/src/tls/tls_proxy_context_scan.c up to 1.3
	external/ibm-public/postfix/dist/src/tls/tls_proxy_server_print.c up to 1.3
	external/ibm-public/postfix/dist/src/tls/tls_proxy_server_scan.c up to 1.3
	external/ibm-public/postfix/dist/src/tls/warn-mixed-multi-key.pem up to 1.1.1.1
	external/ibm-public/postfix/dist/src/tls/warn-mixed-multi-key.pem.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/trivial-rewrite/transport.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/trivial-rewrite/transport.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/mkmap_db.c up to 1.2
	external/ibm-public/postfix/dist/src/util/mkmap.h up to 1.2
	external/ibm-public/postfix/dist/src/util/argv_attr.h up to 1.3
	external/ibm-public/postfix/dist/src/util/argv_attr_print.c up to 1.3
	external/ibm-public/postfix/dist/src/util/argv_attr_scan.c up to 1.3
	external/ibm-public/postfix/dist/src/util/byte_mask.c up to 1.2
	external/ibm-public/postfix/dist/src/util/byte_mask.h up to 1.2
	external/ibm-public/postfix/dist/src/util/byte_mask.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/byte_mask.ref0 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/byte_mask.ref1 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/byte_mask.ref2 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_file.c up to 1.3
	external/ibm-public/postfix/dist/src/util/dict_cidr_file.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/logwriter.c up to 1.2
	external/ibm-public/postfix/dist/src/util/dict_cidr_file.map up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_cidr_file.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_inline_file.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_pcre_file.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_pcre_file.map up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_pcre_file.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_pipe_test.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_pipe_test.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_random.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_random_file.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_regexp_file.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_regexp_file.map up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_regexp_file.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_static_file.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_thash.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_thash.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_union_test.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_union_test.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/logwriter.h up to 1.2
	external/ibm-public/postfix/dist/src/util/miss_endif_cidr.map up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/miss_endif_cidr.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/miss_endif_pcre.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/miss_endif_re.map up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/miss_endif_regexp.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/msg_logger.c up to 1.3
	external/ibm-public/postfix/dist/src/util/msg_logger.h up to 1.2
	external/ibm-public/postfix/dist/src/util/split_qnameval.c up to 1.2
	external/ibm-public/postfix/dist/src/util/unix_dgram_connect.c up to 1.3
	external/ibm-public/postfix/dist/src/util/unix_dgram_listen.c up to 1.3
	external/ibm-public/postfix/dist/src/util/vbuf_print_test.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/vbuf_print_test.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/vstream_test.in up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/vstream_test.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/util/vstring_test.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/sane_strtol.c up to 1.2
	external/ibm-public/postfix/dist/src/util/argv_split_at.c up to 1.2
	external/ibm-public/postfix/dist/src/util/dict_stream.c up to 1.2
	external/ibm-public/postfix/dist/src/util/dict_inline_cidr.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_inline_pcre.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_inline_regexp.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/dict_stream.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/find_inet.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/hash_fnv.c up to 1.3
	external/ibm-public/postfix/dist/src/util/hash_fnv.h up to 1.3
	external/ibm-public/postfix/dist/src/util/known_tcp_ports.c up to 1.2
	external/ibm-public/postfix/dist/src/util/known_tcp_ports.h up to 1.2
	external/ibm-public/postfix/dist/src/util/known_tcp_ports.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/ldseed.c up to 1.2
	external/ibm-public/postfix/dist/src/util/ldseed.h up to 1.2
	external/ibm-public/postfix/dist/src/util/mystrtok.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/util/sane_strtol.h up to 1.2
	external/ibm-public/postfix/dist/src/util/inet_addr_sizes.c up to 1.2
	external/ibm-public/postfix/dist/src/util/inet_addr_sizes.h up to 1.2
	external/ibm-public/postfix/dist/src/util/inet_prefix_top.c up to 1.2
	external/ibm-public/postfix/dist/src/util/inet_prefix_top.h up to 1.2
	external/ibm-public/postfix/dist/src/util/mkmap_cdb.c up to 1.2
	external/ibm-public/postfix/dist/src/util/mkmap_dbm.c up to 1.2
	external/ibm-public/postfix/dist/src/util/mkmap_fail.c up to 1.2
	external/ibm-public/postfix/dist/src/util/mkmap_lmdb.c up to 1.2
	external/ibm-public/postfix/dist/src/util/mkmap_open.c up to 1.2
	external/ibm-public/postfix/dist/src/util/mkmap_sdbm.c up to 1.2
	external/ibm-public/postfix/dist/src/postlogd/Makefile.in up to 1.1.1.3
	external/ibm-public/postfix/dist/src/postlogd/postlogd.c up to 1.3
	external/ibm-public/postfix/dist/RELEASE_NOTES-3.1 up to 1.1.1.1
	external/ibm-public/postfix/dist/RELEASE_NOTES-3.2 up to 1.1.1.1
	external/ibm-public/postfix/dist/RELEASE_NOTES-3.3 up to 1.1.1.1
	external/ibm-public/postfix/dist/RELEASE_NOTES-3.4 up to 1.1.1.1
	external/ibm-public/postfix/dist/RELEASE_NOTES-3.5 up to 1.1.1.1
	external/ibm-public/postfix/dist/RELEASE_NOTES-3.6 up to 1.1.1.1
	external/ibm-public/postfix/dist/WISHLIST       up to 1.1.1.2
	external/ibm-public/postfix/dist/RELEASE_NOTES-3.7 up to 1.1.1.1
	external/ibm-public/postfix/dist/README_FILES/CYRUS_README delete
	external/ibm-public/postfix/dist/src/global/mkmap.h delete
	external/ibm-public/postfix/dist/src/global/mkmap_cdb.c delete
	external/ibm-public/postfix/dist/src/global/mkmap_db.c delete
	external/ibm-public/postfix/dist/src/global/mkmap_dbm.c delete
	external/ibm-public/postfix/dist/src/global/mkmap_fail.c delete
	external/ibm-public/postfix/dist/src/global/mkmap_lmdb.c delete
	external/ibm-public/postfix/dist/src/global/mkmap_open.c delete
	external/ibm-public/postfix/dist/src/global/mkmap_sdbm.c delete
	external/ibm-public/postfix/dist/src/smtp/map11_map delete
	external/ibm-public/postfix/dist/src/tls/tls_proxy_print.c delete
	external/ibm-public/postfix/dist/src/tls/tls_proxy_scan.c delete
	external/ibm-public/postfix/dist/src/util/percentm.c delete
	external/ibm-public/postfix/dist/src/util/percentm.h delete
	external/ibm-public/postfix/Makefile.inc        up to 1.31 (+patch)
	external/ibm-public/postfix/dist/AAAREADME      up to 1.1.1.4
	external/ibm-public/postfix/dist/HISTORY        up to 1.1.1.29
	external/ibm-public/postfix/dist/INSTALL        up to 1.1.1.9
	external/ibm-public/postfix/dist/LICENSE        up to 1.1.1.2
	external/ibm-public/postfix/dist/Makefile       up to 1.1.1.3
	external/ibm-public/postfix/dist/Makefile.in    up to 1.1.1.10
	external/ibm-public/postfix/dist/Makefile.init  up to 1.1.1.3
	external/ibm-public/postfix/dist/RELEASE_NOTES  up to 1.1.1.17
	external/ibm-public/postfix/dist/TLS_ACKNOWLEDGEMENTS up to 1.1.1.2
	external/ibm-public/postfix/dist/TLS_CHANGES    up to 1.1.1.2
	external/ibm-public/postfix/dist/TLS_LICENSE    up to 1.1.1.2
	external/ibm-public/postfix/dist/US_PATENT_6321267 up to 1.1.1.2
	external/ibm-public/postfix/dist/makedefs       up to 1.16
	external/ibm-public/postfix/dist/postfix-env.sh up to 1.1.1.2
	external/ibm-public/postfix/dist/postfix-install up to 1.8
	external/ibm-public/postfix/dist/README_FILES/AAAREADME up to 1.1.1.6
	external/ibm-public/postfix/dist/README_FILES/ADDRESS_CLASS_README up to 1.1.1.2
	external/ibm-public/postfix/dist/README_FILES/ADDRESS_REWRITING_README up to 1.1.1.5
	external/ibm-public/postfix/dist/README_FILES/ADDRESS_VERIFICATION_README up to 1.10
	external/ibm-public/postfix/dist/README_FILES/BACKSCATTER_README up to 1.1.1.5
	external/ibm-public/postfix/dist/README_FILES/BASIC_CONFIGURATION_README up to 1.1.1.6
	external/ibm-public/postfix/dist/README_FILES/BUILTIN_FILTER_README up to 1.1.1.3
	external/ibm-public/postfix/dist/README_FILES/COMPATIBILITY_README up to 1.1.1.3
	external/ibm-public/postfix/dist/README_FILES/CONNECTION_CACHE_README up to 1.1.1.5
	external/ibm-public/postfix/dist/README_FILES/DATABASE_README up to 1.1.1.9
	external/ibm-public/postfix/dist/README_FILES/DB_README up to 1.1.1.3
	external/ibm-public/postfix/dist/README_FILES/DEBUG_README up to 1.1.1.5
	external/ibm-public/postfix/dist/README_FILES/FILTER_README up to 1.1.1.4
	external/ibm-public/postfix/dist/README_FILES/FORWARD_SECRECY_README up to 1.1.1.5
	external/ibm-public/postfix/dist/README_FILES/INSTALL up to 1.10
	external/ibm-public/postfix/dist/README_FILES/IPV6_README up to 1.1.1.4
	external/ibm-public/postfix/dist/README_FILES/LDAP_README up to 1.1.1.4
	external/ibm-public/postfix/dist/README_FILES/LINUX_README up to 1.1.1.3
	external/ibm-public/postfix/dist/README_FILES/LMDB_README up to 1.1.1.3
	external/ibm-public/postfix/dist/README_FILES/MILTER_README up to 1.1.1.9
	external/ibm-public/postfix/dist/README_FILES/MULTI_INSTANCE_README up to 1.1.1.7
	external/ibm-public/postfix/dist/README_FILES/MYSQL_README up to 1.1.1.5
	external/ibm-public/postfix/dist/README_FILES/OVERVIEW up to 1.1.1.5
	external/ibm-public/postfix/dist/README_FILES/PCRE_README up to 1.1.1.3
	external/ibm-public/postfix/dist/README_FILES/PGSQL_README up to 1.1.1.4
	external/ibm-public/postfix/dist/README_FILES/POSTSCREEN_README up to 1.1.1.7
	external/ibm-public/postfix/dist/README_FILES/QSHAPE_README up to 1.1.1.4
	external/ibm-public/postfix/dist/README_FILES/RELEASE_NOTES up to 1.1.1.17
	external/ibm-public/postfix/dist/README_FILES/SASL_README up to 1.1.1.11
	external/ibm-public/postfix/dist/README_FILES/SCHEDULER_README up to 1.1.1.4
	external/ibm-public/postfix/dist/README_FILES/SMTPD_ACCESS_README up to 1.1.1.6
	external/ibm-public/postfix/dist/README_FILES/SMTPD_POLICY_README up to 1.1.1.7
	external/ibm-public/postfix/dist/README_FILES/SMTPD_PROXY_README up to 1.1.1.6
	external/ibm-public/postfix/dist/README_FILES/SMTPUTF8_README up to 1.1.1.3
	external/ibm-public/postfix/dist/README_FILES/SOHO_README up to 1.1.1.4
	external/ibm-public/postfix/dist/README_FILES/SQLITE_README up to 1.1.1.4
	external/ibm-public/postfix/dist/README_FILES/STANDARD_CONFIGURATION_README up to 1.1.1.6
	external/ibm-public/postfix/dist/README_FILES/STRESS_README up to 1.1.1.6
	external/ibm-public/postfix/dist/README_FILES/TLS_LEGACY_README up to 1.1.1.3
	external/ibm-public/postfix/dist/README_FILES/TLS_README up to 1.14
	external/ibm-public/postfix/dist/README_FILES/TUNING_README up to 1.1.1.5
	external/ibm-public/postfix/dist/README_FILES/VIRTUAL_README up to 1.1.1.3
	external/ibm-public/postfix/dist/README_FILES/XCLIENT_README up to 1.1.1.4
	external/ibm-public/postfix/dist/conf/LICENSE   up to 1.1.1.2
	external/ibm-public/postfix/dist/conf/TLS_LICENSE up to 1.1.1.2
	external/ibm-public/postfix/dist/conf/access    up to 1.1.1.8
	external/ibm-public/postfix/dist/conf/aliases   up to 1.1.1.5
	external/ibm-public/postfix/dist/conf/canonical up to 1.1.1.5
	external/ibm-public/postfix/dist/conf/generic   up to 1.1.1.4
	external/ibm-public/postfix/dist/conf/header_checks up to 1.1.1.6
	external/ibm-public/postfix/dist/conf/main.cf   up to 1.10
	external/ibm-public/postfix/dist/conf/master.cf up to 1.11
	external/ibm-public/postfix/dist/conf/post-install up to 1.4
	external/ibm-public/postfix/dist/conf/postfix-files up to 1.9
	external/ibm-public/postfix/dist/conf/postfix-script up to 1.4
	external/ibm-public/postfix/dist/conf/postfix-tls-script up to 1.5
	external/ibm-public/postfix/dist/conf/postmulti-script up to 1.3
	external/ibm-public/postfix/dist/conf/relocated up to 1.1.1.3
	external/ibm-public/postfix/dist/conf/transport up to 1.1.1.5
	external/ibm-public/postfix/dist/conf/virtual   up to 1.1.1.6
	external/ibm-public/postfix/dist/html/ADDRESS_CLASS_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/ADDRESS_REWRITING_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/ADDRESS_VERIFICATION_README.html up to 1.11
	external/ibm-public/postfix/dist/html/BACKSCATTER_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/BASIC_CONFIGURATION_README.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/BUILTIN_FILTER_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/CDB_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/COMPATIBILITY_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/CONNECTION_CACHE_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/CONTENT_INSPECTION_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/DATABASE_README.html up to 1.1.1.10
	external/ibm-public/postfix/dist/html/DB_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/DEBUG_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/DSN_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/ETRN_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/FILTER_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/FORWARD_SECRECY_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/INSTALL.html up to 1.10
	external/ibm-public/postfix/dist/html/IPV6_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/LDAP_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/LINUX_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/LMDB_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/LOCAL_RECIPIENT_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/MAILDROP_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/MEMCACHE_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/MILTER_README.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/MULTI_INSTANCE_README.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/MYSQL_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/Makefile.in up to 1.1.1.7
	external/ibm-public/postfix/dist/html/NFS_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/OVERVIEW.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/PACKAGE_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/PCRE_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/PGSQL_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/POSTSCREEN_README.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/QSHAPE_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/RESTRICTION_CLASS_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/SASL_README.html up to 1.1.1.11
	external/ibm-public/postfix/dist/html/SCHEDULER_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/SMTPD_ACCESS_README.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/SMTPD_POLICY_README.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/SMTPD_PROXY_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/SMTPUTF8_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/SOHO_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/SQLITE_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/STANDARD_CONFIGURATION_README.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/STRESS_README.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/TLS_LEGACY_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/TLS_README.html up to 1.15
	external/ibm-public/postfix/dist/html/TUNING_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/UUCP_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/VERP_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/VIRTUAL_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/XCLIENT_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/XFORWARD_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/access.5.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/aliases.5.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/anvil.8.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/bounce.5.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/bounce.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/canonical.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/cidr_table.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/cleanup.8.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/defer.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/discard.8.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/dnsblog.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/error.8.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/flush.8.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/generic.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/header_checks.5.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/index.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/ldap_table.5.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/lmdb_table.5.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/lmtp.8.html up to 1.1.1.12
	external/ibm-public/postfix/dist/html/local.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/mailq.1.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/master.5.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/master.8.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/memcache_table.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/mysql_table.5.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/newaliases.1.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/nisplus_table.5.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/oqmgr.8.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/pcre_table.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/pgsql_table.5.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/pickup.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/pipe.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/postalias.1.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/postcat.1.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/postconf.1.html up to 1.1.1.11
	external/ibm-public/postfix/dist/html/postconf.5.html up to 1.19
	external/ibm-public/postfix/dist/html/postdrop.1.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/postfix-manuals.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/postfix-tls.1.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/postfix-wrapper.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/postfix.1.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/postkick.1.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/postlock.1.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/postlog.1.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/postmap.1.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/postmulti.1.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/postqueue.1.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/postscreen.8.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/postsuper.1.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/posttls-finger.1.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/proxymap.8.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/qmgr.8.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/qmqp-sink.1.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/qmqp-source.1.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/qmqpd.8.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/qshape.1.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/regexp_table.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/relocated.5.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/scache.8.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/sendmail.1.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/showq.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/smtp-sink.1.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/smtp-source.1.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/smtp.8.html up to 1.1.1.12
	external/ibm-public/postfix/dist/html/smtpd.8.html up to 1.1.1.13
	external/ibm-public/postfix/dist/html/socketmap_table.5.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/spawn.8.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/sqlite_table.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/tcp_table.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/tlsmgr.8.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/tlsproxy.8.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/trace.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/transport.5.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/trivial-rewrite.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/verify.8.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/virtual.5.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/virtual.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/man/Makefile.in up to 1.1.1.7
	external/ibm-public/postfix/dist/man/man1/postalias.1 up to 1.4
	external/ibm-public/postfix/dist/man/man1/postcat.1 up to 1.4
	external/ibm-public/postfix/dist/man/man1/postconf.1 up to 1.4
	external/ibm-public/postfix/dist/man/man1/postdrop.1 up to 1.4
	external/ibm-public/postfix/dist/man/man1/postfix-tls.1 up to 1.3
	external/ibm-public/postfix/dist/man/man1/postfix.1 up to 1.6
	external/ibm-public/postfix/dist/man/man1/postkick.1 up to 1.3
	external/ibm-public/postfix/dist/man/man1/postlock.1 up to 1.3
	external/ibm-public/postfix/dist/man/man1/postlog.1 up to 1.5
	external/ibm-public/postfix/dist/man/man1/postmap.1 up to 1.4
	external/ibm-public/postfix/dist/man/man1/postmulti.1 up to 1.4
	external/ibm-public/postfix/dist/man/man1/postqueue.1 up to 1.5
	external/ibm-public/postfix/dist/man/man1/postsuper.1 up to 1.4
	external/ibm-public/postfix/dist/man/man1/posttls-finger.1 up to 1.5
	external/ibm-public/postfix/dist/man/man1/sendmail.1 up to 1.4
	external/ibm-public/postfix/dist/man/man1/smtp-sink.1 up to 1.3
	external/ibm-public/postfix/dist/man/man5/access.5 up to 1.4
	external/ibm-public/postfix/dist/man/man5/aliases.5 up to 1.5
	external/ibm-public/postfix/dist/man/man5/canonical.5 up to 1.4
	external/ibm-public/postfix/dist/man/man5/cidr_table.5 up to 1.5
	external/ibm-public/postfix/dist/man/man5/generic.5 up to 1.4
	external/ibm-public/postfix/dist/man/man5/header_checks.5 up to 1.3
	external/ibm-public/postfix/dist/man/man5/ldap_table.5 up to 1.5
	external/ibm-public/postfix/dist/man/man5/lmdb_table.5 up to 1.3
	external/ibm-public/postfix/dist/man/man5/master.5 up to 1.4
	external/ibm-public/postfix/dist/man/man5/mysql_table.5 up to 1.5
	external/ibm-public/postfix/dist/man/man5/pcre_table.5 up to 1.4
	external/ibm-public/postfix/dist/man/man5/pgsql_table.5 up to 1.5
	external/ibm-public/postfix/dist/man/man5/postconf.5 up to 1.19
	external/ibm-public/postfix/dist/man/man5/regexp_table.5 up to 1.4
	external/ibm-public/postfix/dist/man/man5/relocated.5 up to 1.3
	external/ibm-public/postfix/dist/man/man5/socketmap_table.5 up to 1.3
	external/ibm-public/postfix/dist/man/man5/sqlite_table.5 up to 1.4
	external/ibm-public/postfix/dist/man/man5/tcp_table.5 up to 1.3
	external/ibm-public/postfix/dist/man/man5/transport.5 up to 1.4
	external/ibm-public/postfix/dist/man/man5/virtual.5 up to 1.5
	external/ibm-public/postfix/dist/man/man8/anvil.8 up to 1.3
	external/ibm-public/postfix/dist/man/man8/bounce.8 up to 1.4
	external/ibm-public/postfix/dist/man/man8/cleanup.8 up to 1.4
	external/ibm-public/postfix/dist/man/man8/discard.8 up to 1.3
	external/ibm-public/postfix/dist/man/man8/dnsblog.8 up to 1.4
	external/ibm-public/postfix/dist/man/man8/error.8 up to 1.3
	external/ibm-public/postfix/dist/man/man8/flush.8 up to 1.3
	external/ibm-public/postfix/dist/man/man8/local.8 up to 1.4
	external/ibm-public/postfix/dist/man/man8/master.8 up to 1.4
	external/ibm-public/postfix/dist/man/man8/oqmgr.8 up to 1.3
	external/ibm-public/postfix/dist/man/man8/pickup.8 up to 1.3
	external/ibm-public/postfix/dist/man/man8/pipe.8 up to 1.4
	external/ibm-public/postfix/dist/man/man8/postscreen.8 up to 1.5
	external/ibm-public/postfix/dist/man/man8/proxymap.8 up to 1.3
	external/ibm-public/postfix/dist/man/man8/qmgr.8 up to 1.3
	external/ibm-public/postfix/dist/man/man8/qmqpd.8 up to 1.4
	external/ibm-public/postfix/dist/man/man8/scache.8 up to 1.3
	external/ibm-public/postfix/dist/man/man8/showq.8 up to 1.3
	external/ibm-public/postfix/dist/man/man8/smtp.8 up to 1.5
	external/ibm-public/postfix/dist/man/man8/smtpd.8 up to 1.5
	external/ibm-public/postfix/dist/man/man8/spawn.8 up to 1.4
	external/ibm-public/postfix/dist/man/man8/tlsmgr.8 up to 1.3
	external/ibm-public/postfix/dist/man/man8/tlsproxy.8 up to 1.5
	external/ibm-public/postfix/dist/man/man8/trivial-rewrite.8 up to 1.4
	external/ibm-public/postfix/dist/man/man8/verify.8 up to 1.4
	external/ibm-public/postfix/dist/man/man8/virtual.8 up to 1.4
	external/ibm-public/postfix/dist/mantools/ccformat up to 1.1.1.3
	external/ibm-public/postfix/dist/mantools/check-postlink up to 1.1.1.3
	external/ibm-public/postfix/dist/mantools/fixman up to 1.1.1.3
	external/ibm-public/postfix/dist/mantools/make-relnotes up to 1.1.1.3
	external/ibm-public/postfix/dist/mantools/make_soho_readme up to 1.1.1.4
	external/ibm-public/postfix/dist/mantools/makemanidx up to 1.1.1.4
	external/ibm-public/postfix/dist/mantools/man2html up to 1.1.1.5
	external/ibm-public/postfix/dist/mantools/manlint up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/manspell up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/postconf2man up to 1.1.1.5
	external/ibm-public/postfix/dist/mantools/postlink up to 1.1.1.13
	external/ibm-public/postfix/dist/mantools/readme2html up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/spell up to 1.1.1.3
	external/ibm-public/postfix/dist/mantools/srctoman up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/ADDRESS_CLASS_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/ADDRESS_REWRITING_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/ADDRESS_VERIFICATION_README.html up to 1.11
	external/ibm-public/postfix/dist/proto/BACKSCATTER_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/BASIC_CONFIGURATION_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/BUILTIN_FILTER_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/CDB_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/COMPATIBILITY_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/CONNECTION_CACHE_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/CONTENT_INSPECTION_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/DATABASE_README.html up to 1.1.1.10
	external/ibm-public/postfix/dist/proto/DB_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/DEBUG_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/DSN_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/ETRN_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/FILTER_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/FORWARD_SECRECY_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/INSTALL.html up to 1.10
	external/ibm-public/postfix/dist/proto/IPV6_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/LDAP_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/LINUX_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/LMDB_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/LOCAL_RECIPIENT_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/MAILDROP_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/MEMCACHE_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/MILTER_README.html up to 1.1.1.9
	external/ibm-public/postfix/dist/proto/MULTI_INSTANCE_README.html up to 1.1.1.8
	external/ibm-public/postfix/dist/proto/MYSQL_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/Makefile.in up to 1.1.1.7
	external/ibm-public/postfix/dist/proto/NFS_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/OVERVIEW.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/PACKAGE_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/PCRE_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/PGSQL_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/POSTSCREEN_README.html up to 1.1.1.8
	external/ibm-public/postfix/dist/proto/QSHAPE_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/RESTRICTION_CLASS_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/SASL_README.html up to 1.1.1.11
	external/ibm-public/postfix/dist/proto/SCHEDULER_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/SMTPD_ACCESS_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/SMTPD_POLICY_README.html up to 1.1.1.7
	external/ibm-public/postfix/dist/proto/SMTPD_PROXY_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/SMTPUTF8_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/SQLITE_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/STANDARD_CONFIGURATION_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/STRESS_README.html up to 1.1.1.7
	external/ibm-public/postfix/dist/proto/TLS_LEGACY_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/TLS_README.html up to 1.14
	external/ibm-public/postfix/dist/proto/TUNING_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/UUCP_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/VERP_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/VIRTUAL_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/XCLIENT_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/XFORWARD_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/access   up to 1.1.1.8
	external/ibm-public/postfix/dist/proto/aliases  up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/canonical up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/cidr_table up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/generic  up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/header_checks up to 1.1.1.7
	external/ibm-public/postfix/dist/proto/ldap_table up to 1.1.1.7
	external/ibm-public/postfix/dist/proto/lmdb_table up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/master   up to 1.1.1.8
	external/ibm-public/postfix/dist/proto/mysql_table up to 1.1.1.8
	external/ibm-public/postfix/dist/proto/pcre_table up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/pgsql_table up to 1.1.1.8
	external/ibm-public/postfix/dist/proto/postconf.html.prolog up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/postconf.man.prolog up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/postconf.proto up to 1.19
	external/ibm-public/postfix/dist/proto/regexp_table up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/relocated up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/socketmap_table up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/sqlite_table up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/stop     up to 1.1.1.7
	external/ibm-public/postfix/dist/proto/tcp_table up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/transport up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/virtual  up to 1.1.1.6
	external/ibm-public/postfix/dist/src/anvil/Makefile.in up to 1.1.1.3
	external/ibm-public/postfix/dist/src/anvil/anvil.c up to 1.4
	external/ibm-public/postfix/dist/src/bounce/2template_test.in up to 1.1.1.2
	external/ibm-public/postfix/dist/src/bounce/Makefile.in up to 1.1.1.5
	external/ibm-public/postfix/dist/src/bounce/bounce.c up to 1.4
	external/ibm-public/postfix/dist/src/bounce/bounce_notify_util.c up to 1.4
	external/ibm-public/postfix/dist/src/bounce/bounce_service.h up to 1.3
	external/ibm-public/postfix/dist/src/bounce/bounce_template.c up to 1.4
	external/ibm-public/postfix/dist/src/bounce/bounce_template.h up to 1.3
	external/ibm-public/postfix/dist/src/bounce/bounce_templates.c up to 1.3
	external/ibm-public/postfix/dist/src/bounce/template_test.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/cleanup/Makefile.in up to 1.1.1.9
	external/ibm-public/postfix/dist/src/cleanup/cleanup.c up to 1.8
	external/ibm-public/postfix/dist/src/cleanup/cleanup.h up to 1.10
	external/ibm-public/postfix/dist/src/cleanup/cleanup_addr.c up to 1.3
	external/ibm-public/postfix/dist/src/cleanup/cleanup_api.c up to 1.4
	external/ibm-public/postfix/dist/src/cleanup/cleanup_body_edit.c up to 1.3
	external/ibm-public/postfix/dist/src/cleanup/cleanup_envelope.c up to 1.5
	external/ibm-public/postfix/dist/src/cleanup/cleanup_init.c up to 1.7
	external/ibm-public/postfix/dist/src/cleanup/cleanup_map11.c up to 1.3
	external/ibm-public/postfix/dist/src/cleanup/cleanup_map1n.c up to 1.4
	external/ibm-public/postfix/dist/src/cleanup/cleanup_message.c up to 1.4
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.c up to 1.5
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref13c up to 1.1.1.2
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.ref13d up to 1.1.1.2
	external/ibm-public/postfix/dist/src/cleanup/cleanup_out.c up to 1.3
	external/ibm-public/postfix/dist/src/cleanup/cleanup_out_recipient.c up to 1.4
	external/ibm-public/postfix/dist/src/cleanup/cleanup_region.c up to 1.3
	external/ibm-public/postfix/dist/src/cleanup/cleanup_state.c up to 1.4
	external/ibm-public/postfix/dist/src/discard/Makefile.in up to 1.1.1.3
	external/ibm-public/postfix/dist/src/discard/discard.c up to 1.3
	external/ibm-public/postfix/dist/src/dns/Makefile.in up to 1.1.1.5
	external/ibm-public/postfix/dist/src/dns/dns.h  up to 1.6
	external/ibm-public/postfix/dist/src/dns/dns_lookup.c up to 1.8
	external/ibm-public/postfix/dist/src/dns/dns_rr.c up to 1.3
	external/ibm-public/postfix/dist/src/dns/dns_rr_eq_sa.c up to 1.3
	external/ibm-public/postfix/dist/src/dns/dns_rr_eq_sa.in up to 1.1.1.3
	external/ibm-public/postfix/dist/src/dns/dns_rr_eq_sa.ref up to 1.1.1.5
	external/ibm-public/postfix/dist/src/dns/dns_rr_to_pa.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/dns/dns_rr_to_sa.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/dns/dns_sa_to_rr.c up to 1.3
	external/ibm-public/postfix/dist/src/dns/dns_sa_to_rr.ref up to 1.1.1.5
	external/ibm-public/postfix/dist/src/dns/dns_strrecord.c up to 1.3
	external/ibm-public/postfix/dist/src/dns/dns_strtype.c up to 1.2
	external/ibm-public/postfix/dist/src/dns/dnsbl_ttl_127.0.0.1_bind_ncache.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/dns/dnsbl_ttl_127.0.0.1_bind_plain.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/dns/dnsbl_ttl_127.0.0.2_bind_plain.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/dns/error.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/dns/mxonly_test.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/dns/no-a.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/dns/no-aaaa.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/dns/no-mx.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/dns/nullmx_test.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/dns/nxdomain_test.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/dns/test_dns_lookup.c up to 1.3
	external/ibm-public/postfix/dist/src/dnsblog/Makefile.in up to 1.1.1.3
	external/ibm-public/postfix/dist/src/dnsblog/dnsblog.c up to 1.4
	external/ibm-public/postfix/dist/src/error/Makefile.in up to 1.1.1.3
	external/ibm-public/postfix/dist/src/error/error.c up to 1.3
	external/ibm-public/postfix/dist/src/flush/Makefile.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/flush/flush.c up to 1.4
	external/ibm-public/postfix/dist/src/fsstone/Makefile.in up to 1.1.1.3
	external/ibm-public/postfix/dist/src/global/Makefile.in up to 1.1.1.10
	external/ibm-public/postfix/dist/src/global/abounce.c up to 1.3
	external/ibm-public/postfix/dist/src/global/anvil_clnt.c up to 1.4
	external/ibm-public/postfix/dist/src/global/anvil_clnt.h up to 1.3
	external/ibm-public/postfix/dist/src/global/been_here.c up to 1.4
	external/ibm-public/postfix/dist/src/global/been_here.h up to 1.3
	external/ibm-public/postfix/dist/src/global/bounce.c up to 1.3
	external/ibm-public/postfix/dist/src/global/bounce_log.c up to 1.3
	external/ibm-public/postfix/dist/src/global/cleanup_strerror.c up to 1.2
	external/ibm-public/postfix/dist/src/global/cleanup_user.h up to 1.3
	external/ibm-public/postfix/dist/src/global/clnt_stream.c up to 1.4
	external/ibm-public/postfix/dist/src/global/clnt_stream.h up to 1.2
	external/ibm-public/postfix/dist/src/global/db_common.c up to 1.3
	external/ibm-public/postfix/dist/src/global/debug_peer.c up to 1.3
	external/ibm-public/postfix/dist/src/global/defer.c up to 1.3
	external/ibm-public/postfix/dist/src/global/deliver_pass.c up to 1.3
	external/ibm-public/postfix/dist/src/global/deliver_request.c up to 1.3
	external/ibm-public/postfix/dist/src/global/deliver_request.h up to 1.3
	external/ibm-public/postfix/dist/src/global/delivered_hdr.c up to 1.3
	external/ibm-public/postfix/dist/src/global/dict_ldap.c up to 1.5
	external/ibm-public/postfix/dist/src/global/dict_memcache.c up to 1.3
	external/ibm-public/postfix/dist/src/global/dict_mysql.c up to 1.4
	external/ibm-public/postfix/dist/src/global/dict_pgsql.c up to 1.4
	external/ibm-public/postfix/dist/src/global/dict_proxy.c up to 1.3
	external/ibm-public/postfix/dist/src/global/dict_proxy.h up to 1.3
	external/ibm-public/postfix/dist/src/global/dict_sqlite.c up to 1.4
	external/ibm-public/postfix/dist/src/global/dsb_scan.c up to 1.3
	external/ibm-public/postfix/dist/src/global/dsb_scan.h up to 1.2
	external/ibm-public/postfix/dist/src/global/dsn_print.c up to 1.3
	external/ibm-public/postfix/dist/src/global/dsn_print.h up to 1.2
	external/ibm-public/postfix/dist/src/global/dynamicmaps.c up to 1.4
	external/ibm-public/postfix/dist/src/global/ehlo_mask.c up to 1.3
	external/ibm-public/postfix/dist/src/global/ehlo_mask.h up to 1.3
	external/ibm-public/postfix/dist/src/global/flush_clnt.c up to 1.3
	external/ibm-public/postfix/dist/src/global/haproxy_srvr.c up to 1.3
	external/ibm-public/postfix/dist/src/global/haproxy_srvr.h up to 1.2
	external/ibm-public/postfix/dist/src/global/header_body_checks.c up to 1.3
	external/ibm-public/postfix/dist/src/global/header_body_checks.h up to 1.3
	external/ibm-public/postfix/dist/src/global/log_adhoc.c up to 1.3
	external/ibm-public/postfix/dist/src/global/mail_addr_crunch.c up to 1.3
	external/ibm-public/postfix/dist/src/global/mail_addr_crunch.h up to 1.2
	external/ibm-public/postfix/dist/src/global/mail_addr_find.c up to 1.4
	external/ibm-public/postfix/dist/src/global/mail_addr_find.h up to 1.2
	external/ibm-public/postfix/dist/src/global/mail_addr_map.c up to 1.3
	external/ibm-public/postfix/dist/src/global/mail_addr_map.h up to 1.2
	external/ibm-public/postfix/dist/src/global/mail_command_client.c up to 1.4
	external/ibm-public/postfix/dist/src/global/mail_conf.c up to 1.3
	external/ibm-public/postfix/dist/src/global/mail_conf.h up to 1.3
	external/ibm-public/postfix/dist/src/global/mail_conf_int.c up to 1.3
	external/ibm-public/postfix/dist/src/global/mail_conf_long.c up to 1.2
	external/ibm-public/postfix/dist/src/global/mail_conf_nint.c up to 1.2
	external/ibm-public/postfix/dist/src/global/mail_conf_time.c up to 1.4
	external/ibm-public/postfix/dist/src/global/mail_copy.c up to 1.3
	external/ibm-public/postfix/dist/src/global/mail_dict.c up to 1.3
	external/ibm-public/postfix/dist/src/global/mail_error.c up to 1.2
	external/ibm-public/postfix/dist/src/global/mail_params.c up to 1.5
	external/ibm-public/postfix/dist/src/global/mail_params.h up to 1.19
	external/ibm-public/postfix/dist/src/global/mail_parm_split.c up to 1.3
	external/ibm-public/postfix/dist/src/global/mail_proto.h up to 1.5
	external/ibm-public/postfix/dist/src/global/mail_queue.h up to 1.3
	external/ibm-public/postfix/dist/src/global/mail_stream.c up to 1.3
	external/ibm-public/postfix/dist/src/global/mail_task.c up to 1.3
	external/ibm-public/postfix/dist/src/global/mail_version.h up to 1.6
	external/ibm-public/postfix/dist/src/global/maps.c up to 1.4
	external/ibm-public/postfix/dist/src/global/maps.h up to 1.2
	external/ibm-public/postfix/dist/src/global/maps.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/global/memcache_proto.c up to 1.3
	external/ibm-public/postfix/dist/src/global/mime_state.c up to 1.3
	external/ibm-public/postfix/dist/src/global/mkmap_proxy.c up to 1.2
	external/ibm-public/postfix/dist/src/global/msg_stats.h up to 1.2
	external/ibm-public/postfix/dist/src/global/msg_stats_print.c up to 1.3
	external/ibm-public/postfix/dist/src/global/msg_stats_scan.c up to 1.3
	external/ibm-public/postfix/dist/src/global/namadr_list.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/global/namadr_list.ref up to 1.1.1.5
	external/ibm-public/postfix/dist/src/global/off_cvt.c up to 1.2
	external/ibm-public/postfix/dist/src/global/opened.c up to 1.2
	external/ibm-public/postfix/dist/src/global/post_mail.c up to 1.4
	external/ibm-public/postfix/dist/src/global/post_mail.h up to 1.3
	external/ibm-public/postfix/dist/src/global/quote_822_local.c up to 1.3
	external/ibm-public/postfix/dist/src/global/quote_822_local.h up to 1.2
	external/ibm-public/postfix/dist/src/global/quote_flags.h up to 1.2
	external/ibm-public/postfix/dist/src/global/rcpt_buf.c up to 1.4
	external/ibm-public/postfix/dist/src/global/rcpt_buf.h up to 1.2
	external/ibm-public/postfix/dist/src/global/rcpt_print.c up to 1.3
	external/ibm-public/postfix/dist/src/global/rcpt_print.h up to 1.2
	external/ibm-public/postfix/dist/src/global/rec_type.h up to 1.3
	external/ibm-public/postfix/dist/src/global/record.c up to 1.4
	external/ibm-public/postfix/dist/src/global/resolve_clnt.c up to 1.4
	external/ibm-public/postfix/dist/src/global/resolve_clnt.h up to 1.2
	external/ibm-public/postfix/dist/src/global/rewrite_clnt.c up to 1.3
	external/ibm-public/postfix/dist/src/global/scache.h up to 1.3
	external/ibm-public/postfix/dist/src/global/scache_clnt.c up to 1.3
	external/ibm-public/postfix/dist/src/global/sent.c up to 1.3
	external/ibm-public/postfix/dist/src/global/server_acl.c up to 1.3
	external/ibm-public/postfix/dist/src/global/server_acl.in up to 1.1.1.2
	external/ibm-public/postfix/dist/src/global/server_acl.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/global/smtp_reply_footer.c up to 1.3
	external/ibm-public/postfix/dist/src/global/smtp_stream.c up to 1.5
	external/ibm-public/postfix/dist/src/global/smtp_stream.h up to 1.4
	external/ibm-public/postfix/dist/src/global/smtputf8.h up to 1.3
	external/ibm-public/postfix/dist/src/global/split_addr.c up to 1.3
	external/ibm-public/postfix/dist/src/global/split_addr.h up to 1.2
	external/ibm-public/postfix/dist/src/global/strip_addr.c up to 1.4
	external/ibm-public/postfix/dist/src/global/strip_addr.h up to 1.2
	external/ibm-public/postfix/dist/src/global/strip_addr.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/global/trace.c up to 1.3
	external/ibm-public/postfix/dist/src/global/uxtext.c up to 1.3
	external/ibm-public/postfix/dist/src/global/verify.c up to 1.4
	external/ibm-public/postfix/dist/src/global/verify_clnt.c up to 1.3
	external/ibm-public/postfix/dist/src/global/verify_sender_addr.c up to 1.4
	external/ibm-public/postfix/dist/src/global/xtext.c up to 1.3
	external/ibm-public/postfix/dist/src/local/Makefile.in up to 1.1.1.8
	external/ibm-public/postfix/dist/src/local/alias.c up to 1.3
	external/ibm-public/postfix/dist/src/local/forward.c up to 1.4
	external/ibm-public/postfix/dist/src/local/local.c up to 1.4
	external/ibm-public/postfix/dist/src/local/local_expand.c up to 1.3
	external/ibm-public/postfix/dist/src/local/mailbox.c up to 1.4
	external/ibm-public/postfix/dist/src/local/unknown.c up to 1.8
	external/ibm-public/postfix/dist/src/master/Makefile.in up to 1.1.1.7
	external/ibm-public/postfix/dist/src/master/event_server.c up to 1.4
	external/ibm-public/postfix/dist/src/master/mail_server.h up to 1.4
	external/ibm-public/postfix/dist/src/master/master.c up to 1.4
	external/ibm-public/postfix/dist/src/master/master.h up to 1.2
	external/ibm-public/postfix/dist/src/master/master_conf.c up to 1.2
	external/ibm-public/postfix/dist/src/master/master_ent.c up to 1.4
	external/ibm-public/postfix/dist/src/master/master_listen.c up to 1.2
	external/ibm-public/postfix/dist/src/master/master_monitor.c up to 1.3
	external/ibm-public/postfix/dist/src/master/master_proto.h up to 1.2
	external/ibm-public/postfix/dist/src/master/master_sig.c up to 1.3
	external/ibm-public/postfix/dist/src/master/master_spawn.c up to 1.3
	external/ibm-public/postfix/dist/src/master/master_vars.c up to 1.3
	external/ibm-public/postfix/dist/src/master/master_wakeup.c up to 1.3
	external/ibm-public/postfix/dist/src/master/multi_server.c up to 1.4
	external/ibm-public/postfix/dist/src/master/single_server.c up to 1.4
	external/ibm-public/postfix/dist/src/master/trigger_server.c up to 1.4
	external/ibm-public/postfix/dist/src/milter/Makefile.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/milter/milter.c up to 1.5
	external/ibm-public/postfix/dist/src/milter/milter.h up to 1.4
	external/ibm-public/postfix/dist/src/milter/milter8.c up to 1.5
	external/ibm-public/postfix/dist/src/milter/milter_macros.c up to 1.3
	external/ibm-public/postfix/dist/src/milter/test-milter.c up to 1.3
	external/ibm-public/postfix/dist/src/oqmgr/Makefile.in up to 1.1.1.5
	external/ibm-public/postfix/dist/src/oqmgr/qmgr.c up to 1.3
	external/ibm-public/postfix/dist/src/oqmgr/qmgr.h up to 1.3
	external/ibm-public/postfix/dist/src/oqmgr/qmgr_active.c up to 1.3
	external/ibm-public/postfix/dist/src/oqmgr/qmgr_deliver.c up to 1.3
	external/ibm-public/postfix/dist/src/oqmgr/qmgr_entry.c up to 1.3
	external/ibm-public/postfix/dist/src/oqmgr/qmgr_error.c up to 1.2
	external/ibm-public/postfix/dist/src/oqmgr/qmgr_feedback.c up to 1.2
	external/ibm-public/postfix/dist/src/oqmgr/qmgr_message.c up to 1.4
	external/ibm-public/postfix/dist/src/pickup/Makefile.in up to 1.1.1.3
	external/ibm-public/postfix/dist/src/pickup/pickup.c up to 1.4
	external/ibm-public/postfix/dist/src/pipe/Makefile.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/pipe/pipe.c up to 1.4
	external/ibm-public/postfix/dist/src/postalias/Makefile.in up to 1.1.1.6
	external/ibm-public/postfix/dist/src/postalias/fail_test.in up to 1.1.1.2
	external/ibm-public/postfix/dist/src/postalias/fail_test.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/postalias/postalias.c up to 1.5
	external/ibm-public/postfix/dist/src/postcat/Makefile.in up to 1.1.1.5
	external/ibm-public/postfix/dist/src/postcat/postcat.c up to 1.4
	external/ibm-public/postfix/dist/src/postconf/Makefile.in up to 1.1.1.11
	external/ibm-public/postfix/dist/src/postconf/extract.awk up to 1.1.1.6
	external/ibm-public/postfix/dist/src/postconf/install_vars.h up to 1.2
	external/ibm-public/postfix/dist/src/postconf/postconf.c up to 1.4
	external/ibm-public/postfix/dist/src/postconf/postconf.h up to 1.4
	external/ibm-public/postfix/dist/src/postconf/postconf_builtin.c up to 1.4
	external/ibm-public/postfix/dist/src/postconf/postconf_dbms.c up to 1.5
	external/ibm-public/postfix/dist/src/postconf/postconf_edit.c up to 1.3
	external/ibm-public/postfix/dist/src/postconf/postconf_lookup.c up to 1.4
	external/ibm-public/postfix/dist/src/postconf/postconf_main.c up to 1.4
	external/ibm-public/postfix/dist/src/postconf/postconf_master.c up to 1.8
	external/ibm-public/postfix/dist/src/postconf/postconf_misc.c up to 1.3
	external/ibm-public/postfix/dist/src/postconf/postconf_user.c up to 1.4
	external/ibm-public/postfix/dist/src/postconf/test28.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/postconf/test29.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/postconf/test34.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/postconf/test35.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/postconf/test40.ref up to 1.1.1.4
	external/ibm-public/postfix/dist/src/postconf/test41.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/postconf/test42.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/postconf/test43.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/postconf/test44.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/postconf/test58.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/postconf/test59.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/postdrop/Makefile.in up to 1.1.1.5
	external/ibm-public/postfix/dist/src/postdrop/postdrop.c up to 1.4
	external/ibm-public/postfix/dist/src/postfix/Makefile.in up to 1.1.1.5
	external/ibm-public/postfix/dist/src/postfix/postfix.c up to 1.6
	external/ibm-public/postfix/dist/src/postkick/Makefile.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/postkick/postkick.c up to 1.4
	external/ibm-public/postfix/dist/src/postlock/Makefile.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/postlock/postlock.c up to 1.4
	external/ibm-public/postfix/dist/src/postlog/Makefile.in up to 1.1.1.5
	external/ibm-public/postfix/dist/src/postlog/postlog.c up to 1.5
	external/ibm-public/postfix/dist/src/postmap/Makefile.in up to 1.1.1.7
	external/ibm-public/postfix/dist/src/postmap/fail_test.in up to 1.1.1.2
	external/ibm-public/postfix/dist/src/postmap/fail_test.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/postmap/postmap.c up to 1.5
	external/ibm-public/postfix/dist/src/postmulti/Makefile.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/postmulti/postmulti.c up to 1.4
	external/ibm-public/postfix/dist/src/postqueue/Makefile.in up to 1.1.1.5
	external/ibm-public/postfix/dist/src/postqueue/postqueue.c up to 1.5
	external/ibm-public/postfix/dist/src/postqueue/showq_compat.c up to 1.4
	external/ibm-public/postfix/dist/src/postqueue/showq_json.c up to 1.4
	external/ibm-public/postfix/dist/src/postscreen/Makefile.in up to 1.1.1.7
	external/ibm-public/postfix/dist/src/postscreen/postscreen.c up to 1.5
	external/ibm-public/postfix/dist/src/postscreen/postscreen.h up to 1.4
	external/ibm-public/postfix/dist/src/postscreen/postscreen_dnsbl.c up to 1.4
	external/ibm-public/postfix/dist/src/postscreen/postscreen_early.c up to 1.4
	external/ibm-public/postfix/dist/src/postscreen/postscreen_endpt.c up to 1.4
	external/ibm-public/postfix/dist/src/postscreen/postscreen_haproxy.c up to 1.3
	external/ibm-public/postfix/dist/src/postscreen/postscreen_haproxy.h up to 1.2
	external/ibm-public/postfix/dist/src/postscreen/postscreen_misc.c up to 1.4
	external/ibm-public/postfix/dist/src/postscreen/postscreen_send.c up to 1.3
	external/ibm-public/postfix/dist/src/postscreen/postscreen_smtpd.c up to 1.5
	external/ibm-public/postfix/dist/src/postscreen/postscreen_starttls.c up to 1.4
	external/ibm-public/postfix/dist/src/postscreen/postscreen_state.c up to 1.4
	external/ibm-public/postfix/dist/src/postscreen/postscreen_tests.c up to 1.4
	external/ibm-public/postfix/dist/src/postsuper/Makefile.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/postsuper/postsuper.c up to 1.4
	external/ibm-public/postfix/dist/src/posttls-finger/Makefile.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/posttls-finger/posttls-finger.c up to 1.5
	external/ibm-public/postfix/dist/src/proxymap/Makefile.in up to 1.1.1.6
	external/ibm-public/postfix/dist/src/proxymap/proxymap.c up to 1.4
	external/ibm-public/postfix/dist/src/qmgr/Makefile.in up to 1.1.1.5
	external/ibm-public/postfix/dist/src/qmgr/qmgr.c up to 1.3
	external/ibm-public/postfix/dist/src/qmgr/qmgr.h up to 1.3
	external/ibm-public/postfix/dist/src/qmgr/qmgr_active.c up to 1.3
	external/ibm-public/postfix/dist/src/qmgr/qmgr_deliver.c up to 1.3
	external/ibm-public/postfix/dist/src/qmgr/qmgr_entry.c up to 1.3
	external/ibm-public/postfix/dist/src/qmgr/qmgr_error.c up to 1.2
	external/ibm-public/postfix/dist/src/qmgr/qmgr_feedback.c up to 1.2
	external/ibm-public/postfix/dist/src/qmgr/qmgr_message.c up to 1.4
	external/ibm-public/postfix/dist/src/qmqpd/Makefile.in up to 1.1.1.6
	external/ibm-public/postfix/dist/src/qmqpd/qmqpd.c up to 1.4
	external/ibm-public/postfix/dist/src/qmqpd/qmqpd_peer.c up to 1.3
	external/ibm-public/postfix/dist/src/scache/Makefile.in up to 1.1.1.3
	external/ibm-public/postfix/dist/src/scache/scache.c up to 1.4
	external/ibm-public/postfix/dist/src/sendmail/Makefile.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/sendmail/sendmail.c up to 1.4
	external/ibm-public/postfix/dist/src/showq/Makefile.in up to 1.1.1.3
	external/ibm-public/postfix/dist/src/showq/showq.c up to 1.5
	external/ibm-public/postfix/dist/src/smtp/Makefile.in up to 1.1.1.10
	external/ibm-public/postfix/dist/src/smtp/lmtp_params.c up to 1.5
	external/ibm-public/postfix/dist/src/smtp/smtp.c up to 1.13
	external/ibm-public/postfix/dist/src/smtp/smtp.h up to 1.5
	external/ibm-public/postfix/dist/src/smtp/smtp_addr.c up to 1.5
	external/ibm-public/postfix/dist/src/smtp/smtp_addr.h up to 1.3
	external/ibm-public/postfix/dist/src/smtp/smtp_chat.c up to 1.4
	external/ibm-public/postfix/dist/src/smtp/smtp_connect.c up to 1.5
	external/ibm-public/postfix/dist/src/smtp/smtp_key.c up to 1.3
	external/ibm-public/postfix/dist/src/smtp/smtp_map11.c up to 1.3
	external/ibm-public/postfix/dist/src/smtp/smtp_map11.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/smtp/smtp_params.c up to 1.5
	external/ibm-public/postfix/dist/src/smtp/smtp_proto.c up to 1.5
	external/ibm-public/postfix/dist/src/smtp/smtp_rcpt.c up to 1.3
	external/ibm-public/postfix/dist/src/smtp/smtp_reuse.c up to 1.4
	external/ibm-public/postfix/dist/src/smtp/smtp_sasl_auth_cache.c up to 1.3
	external/ibm-public/postfix/dist/src/smtp/smtp_sasl_glue.c up to 1.3
	external/ibm-public/postfix/dist/src/smtp/smtp_sasl_proto.c up to 1.3
	external/ibm-public/postfix/dist/src/smtp/smtp_session.c up to 1.5
	external/ibm-public/postfix/dist/src/smtp/smtp_state.c up to 1.3
	external/ibm-public/postfix/dist/src/smtp/smtp_tls_policy.c up to 1.4
	external/ibm-public/postfix/dist/src/smtp/smtp_trouble.c up to 1.3
	external/ibm-public/postfix/dist/src/smtpd/Makefile.in up to 1.1.1.11
	external/ibm-public/postfix/dist/src/smtpd/pfilter.c up to 1.2 (+patch)
	external/ibm-public/postfix/dist/src/smtpd/smtpd.c up to 1.20
	external/ibm-public/postfix/dist/src/smtpd/smtpd.h up to 1.5
	external/ibm-public/postfix/dist/src/smtpd/smtpd_acl.in up to 1.1.1.2
	external/ibm-public/postfix/dist/src/smtpd/smtpd_acl.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/smtpd/smtpd_chat.c up to 1.4
	external/ibm-public/postfix/dist/src/smtpd/smtpd_chat.h up to 1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_check.c up to 1.6
	external/ibm-public/postfix/dist/src/smtpd/smtpd_check.h up to 1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_check.in up to 1.1.1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_check.in2 up to 1.1.1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_check.in3 up to 1.1.1.2
	external/ibm-public/postfix/dist/src/smtpd/smtpd_check.ref up to 1.1.1.5
	external/ibm-public/postfix/dist/src/smtpd/smtpd_check.ref2 up to 1.1.1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_check_backup.in up to 1.1.1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_check_backup.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_check_dsn.in up to 1.1.1.2
	external/ibm-public/postfix/dist/src/smtpd/smtpd_check_dsn.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/smtpd/smtpd_dns_filter.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/smtpd/smtpd_dnswl.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/smtpd/smtpd_dnswl.ref up to 1.1.1.4
	external/ibm-public/postfix/dist/src/smtpd/smtpd_error.in up to 1.1.1.2
	external/ibm-public/postfix/dist/src/smtpd/smtpd_error.ref up to 1.1.1.4
	external/ibm-public/postfix/dist/src/smtpd/smtpd_exp.in up to 1.1.1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_exp.ref up to 1.1.1.5
	external/ibm-public/postfix/dist/src/smtpd/smtpd_expand.h up to 1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_haproxy.c up to 1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_milter.c up to 1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_nullmx.in up to 1.1.1.2
	external/ibm-public/postfix/dist/src/smtpd/smtpd_nullmx.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/smtpd/smtpd_peer.c up to 1.5
	external/ibm-public/postfix/dist/src/smtpd/smtpd_proxy.c up to 1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_resolve.c up to 1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_resolve.h up to 1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_sasl_glue.c up to 1.5
	external/ibm-public/postfix/dist/src/smtpd/smtpd_sasl_proto.c up to 1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_server.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/smtpd/smtpd_server.ref up to 1.1.1.4
	external/ibm-public/postfix/dist/src/smtpd/smtpd_state.c up to 1.2
	external/ibm-public/postfix/dist/src/smtpstone/Makefile.in up to 1.1.1.5
	external/ibm-public/postfix/dist/src/smtpstone/smtp-sink.c up to 1.3
	external/ibm-public/postfix/dist/src/smtpstone/smtp-source.c up to 1.3
	external/ibm-public/postfix/dist/src/spawn/Makefile.in up to 1.1.1.5
	external/ibm-public/postfix/dist/src/spawn/spawn.c up to 1.4
	external/ibm-public/postfix/dist/src/tls/Makefile.in up to 1.1.1.10
	external/ibm-public/postfix/dist/src/tls/tls.h  up to 1.5
	external/ibm-public/postfix/dist/src/tls/tls_bio_ops.c up to 1.1.1.6
	external/ibm-public/postfix/dist/src/tls/tls_certkey.c up to 1.4
	external/ibm-public/postfix/dist/src/tls/tls_client.c up to 1.13
	external/ibm-public/postfix/dist/src/tls/tls_dane.c up to 1.5
	external/ibm-public/postfix/dist/src/tls/tls_dh.c up to 1.5
	external/ibm-public/postfix/dist/src/tls/tls_fprint.c up to 1.4
	external/ibm-public/postfix/dist/src/tls/tls_mgr.c up to 1.4
	external/ibm-public/postfix/dist/src/tls/tls_misc.c up to 1.5
	external/ibm-public/postfix/dist/src/tls/tls_proxy.h up to 1.4
	external/ibm-public/postfix/dist/src/tls/tls_proxy_clnt.c up to 1.4
	external/ibm-public/postfix/dist/src/tls/tls_rsa.c up to 1.4
	external/ibm-public/postfix/dist/src/tls/tls_scache.c up to 1.4
	external/ibm-public/postfix/dist/src/tls/tls_server.c up to 1.12
	external/ibm-public/postfix/dist/src/tls/tls_session.c up to 1.3
	external/ibm-public/postfix/dist/src/tls/tls_verify.c up to 1.4
	external/ibm-public/postfix/dist/src/tlsmgr/Makefile.in up to 1.1.1.6
	external/ibm-public/postfix/dist/src/tlsmgr/tlsmgr.c up to 1.4
	external/ibm-public/postfix/dist/src/tlsproxy/Makefile.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/tlsproxy/tlsproxy.c up to 1.6
	external/ibm-public/postfix/dist/src/tlsproxy/tlsproxy.h up to 1.2
	external/ibm-public/postfix/dist/src/tlsproxy/tlsproxy_state.c up to 1.3
	external/ibm-public/postfix/dist/src/trivial-rewrite/Makefile.in up to 1.1.1.5
	external/ibm-public/postfix/dist/src/trivial-rewrite/resolve.c up to 1.4
	external/ibm-public/postfix/dist/src/trivial-rewrite/rewrite.c up to 1.3
	external/ibm-public/postfix/dist/src/trivial-rewrite/transport.c up to 1.4
	external/ibm-public/postfix/dist/src/trivial-rewrite/trivial-rewrite.c up to 1.4
	external/ibm-public/postfix/dist/src/trivial-rewrite/trivial-rewrite.h up to 1.3
	external/ibm-public/postfix/dist/src/util/Makefile.in up to 1.1.1.11
	external/ibm-public/postfix/dist/src/util/allascii.c up to 1.3
	external/ibm-public/postfix/dist/src/util/alldig.c up to 1.2
	external/ibm-public/postfix/dist/src/util/argv.c up to 1.4
	external/ibm-public/postfix/dist/src/util/argv.h up to 1.4
	external/ibm-public/postfix/dist/src/util/attr.h up to 1.5
	external/ibm-public/postfix/dist/src/util/attr_clnt.c up to 1.3
	external/ibm-public/postfix/dist/src/util/attr_clnt.h up to 1.3
	external/ibm-public/postfix/dist/src/util/attr_print0.c up to 1.3
	external/ibm-public/postfix/dist/src/util/attr_print64.c up to 1.3
	external/ibm-public/postfix/dist/src/util/attr_print_plain.c up to 1.3
	external/ibm-public/postfix/dist/src/util/attr_scan0.c up to 1.3
	external/ibm-public/postfix/dist/src/util/attr_scan0.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/util/attr_scan64.c up to 1.3
	external/ibm-public/postfix/dist/src/util/attr_scan64.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/util/attr_scan_plain.c up to 1.3
	external/ibm-public/postfix/dist/src/util/attr_scan_plain.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/util/auto_clnt.c up to 1.4
	external/ibm-public/postfix/dist/src/util/auto_clnt.h up to 1.2
	external/ibm-public/postfix/dist/src/util/base32_code.h up to 1.3
	external/ibm-public/postfix/dist/src/util/base64_code.h up to 1.3
	external/ibm-public/postfix/dist/src/util/binhash.c up to 1.3
	external/ibm-public/postfix/dist/src/util/binhash.h up to 1.3
	external/ibm-public/postfix/dist/src/util/casefold.c up to 1.3
	external/ibm-public/postfix/dist/src/util/check_arg.h up to 1.3
	external/ibm-public/postfix/dist/src/util/cidr_match.c up to 1.4
	external/ibm-public/postfix/dist/src/util/cidr_match.h up to 1.2
	external/ibm-public/postfix/dist/src/util/clean_env.c up to 1.3
	external/ibm-public/postfix/dist/src/util/clean_env.h up to 1.2
	external/ibm-public/postfix/dist/src/util/connect.h up to 1.2
	external/ibm-public/postfix/dist/src/util/dict.c up to 1.4
	external/ibm-public/postfix/dist/src/util/dict.h up to 1.5
	external/ibm-public/postfix/dist/src/util/dict_alloc.c up to 1.3
	external/ibm-public/postfix/dist/src/util/dict_cache.c up to 1.4
	external/ibm-public/postfix/dist/src/util/dict_cdb.c up to 1.3
	external/ibm-public/postfix/dist/src/util/dict_cdb.h up to 1.2
	external/ibm-public/postfix/dist/src/util/dict_cidr.c up to 1.5
	external/ibm-public/postfix/dist/src/util/dict_cidr.in up to 1.1.1.2
	external/ibm-public/postfix/dist/src/util/dict_cidr.map up to 1.1.1.2
	external/ibm-public/postfix/dist/src/util/dict_cidr.ref up to 1.1.1.4
	external/ibm-public/postfix/dist/src/util/dict_db.c up to 1.4
	external/ibm-public/postfix/dist/src/util/dict_db.h up to 1.4
	external/ibm-public/postfix/dist/src/util/dict_dbm.h up to 1.2
	external/ibm-public/postfix/dist/src/util/dict_fail.c up to 1.2
	external/ibm-public/postfix/dist/src/util/dict_fail.h up to 1.2
	external/ibm-public/postfix/dist/src/util/dict_inline.c up to 1.4
	external/ibm-public/postfix/dist/src/util/dict_lmdb.c up to 1.4
	external/ibm-public/postfix/dist/src/util/dict_lmdb.h up to 1.3
	external/ibm-public/postfix/dist/src/util/dict_open.c up to 1.4
	external/ibm-public/postfix/dist/src/util/dict_pcre.c up to 1.5
	external/ibm-public/postfix/dist/src/util/dict_pcre.in up to 1.1.1.2
	external/ibm-public/postfix/dist/src/util/dict_pcre.map up to 1.1.1.3
	external/ibm-public/postfix/dist/src/util/dict_pcre.ref up to 1.1.1.4
	external/ibm-public/postfix/dist/src/util/dict_random.c up to 1.4
	external/ibm-public/postfix/dist/src/util/dict_random.h up to 1.3
	external/ibm-public/postfix/dist/src/util/dict_regexp.c up to 1.5
	external/ibm-public/postfix/dist/src/util/dict_regexp.map up to 1.1.1.2
	external/ibm-public/postfix/dist/src/util/dict_regexp.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/util/dict_sdbm.h up to 1.2
	external/ibm-public/postfix/dist/src/util/dict_static.c up to 1.4
	external/ibm-public/postfix/dist/src/util/dict_thash.c up to 1.4
	external/ibm-public/postfix/dist/src/util/dict_thash.map up to 1.1.1.3
	external/ibm-public/postfix/dist/src/util/dict_union.c up to 1.3
	external/ibm-public/postfix/dist/src/util/dict_utf8.c up to 1.3
	external/ibm-public/postfix/dist/src/util/dict_utf8_test.in up to 1.1.1.2
	external/ibm-public/postfix/dist/src/util/dup2_pass_on_exec.c up to 1.2
	external/ibm-public/postfix/dist/src/util/edit_file.c up to 1.4
	external/ibm-public/postfix/dist/src/util/edit_file.h up to 1.3
	external/ibm-public/postfix/dist/src/util/extpar.c up to 1.4
	external/ibm-public/postfix/dist/src/util/find_inet.c up to 1.3
	external/ibm-public/postfix/dist/src/util/gccw.c up to 1.2
	external/ibm-public/postfix/dist/src/util/hex_code.c up to 1.3
	external/ibm-public/postfix/dist/src/util/hex_code.h up to 1.4
	external/ibm-public/postfix/dist/src/util/hex_quote.c up to 1.2
	external/ibm-public/postfix/dist/src/util/host_port.h up to 1.3
	external/ibm-public/postfix/dist/src/util/htable.c up to 1.4
	external/ibm-public/postfix/dist/src/util/inet_addr_host.c up to 1.3
	external/ibm-public/postfix/dist/src/util/inet_addr_list.in up to 1.1.1.2
	external/ibm-public/postfix/dist/src/util/inet_addr_list.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/util/inet_connect.c up to 1.3
	external/ibm-public/postfix/dist/src/util/inet_listen.c up to 1.3
	external/ibm-public/postfix/dist/src/util/inet_proto.c up to 1.4
	external/ibm-public/postfix/dist/src/util/inet_proto.h up to 1.2
	external/ibm-public/postfix/dist/src/util/killme_after.c up to 1.2
	external/ibm-public/postfix/dist/src/util/listen.h up to 1.3
	external/ibm-public/postfix/dist/src/util/load_lib.c up to 1.3
	external/ibm-public/postfix/dist/src/util/lstat_as.h up to 1.3
	external/ibm-public/postfix/dist/src/util/mac_expand.c up to 1.4
	external/ibm-public/postfix/dist/src/util/mac_expand.h up to 1.4
	external/ibm-public/postfix/dist/src/util/mac_expand.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/util/mac_expand.ref up to 1.1.1.4
	external/ibm-public/postfix/dist/src/util/mac_parse.h up to 1.3
	external/ibm-public/postfix/dist/src/util/make_dirs.c up to 1.2
	external/ibm-public/postfix/dist/src/util/match_list.c up to 1.3
	external/ibm-public/postfix/dist/src/util/match_ops.c up to 1.3
	external/ibm-public/postfix/dist/src/util/midna_domain.c up to 1.4
	external/ibm-public/postfix/dist/src/util/midna_domain.h up to 1.4
	external/ibm-public/postfix/dist/src/util/midna_domain_test.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/util/msg_output.c up to 1.4
	external/ibm-public/postfix/dist/src/util/msg_output.h up to 1.3
	external/ibm-public/postfix/dist/src/util/msg_syslog.c up to 1.2
	external/ibm-public/postfix/dist/src/util/msg_syslog.h up to 1.3
	external/ibm-public/postfix/dist/src/util/mvect.c up to 1.3
	external/ibm-public/postfix/dist/src/util/myaddrinfo.c up to 1.3
	external/ibm-public/postfix/dist/src/util/myaddrinfo.h up to 1.3
	external/ibm-public/postfix/dist/src/util/myaddrinfo.ref up to 1.1.1.5
	external/ibm-public/postfix/dist/src/util/myaddrinfo4.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/util/myflock.c up to 1.3
	external/ibm-public/postfix/dist/src/util/myflock.h up to 1.3
	external/ibm-public/postfix/dist/src/util/mymalloc.c up to 1.4
	external/ibm-public/postfix/dist/src/util/mymalloc.h up to 1.4
	external/ibm-public/postfix/dist/src/util/mystrtok.c up to 1.4
	external/ibm-public/postfix/dist/src/util/name_mask.c up to 1.3
	external/ibm-public/postfix/dist/src/util/nbbio.c up to 1.3
	external/ibm-public/postfix/dist/src/util/netstring.c up to 1.3
	external/ibm-public/postfix/dist/src/util/peekfd.c up to 1.3
	external/ibm-public/postfix/dist/src/util/printable.c up to 1.3
	external/ibm-public/postfix/dist/src/util/recv_pass_attr.c up to 1.3
	external/ibm-public/postfix/dist/src/util/sane_fsops.h up to 1.3
	external/ibm-public/postfix/dist/src/util/sane_link.c up to 1.2
	external/ibm-public/postfix/dist/src/util/sane_rename.c up to 1.2
	external/ibm-public/postfix/dist/src/util/sane_socketpair.h up to 1.3
	external/ibm-public/postfix/dist/src/util/slmdb.c up to 1.4
	external/ibm-public/postfix/dist/src/util/sock_addr.c up to 1.3
	external/ibm-public/postfix/dist/src/util/sock_addr.h up to 1.2
	external/ibm-public/postfix/dist/src/util/split_nameval.c up to 1.2
	external/ibm-public/postfix/dist/src/util/stat_as.h up to 1.3
	external/ibm-public/postfix/dist/src/util/stringops.h up to 1.5
	external/ibm-public/postfix/dist/src/util/sys_compat.c up to 1.3
	external/ibm-public/postfix/dist/src/util/sys_defs.h up to 1.14
	external/ibm-public/postfix/dist/src/util/timed_wait.h up to 1.3
	external/ibm-public/postfix/dist/src/util/unix_pass_fd_fix.c up to 1.2
	external/ibm-public/postfix/dist/src/util/unix_send_fd.c up to 1.8
	external/ibm-public/postfix/dist/src/util/unsafe.c up to 1.2
	external/ibm-public/postfix/dist/src/util/valid_hostname.c up to 1.3
	external/ibm-public/postfix/dist/src/util/valid_hostname.h up to 1.2
	external/ibm-public/postfix/dist/src/util/vbuf.c up to 1.3
	external/ibm-public/postfix/dist/src/util/vbuf_print.c up to 1.4
	external/ibm-public/postfix/dist/src/util/vstream.c up to 1.4
	external/ibm-public/postfix/dist/src/util/vstream.h up to 1.4
	external/ibm-public/postfix/dist/src/util/vstream_tweak.c up to 1.3
	external/ibm-public/postfix/dist/src/util/vstring.c up to 1.4
	external/ibm-public/postfix/dist/src/util/vstring.h up to 1.4
	external/ibm-public/postfix/dist/src/util/vstring_vstream.c up to 1.2
	external/ibm-public/postfix/dist/src/util/vstring_vstream.h up to 1.3
	external/ibm-public/postfix/dist/src/util/watchdog.c up to 1.3
	external/ibm-public/postfix/dist/src/verify/Makefile.in up to 1.1.1.6
	external/ibm-public/postfix/dist/src/verify/verify.c up to 1.4
	external/ibm-public/postfix/dist/src/virtual/Makefile.in up to 1.1.1.5
	external/ibm-public/postfix/dist/src/virtual/mailbox.c up to 1.3
	external/ibm-public/postfix/dist/src/virtual/virtual.c up to 1.4
	external/ibm-public/postfix/dist/src/xsasl/Makefile.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/xsasl/xsasl.h up to 1.3
	external/ibm-public/postfix/dist/src/xsasl/xsasl_cyrus_client.c up to 1.3
	external/ibm-public/postfix/dist/src/xsasl/xsasl_cyrus_server.c up to 1.4
	external/ibm-public/postfix/dist/src/xsasl/xsasl_dovecot_server.c up to 1.4
	external/ibm-public/postfix/dist/src/xsasl/xsasl_saslc_client.c up to 1.2
	external/ibm-public/postfix/dist/src/xsasl/xsasl_server.c up to 1.2
	external/ibm-public/postfix/lib/dns/Makefile    up to 1.4
	external/ibm-public/postfix/lib/global/Makefile up to 1.10
	external/ibm-public/postfix/lib/masterlib/Makefile up to 1.3
	external/ibm-public/postfix/lib/milter/Makefile up to 1.2
	external/ibm-public/postfix/lib/tls/Makefile    up to 1.4
	external/ibm-public/postfix/lib/util/Makefile   up to 1.11
	external/ibm-public/postfix/lib/xsasl/Makefile  up to 1.3
	external/ibm-public/postfix/libexec/smtp/Makefile up to 1.4
	external/ibm-public/postfix/libexec/smtpd/Makefile up to 1.9 (+patch)
	external/ibm-public/postfix/libexec/tlsproxy/Makefile up to 1.2
	external/ibm-public/postfix/sbin/postconf/Makefile up to 1.9
	doc/3RDPARTY					(apply patch)

Update Postfix to 3.8.4.
@
text
@d10 1
a10 2
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel='stylesheet' type='text/css' href='postfix-doc.css'>
d305 1
a305 1
<p> If you have such clients then you can exclude their Message-ID
d385 1
a385 2
notification email, see
<a href="https://web.archive.org/web/20100317123907/http://std.dkuug.dk/keld/virus/">https://web.archive.org/web/20100317123907/http://std.dkuug.dk/keld/virus/</a>
@


1.1.1.5
log
@Import Postfix-3.7.3 (previous version was 3.5.2)

This is the Postfix 3.7 (stable) release.

The stable Postfix release is called postfix-3.7.x where 3=major
release number, 7=minor release number, x=patchlevel.  The stable
release never changes except for patches that address bugs or
emergencies. Patches change the patchlevel and the release date.

New features are developed in snapshot releases. These are called
postfix-3.8-yyyymmdd where yyyymmdd is the release date (yyyy=year,
mm=month, dd=day).  Patches are never issued for snapshot releases;
instead, a new snapshot is released.

The mail_release_date configuration parameter (format: yyyymmdd)
specifies the release date of a stable release or snapshot release.

If you upgrade from Postfix 3.5 or earlier, read RELEASE_NOTES-3.6
before proceeding.

License change
---------------

This software is distributed with a dual license: in addition to the
historical IBM Public License 1.0, it is now also distributed with the
more recent Eclipse Public License 2.0. Recipients can choose to take
the software under the license of their choice. Those who are more
comfortable with the IPL can continue with that license.

Bugfix for messages not delivered after "warning: Unexpected record type 'X'
============================================================================

Due to a bug introduced in Postfix 3.7.0, a message could falsely
be flagged as corrupt with "warning: Unexpected record type 'X'".

Such messages were moved to the "corrupt" queue directory, where
they may still be found. See below for instructions to deal with
these falsely flagged messages.

This could happen for messages with 5000 or more recipients, or
with fewer recipients on a busy mail server. The problem was first
reported by Frank Brendel, reproduced by John Alex.

A file in the "corrupt" queue directory may be inspected with the
command "postcat /var/spool/postfix/corrupt/<filename>. If delivery
of the file is still desired, the file can be moved back to
/var/spool/postfix/incoming after updating Postfix and executing
"postfix reload".

Major changes - configuration
-----------------------------

[Feature 20210605] Support to inline the content of small cidr:,
pcre:, and regexp: tables in Postfix parameter values.

Example:

    smtpd_forbidden_commands =
	CONNECT GET POST regexp:{{/^[^A-Z]/ Thrash}}

This is the new smtpd_forbidden_commands default value. It will
immediately disconnect a remote SMTP client when a command does not
start with a letter (a-z or A-Z).

The basic syntax is:

/etc/postfix/main.cf:
    parameter = .. map-type:{ { rule-1 }, { rule-2 } .. } ..

/etc/postfix/master.cf:
    .. -o { parameter = .. map-type:{ { rule-1 }, { rule-2 } .. } .. } ..

where map-type is one of cidr, pcre, or regexp.

Postfix ignores whitespace after '{' and before '}', and writes each
rule as one text line to a nameless in-memory file:

in-memory file:
    rule-1
    rule-2
    ..

Postfix parses the result as if it is a file in /etc/postfix.

Note: if a rule contains $, specify $$ to keep Postfix from trying
to do $name expansion as it evaluates the parameter value.

Major changes - lmdb support
----------------------------

[Feature 20210605] Overhauled the LMDB client's error handling, and
added integration tests for future-proofing. There are no visible
changes in documented behavior.

Major changes - logging
-----------------------

[Feature 20210815] To make the maillog_file feature more useful,
the postlog(1) command is now set-gid postdrop, so that unprivileged
programs can use it to write logging through the postlogd(8) daemon.
This required hardening the postlog(1) command against privilege
escalation attacks. DO NOT turn on the set-gid bit with older
postlog(1) implementations.

Major changes - pcre2 support
-----------------------------

[Feature 20211127] Support for the pcre2 library (the legacy pcre
library is no longer maintained). The Postfix build procedure
automatically detects if the pcre2 library is installed, and if it
is unavailable, the Postfix build procedure will detect if the
legacy pcre library is installed. See PCRE_README if you need to
build Postfix with a specific library.

Visible differences: some error messages may have a different text,
and the 'X' pattern flag is no longer supported with pcre2.

Major changes - security
------------------------

[Feature 20220102] Postfix programs now randomize the initial state
of in-memory hash tables, to defend against hash collision attacks
involving a large number of attacker-chosen lookup keys. Presently,
the only known opportunity for such attacks involves remote SMTP
client IPv6 addresses in the anvil(8) service. The attack would
require making hundreds of short-lived connections per second from
thousands of different IP addresses, because the anvil(8) service
drops inactive counters after 100s. Other in-memory hash tables
with attacker-chosen lookup keys are by design limited in size. The
fix is cheap, and therefore implemented for all Postfix in-memory
hash tables. Problem reported by Pascal Junod.

[Feature 20211030] The postqueue command now sanitizes non-printable
characters (such as newlines) in strings before they are formatted
as json or as legacy output. These outputs are piped into other
programs that are run by administrative users. This closes a
hypothetical opportunity for privilege escalation.

[Feature 20210815] Updated defense against remote clients or servers
that 'trickle' SMTP or LMTP traffic, based on per-request deadlines
and minimum data rates.

Per-request deadlines:

The new {smtpd,smtp,lmtp}_per_request_deadline parameters replace
{smtpd,smtp,lmtp}_per_record_deadline, with backwards compatible
default settings. This defense is enabled by default in the Postfix
SMTP server in case of overload.

The new smtpd_per_record_deadline parameter limits the combined
time for the Postfix SMTP server to receive a request and to send
a response, while the new {smtp,lmtp}_per_record_deadline parameters
limit the combined time for the Postfix SMTP or LMTP client to send
a request and to receive a response.

Minimum data rates:

The new smtpd_min_data_rate parameter enforces a minimum plaintext
data transfer rate for DATA and BDAT requests, but only when
smtpd_per_record_deadline is enabled. After a read operation transfers
N plaintext bytes (possibly after TLS decryption), and after the
DATA or BDAT request deadline is decreased by the elapsed time of
that read operation, the DATA or BDAT request deadline is increased
by N/smtpd_min_data_rate seconds. However, the deadline is never
increased beyond the smtpd_timeout value. The default minimum data
rate is 500 (bytes/second) but is still subject to change.

The new {smtp,lmtp}_min_data_rate parameters enforce the corresponding
minimum DATA transfer rates for the Postfix SMTP and LMTP client.

Major changes - tls support
---------------------------

[Cleanup 20220121] The new tlsproxy_client_security_level parameter
replaces tlsproxy_client_level, and the new tlsproxy_client_policy_maps
parameter replaces tlsproxy_client_policy. This is for consistent
parameter naming (tlsproxy_client_xxx corresponds to smtp_tls_xxx).
This change was made with backwards-compatible default settings.

[Feature 20210926] Postfix was updated to support OpenSSL 3.0.0 API
features, and to work around OpenSSL 3.0.0 bit-rot (avoid using
deprecated API features).

Other code health
-----------------

[typos] Typo fixes by raf.

[pre-release checks] Added pre-release checks to detect a) new typos
in documentation and source-code comments, b) missing entries in
the postfix-files file (some documentation would not be installed),
c) missing rules in the postlink script (some text would not have
a hyperlink in documentation), and d) missing map-based $parameter
names in the proxy_read_maps default value (the proxymap daemon
would not automatically authorize some proxied maps).

[memory stream] Improved support for memory-based streams made it
possible to inline small cidr:, pcre:, and regexp: maps in Postfix
parameter values, and to eliminate some ad-hoc code that converted
tlsproxy(8) protocol data to or from serialized form.

*************************************************************************

This is the Postfix 3.6 (stable) release.

The stable Postfix release is called postfix-3.6.x where 3=major
release number, 6=minor release number, x=patchlevel. The stable
release never changes except for patches that address bugs or
emergencies. Patches change the patchlevel and the release date.

New features are developed in snapshot releases. These are called
postfix-3.7-yyyymmdd where yyyymmdd is the release date (yyyy=year,
mm=month, dd=day). Patches are never issued for snapshot releases;
instead, a new snapshot is released.

The mail_release_date configuration parameter (format: yyyymmdd)
specifies the release date of a stable release or snapshot release.

If you upgrade from Postfix 3.4 or earlier, read RELEASE_NOTES-3.5
before proceeding.

License change
---------------

This software is distributed with a dual license: in addition to the
historical IBM Public License 1.0, it is now also distributed with the
more recent Eclipse Public License 2.0. Recipients can choose to take
the software under the license of their choice. Those who are more
comfortable with the IPL can continue with that license.

Major changes - internal protocol identification
------------------------------------------------

[Incompat 20200920] Internal protocols have changed. You need to
"postfix stop" before updating, or before backing out to an earlier
release, otherwise long-running daemons (pickup, qmgr, verify, tlsproxy,
postscreen) may fail to communicate with the rest of Postfix, causing
mail delivery delays until Postfix is restarted.

This change does not affect message files in Postfix queue directories,
only the communication between running Postfix programs.

With this change, every Postfix internal service, including the postdrop
command, announces the name of its protocol before doing any other I/O.
Every Postfix client program, including the Postfix sendmail command,
will verify that the protocol name matches what it is supposed to be.

The purpose of this change is to produce better error messages, for
example, when someone configures the discard daemon as a bounce
service in master.cf, or vice versa.

This change may break third-party programs that implement a
Postfix-internal protocol such as qpsmtpd. Such programs have never
been supported. Fortunately, this will be an easy fix: look at the
first data from the cleanup daemon: if it is a protocol announcement,
you're talking to Postfix 3.6 or later. That's the only real change.

Major changes - tls
-------------------

[Incompat 20200705] The minimum supported OpenSSL version is 1.1.1,
which will reach the end of life by 2023-09-11. Postfix 3.6 is
expected to reach the end of support in 2025. Until then, Postfix
will be updated as needed for compatibility with OpenSSL.

The default fingerprint digest has changed from md5 to sha256 (Postfix
3.6 with compatibility_level >= 3.6). With a lower compatibility_level
setting, Postfix defaults to using md5, and logs a warning when a Postfix
configuration specifies no explicit digest type.

Export-grade Diffie-Hellman key exchange is no longer supported,
and the tlsproxy_tls_dh512_param_file parameter is ignored,

[Feature 20200906] The tlstype.pl helper script by Viktor Dukhovni
reports TLS information per message delivery. This processes output
from the collate.pl script. See auxiliary/collate/README.tlstype and
auxiliary/collate/tlstype.pl.

Major changes - compatibility level
-----------------------------------

[Feature 20210109] Starting with Postfix version 3.6, the compatibility
level is "3.6". In future Postfix releases, the compatibility level will
be the Postfix version that introduced the last incompatible change. The
level is formatted as 'major.minor.patch', where 'patch' is usually
omitted and defaults to zero. Earlier compatibility levels are 0, 1 and 2.

This also introduces main.cf and master.cf support for the <=level,
<level, and other operators to compare compatibility levels. With the
standard <=, <, etc. operators, compatibility level 3.10 would be less
than 3.9, which is undesirable.

Major changes - services(5) override
------------------------------------

[Feature 20210418] Postfix no longer uses the services(5) database
to look up the TCP ports for SMTP and LMTP services. Instead, this
information is configured with the new known_tcp_ports configuration
parameter (default: lmtp=24, smtp=25, smtps=submissions=465,
submission=587). When a service is not specified in known_tcp_ports,
Postfix will still query the services(5) database.

Major changes - local_login_sender_maps
---------------------------------------

[Feature 20201025] Fine-grained control over the envelope sender address
for submission with the Postfix sendmail (or postdrop) commands.

The local_login_sender_maps parameter (default: static:*) specifies
a list of lookup tables that are searched by the UNIX login name, and
that return a list of allowed envelope sender patterns separated by
space or comma. The default is backwards-compatible: every user may
specify any sender envelope address.

This feature is enforced by the postdrop command. When no UNIX login
name is available, the postdrop command will prepend "uid:" to the
numerical UID and use that instead.

This feature ignores address extensions in the user-specified
envelope sender address.

Besides the special pattern "*" which allows any sender address,
there are "<>" which matches an empty sender address, and the
"@@domain" wildcard pattern. More information about those can be found
in the postconf(5) manpage.

Example:

/etc/postfix/main.cf:
    # Allow root and postfix full control, anyone else can only
    # send mail as themselves. Use "uid:" followed by the numerical
    # UID when the UID has no entry in the UNIX password file.
    local_login_sender_maps =
        inline:{ { root = *}, { postfix = * } },
        pcre:/etc/postfix/login_senders

/etc/postfix/login_senders:
   # Allow both the bare username and the user@@domain forms.
    /(.+)/ $1 $1@@example.com

Major changes - order of relay and recipient restrictions
---------------------------------------------------------

[Incompat 20210131] With smtpd_relay_before_recipient_restrictions=yes,
the Postfix SMTP server will evaluate smtpd_relay_restrictions before
smtpd_recipient_restrictions. This is the default behavior with
compatibility_level >= 3.6.

This change makes the implemented behavior consistent with existing
documentation. There is a backwards-compatibility warning that allows
users to freeze historical behavior. See COMPATIBILITY_README for
details.

Major changes - respectful logging
----------------------------------

[Feature 20210220] Postfix version 3.6 deprecates terminology
that implies white is better than black. Instead, Postfix prefers
'allowlist', 'denylist', and variations on those words. This change
affects Postfix documentation, and postscreen parameters and logging.

To keep the old postscreen logging set "respectful_logging = no"
in main.cf.

Noel Jones assisted with the initial transition.

Changes in documentation
------------------------

Postfix documentation was updated to use 'allowlist', 'denylist', etc.
These documentation changes do not affect Postfix behavior.

Changes in parameter names
--------------------------

The following postscreen parameters replace names that contain 'blacklist'
or 'whitelist':

    postscreen_allowlist_interfaces
    postscreen_denylist_action
    postscreen_dnsbl_allowlist_threshold

These new parameters have backwards-compatible default settings
that support the old parameter names, so that the name change should
not affect Postfix behavior. This means that existing management tools
that use the old parameter names should keep working as before.

This compatibility safety net may break when some management tools
use the new parameter names, and some use the old names, such that
different tools will disagree on how Postfix works.

Changes in logging
------------------

The following logging replaces forms that contain 'blacklist' or
'whitelist':

    postfix/postscreen[pid]: ALLOWLIST VETO [address]:port
    postfix/postscreen[pid]: ALLOWLISTED [address]:port
    postfix/postscreen[pid]: DENYLISTED [address]:port

To avoid breaking logfile analysis tools, Postfix keeps logging the old
forms by default, as long as the compatibility_level parameter setting
is less than 3.6, and the respectful_logging parameter is not explicitly
configured. As a reminder, Postfix will log the following:

    postfix/postscreen[pid]: Using backwards-compatible default setting
        respectful_logging=no for client [address]:port

To keep logging the old form, make the setting "respectful_logging =
no" permanent in main.cf, for example:

    # postconf "respectful_logging = no"
    # postfix reload

To stop the reminder, configure the respectful_logging parameter to
"yes" or "no", or configure "compatibility_level = 3.6".

Major changes - threaded bounces
--------------------------------

[Feature 20201205] Support for threaded bounces. This allows mail
readers to present a non-delivery, delayed delivery, or successful
delivery notification in the same email thread as the original
message.

Unfortunately, this also makes it easy for users to mistakenly delete
the whole email thread (all related messages), instead of deleting
only the delivery status notification.

To enable, specify "enable_threaded_bounces = yes".

Other changes - smtpd_sasl_mechanism_list
-----------------------------------------

[Feature 20200906] The smtpd_sasl_mechanism_list parameter (default:
!external, static:rest) prevents confusing errors when a SASL backend
announces EXTERNAL support which Postfix does not support.

Other changes - delivery logging
--------------------------------

[Incompat 20200531] Postfix delivery agents now log an explicit record
when delegating delivery to a different Postfix delivery agent.

For example, with "best_mx_transport = local", an SMTP delivery
agent will now log when a recipient will be delivered locally. This
makes the delegating delivery agent visible, where it would otherwise
have remained invisible, which would complicate troubleshooting.

  postfix/smtp[pid]: queueid: passing <recipient> to transport=local

This will usually be followed by logging for an actual delivery:

  postfix/local[pid]: queueid: to=<recipient>, relay=local, ...

Other examples: the local delivery agent will log a record that it
defers mailbox delivery through mailbox_transport or through
fallback_transport.

Other changes - error logging
-----------------------------

[Incompat 20200531] Postfix programs will now log "Application error"
instead of "Success" or "Unknown error: 0" when an operation fails with
errno == 0, i.e., the error originates from non-kernel code.

Other changes - dns lookups
---------------------------

[Feature 20200509] The threadsafe resolver API (res_nxxx() calls)
is now the default, not because the API is threadsafe, but because
this is the API where new features are being added.

To build old style, build with:

    make makefiles CCARGS="-DNO_RES_NCALLS..."

This is the default for systems that are known not to support the
threadsafe resolver API.
@
text
@d10 1
a10 1
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
d305 1
a305 1
<p> If you have such clients then you can exclude their Message-ID
d385 1
a385 2
notification email, see
<a href="https://web.archive.org/web/20100317123907/http://std.dkuug.dk/keld/virus/">https://web.archive.org/web/20100317123907/http://std.dkuug.dk/keld/virus/</a>
@


1.1.1.5.2.1
log
@Pullup the following, requested by kim in ticket #518:

	external/ibm-public/postfix/dist/html/postfix-doc.css up to 1.1.1.1
	external/ibm-public/postfix/dist/mantools/check-double-history up to 1.1.1.1
	external/ibm-public/postfix/dist/mantools/check-spell-history up to 1.1.1.1
	external/ibm-public/postfix/dist/mantools/check-table-proto up to 1.1.1.1
	external/ibm-public/postfix/dist/proto/stop.double-history up to 1.1.1.1
	external/ibm-public/postfix/dist/proto/stop.spell-history up to 1.1.1.1
	external/ibm-public/postfix/dist/src/postconf/test71.ref up to 1.1.1.1
	external/ibm-public/postfix/dist/src/util/mkmap_db.c up to 1.2
	external/ibm-public/postfix/dist/src/util/mkmap.h up to 1.2
	external/ibm-public/postfix/dist/src/util/inet_addr_sizes.c up to 1.2
	external/ibm-public/postfix/dist/src/util/inet_addr_sizes.h up to 1.2
	external/ibm-public/postfix/dist/src/util/inet_prefix_top.c up to 1.2
	external/ibm-public/postfix/dist/src/util/inet_prefix_top.h up to 1.2
	external/ibm-public/postfix/dist/src/util/mkmap_cdb.c up to 1.2
	external/ibm-public/postfix/dist/src/util/mkmap_dbm.c up to 1.2
	external/ibm-public/postfix/dist/src/util/mkmap_fail.c up to 1.2
	external/ibm-public/postfix/dist/src/util/mkmap_lmdb.c up to 1.2
	external/ibm-public/postfix/dist/src/util/mkmap_open.c up to 1.2
	external/ibm-public/postfix/dist/src/util/mkmap_sdbm.c up to 1.2
	external/ibm-public/postfix/dist/RELEASE_NOTES-3.7 up to 1.1.1.1
	external/ibm-public/postfix/dist/src/global/mkmap.h delete
	external/ibm-public/postfix/dist/src/global/mkmap_cdb.c delete
	external/ibm-public/postfix/dist/src/global/mkmap_db.c delete
	external/ibm-public/postfix/dist/src/global/mkmap_dbm.c delete
	external/ibm-public/postfix/dist/src/global/mkmap_fail.c delete
	external/ibm-public/postfix/dist/src/global/mkmap_lmdb.c delete
	external/ibm-public/postfix/dist/src/global/mkmap_open.c delete
	external/ibm-public/postfix/dist/src/global/mkmap_sdbm.c delete
	external/ibm-public/postfix/dist/HISTORY        up to 1.1.1.29
	external/ibm-public/postfix/dist/INSTALL        up to 1.1.1.9
	external/ibm-public/postfix/dist/Makefile.in    up to 1.1.1.10
	external/ibm-public/postfix/dist/RELEASE_NOTES  up to 1.1.1.17
	external/ibm-public/postfix/dist/WISHLIST       up to 1.1.1.2
	external/ibm-public/postfix/dist/makedefs       up to 1.16
	external/ibm-public/postfix/dist/postfix-env.sh up to 1.1.1.2
	external/ibm-public/postfix/dist/README_FILES/ADDRESS_CLASS_README up to 1.1.1.2
	external/ibm-public/postfix/dist/README_FILES/BASIC_CONFIGURATION_README up to 1.1.1.6
	external/ibm-public/postfix/dist/README_FILES/DEBUG_README up to 1.1.1.5
	external/ibm-public/postfix/dist/README_FILES/FORWARD_SECRECY_README up to 1.1.1.5
	external/ibm-public/postfix/dist/README_FILES/INSTALL up to 1.10
	external/ibm-public/postfix/dist/README_FILES/IPV6_README up to 1.1.1.4
	external/ibm-public/postfix/dist/README_FILES/MAILLOG_README up to 1.1.1.4
	external/ibm-public/postfix/dist/README_FILES/MILTER_README up to 1.1.1.9
	external/ibm-public/postfix/dist/README_FILES/MYSQL_README up to 1.1.1.5
	external/ibm-public/postfix/dist/README_FILES/PGSQL_README up to 1.1.1.4
	external/ibm-public/postfix/dist/README_FILES/QSHAPE_README up to 1.1.1.4
	external/ibm-public/postfix/dist/README_FILES/RELEASE_NOTES up to 1.1.1.17
	external/ibm-public/postfix/dist/README_FILES/SASL_README up to 1.1.1.11
	external/ibm-public/postfix/dist/README_FILES/SMTPD_POLICY_README up to 1.1.1.7
	external/ibm-public/postfix/dist/README_FILES/SMTPD_PROXY_README up to 1.1.1.6
	external/ibm-public/postfix/dist/README_FILES/SQLITE_README up to 1.1.1.4
	external/ibm-public/postfix/dist/README_FILES/STANDARD_CONFIGURATION_README up to 1.1.1.6
	external/ibm-public/postfix/dist/README_FILES/TLS_README up to 1.14
	external/ibm-public/postfix/dist/conf/aliases   up to 1.1.1.5
	external/ibm-public/postfix/dist/conf/main.cf   up to 1.10
	external/ibm-public/postfix/dist/conf/master.cf up to 1.11
	external/ibm-public/postfix/dist/conf/postfix-files up to 1.9
	external/ibm-public/postfix/dist/conf/postfix-script up to 1.4
	external/ibm-public/postfix/dist/conf/postfix-tls-script up to 1.5
	external/ibm-public/postfix/dist/conf/virtual   up to 1.1.1.6
	external/ibm-public/postfix/dist/html/ADDRESS_CLASS_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/ADDRESS_REWRITING_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/ADDRESS_VERIFICATION_README.html up to 1.11
	external/ibm-public/postfix/dist/html/BACKSCATTER_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/BASIC_CONFIGURATION_README.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/BDAT_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/BUILTIN_FILTER_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/CDB_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/COMPATIBILITY_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/CONNECTION_CACHE_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/CONTENT_INSPECTION_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/DATABASE_README.html up to 1.1.1.10
	external/ibm-public/postfix/dist/html/DB_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/DEBUG_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/DSN_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/ETRN_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/FILTER_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/FORWARD_SECRECY_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/INSTALL.html up to 1.10
	external/ibm-public/postfix/dist/html/IPV6_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/LDAP_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/LINUX_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/LMDB_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/LOCAL_RECIPIENT_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/MAILDROP_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/MAILLOG_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/MEMCACHE_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/MILTER_README.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/MULTI_INSTANCE_README.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/MYSQL_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/NFS_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/OVERVIEW.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/PACKAGE_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/PCRE_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/PGSQL_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/POSTSCREEN_3_5_README.html up to 1.1.1.2
	external/ibm-public/postfix/dist/html/POSTSCREEN_README.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/QSHAPE_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/RESTRICTION_CLASS_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/SASL_README.html up to 1.1.1.11
	external/ibm-public/postfix/dist/html/SCHEDULER_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/SMTPD_ACCESS_README.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/SMTPD_POLICY_README.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/SMTPD_PROXY_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/SMTPUTF8_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/SOHO_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/SQLITE_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/STANDARD_CONFIGURATION_README.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/STRESS_README.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/TLS_LEGACY_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/TLS_README.html up to 1.15
	external/ibm-public/postfix/dist/html/TUNING_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/UUCP_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/VERP_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/VIRTUAL_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/XCLIENT_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/XFORWARD_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/access.5.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/aliases.5.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/anvil.8.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/bounce.5.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/bounce.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/canonical.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/cidr_table.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/cleanup.8.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/defer.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/discard.8.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/dnsblog.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/error.8.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/flush.8.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/generic.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/header_checks.5.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/index.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/ldap_table.5.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/lmdb_table.5.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/lmtp.8.html up to 1.1.1.12
	external/ibm-public/postfix/dist/html/local.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/mailq.1.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/makedefs.1.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/master.5.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/master.8.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/memcache_table.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/mysql_table.5.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/newaliases.1.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/nisplus_table.5.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/oqmgr.8.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/pcre_table.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/pgsql_table.5.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/pickup.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/pipe.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/postalias.1.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/postcat.1.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/postconf.1.html up to 1.1.1.11
	external/ibm-public/postfix/dist/html/postconf.5.html up to 1.19
	external/ibm-public/postfix/dist/html/postdrop.1.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/postfix-manuals.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/postfix-tls.1.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/postfix-wrapper.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/postfix.1.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/postkick.1.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/postlock.1.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/postlog.1.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/postlogd.8.html up to 1.1.1.3
	external/ibm-public/postfix/dist/html/postmap.1.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/postmulti.1.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/postqueue.1.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/postscreen.8.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/postsuper.1.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/posttls-finger.1.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/proxymap.8.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/qmgr.8.html up to 1.1.1.9
	external/ibm-public/postfix/dist/html/qmqp-sink.1.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/qmqp-source.1.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/qmqpd.8.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/qshape.1.html up to 1.1.1.4
	external/ibm-public/postfix/dist/html/regexp_table.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/relocated.5.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/scache.8.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/sendmail.1.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/showq.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/smtp-sink.1.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/smtp-source.1.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/smtp.8.html up to 1.1.1.12
	external/ibm-public/postfix/dist/html/smtpd.8.html up to 1.1.1.13
	external/ibm-public/postfix/dist/html/socketmap_table.5.html up to 1.1.1.5
	external/ibm-public/postfix/dist/html/spawn.8.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/sqlite_table.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/tcp_table.5.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/tlsmgr.8.html up to 1.1.1.6
	external/ibm-public/postfix/dist/html/tlsproxy.8.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/trace.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/transport.5.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/trivial-rewrite.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/verify.8.html up to 1.1.1.8
	external/ibm-public/postfix/dist/html/virtual.5.html up to 1.1.1.7
	external/ibm-public/postfix/dist/html/virtual.8.html up to 1.1.1.7
	external/ibm-public/postfix/dist/man/man1/postfix-tls.1 up to 1.3
	external/ibm-public/postfix/dist/man/man1/postfix.1 up to 1.6
	external/ibm-public/postfix/dist/man/man1/postlog.1 up to 1.5
	external/ibm-public/postfix/dist/man/man1/postqueue.1 up to 1.5
	external/ibm-public/postfix/dist/man/man1/posttls-finger.1 up to 1.5
	external/ibm-public/postfix/dist/man/man5/aliases.5 up to 1.5
	external/ibm-public/postfix/dist/man/man5/cidr_table.5 up to 1.5
	external/ibm-public/postfix/dist/man/man5/ldap_table.5 up to 1.5
	external/ibm-public/postfix/dist/man/man5/mysql_table.5 up to 1.5
	external/ibm-public/postfix/dist/man/man5/pcre_table.5 up to 1.4
	external/ibm-public/postfix/dist/man/man5/pgsql_table.5 up to 1.5
	external/ibm-public/postfix/dist/man/man5/postconf.5 up to 1.19
	external/ibm-public/postfix/dist/man/man5/regexp_table.5 up to 1.4
	external/ibm-public/postfix/dist/man/man5/virtual.5 up to 1.5
	external/ibm-public/postfix/dist/man/man8/postscreen.8 up to 1.5
	external/ibm-public/postfix/dist/man/man8/smtp.8 up to 1.5
	external/ibm-public/postfix/dist/man/man8/smtpd.8 up to 1.5
	external/ibm-public/postfix/dist/man/man8/tlsproxy.8 up to 1.5
	external/ibm-public/postfix/dist/mantools/check-double-cc up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/check-double-install-proto-text up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/check-double-proto-html up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/check-postfix-files up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/check-postlink up to 1.1.1.3
	external/ibm-public/postfix/dist/mantools/check-spell-cc up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/check-spell-install-proto-text up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/check-spell-proto-html up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/make_soho_readme up to 1.1.1.4
	external/ibm-public/postfix/dist/mantools/makemanidx up to 1.1.1.4
	external/ibm-public/postfix/dist/mantools/man2html up to 1.1.1.5
	external/ibm-public/postfix/dist/mantools/manlint up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/manspell up to 1.1.1.2
	external/ibm-public/postfix/dist/mantools/missing-proxy-read-maps up to 1.1.1.3
	external/ibm-public/postfix/dist/mantools/postlink up to 1.1.1.13
	external/ibm-public/postfix/dist/mantools/spell up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/ADDRESS_CLASS_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/ADDRESS_REWRITING_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/ADDRESS_VERIFICATION_README.html up to 1.11
	external/ibm-public/postfix/dist/proto/BACKSCATTER_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/BASIC_CONFIGURATION_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/BDAT_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/BUILTIN_FILTER_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/CDB_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/COMPATIBILITY_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/CONNECTION_CACHE_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/CONTENT_INSPECTION_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/DATABASE_README.html up to 1.1.1.10
	external/ibm-public/postfix/dist/proto/DB_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/DEBUG_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/DSN_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/ETRN_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/FILTER_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/FORWARD_SECRECY_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/INSTALL.html up to 1.10
	external/ibm-public/postfix/dist/proto/IPV6_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/LDAP_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/LINUX_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/LMDB_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/LOCAL_RECIPIENT_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/MAILDROP_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/MAILLOG_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/MEMCACHE_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/MILTER_README.html up to 1.1.1.9
	external/ibm-public/postfix/dist/proto/MULTI_INSTANCE_README.html up to 1.1.1.8
	external/ibm-public/postfix/dist/proto/MYSQL_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/NFS_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/OVERVIEW.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/PACKAGE_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/PCRE_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/PGSQL_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/POSTSCREEN_3_5_README.html up to 1.1.1.2
	external/ibm-public/postfix/dist/proto/POSTSCREEN_README.html up to 1.1.1.8
	external/ibm-public/postfix/dist/proto/QSHAPE_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/RESTRICTION_CLASS_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/SASL_README.html up to 1.1.1.11
	external/ibm-public/postfix/dist/proto/SCHEDULER_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/SMTPD_ACCESS_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/SMTPD_POLICY_README.html up to 1.1.1.7
	external/ibm-public/postfix/dist/proto/SMTPD_PROXY_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/SMTPUTF8_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/SQLITE_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/STANDARD_CONFIGURATION_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/STRESS_README.html up to 1.1.1.7
	external/ibm-public/postfix/dist/proto/TLS_LEGACY_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/TLS_README.html up to 1.14
	external/ibm-public/postfix/dist/proto/TUNING_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/UUCP_README.html up to 1.1.1.3
	external/ibm-public/postfix/dist/proto/VERP_README.html up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/VIRTUAL_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/XCLIENT_README.html up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/XFORWARD_README.html up to 1.1.1.4
	external/ibm-public/postfix/dist/proto/aliases  up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/cidr_table up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/ldap_table up to 1.1.1.7
	external/ibm-public/postfix/dist/proto/mysql_table up to 1.1.1.8
	external/ibm-public/postfix/dist/proto/pcre_table up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/pgsql_table up to 1.1.1.8
	external/ibm-public/postfix/dist/proto/postconf.html.prolog up to 1.1.1.5
	external/ibm-public/postfix/dist/proto/postconf.proto up to 1.19
	external/ibm-public/postfix/dist/proto/regexp_table up to 1.1.1.6
	external/ibm-public/postfix/dist/proto/stop     up to 1.1.1.7
	external/ibm-public/postfix/dist/proto/stop.double-cc up to 1.1.1.2
	external/ibm-public/postfix/dist/proto/stop.double-proto-html up to 1.1.1.2
	external/ibm-public/postfix/dist/proto/stop.spell-cc up to 1.1.1.2
	external/ibm-public/postfix/dist/proto/stop.spell-proto-html up to 1.1.1.2
	external/ibm-public/postfix/dist/proto/virtual  up to 1.1.1.6
	external/ibm-public/postfix/dist/src/cleanup/cleanup_map1n.c up to 1.4
	external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.c up to 1.5
	external/ibm-public/postfix/dist/src/dns/Makefile.in up to 1.1.1.5
	external/ibm-public/postfix/dist/src/dns/dns.h  up to 1.6
	external/ibm-public/postfix/dist/src/dns/dns_lookup.c up to 1.8
	external/ibm-public/postfix/dist/src/dns/dns_rr.c up to 1.3
	external/ibm-public/postfix/dist/src/dns/dns_rr_eq_sa.c up to 1.3
	external/ibm-public/postfix/dist/src/dns/dns_sa_to_rr.c up to 1.3
	external/ibm-public/postfix/dist/src/dns/dns_str_resflags.c up to 1.3
	external/ibm-public/postfix/dist/src/dns/dns_strrecord.c up to 1.3
	external/ibm-public/postfix/dist/src/dns/dns_strtype.c up to 1.2
	external/ibm-public/postfix/dist/src/global/Makefile.in up to 1.1.1.10
	external/ibm-public/postfix/dist/src/global/compat_level.c up to 1.3
	external/ibm-public/postfix/dist/src/global/compat_level.h up to 1.3
	external/ibm-public/postfix/dist/src/global/dict_ldap.c up to 1.5
	external/ibm-public/postfix/dist/src/global/dict_memcache.c up to 1.3
	external/ibm-public/postfix/dist/src/global/dict_mysql.c up to 1.4
	external/ibm-public/postfix/dist/src/global/dict_pgsql.c up to 1.4
	external/ibm-public/postfix/dist/src/global/dict_proxy.h up to 1.3
	external/ibm-public/postfix/dist/src/global/dict_sqlite.c up to 1.4
	external/ibm-public/postfix/dist/src/global/dynamicmaps.c up to 1.4
	external/ibm-public/postfix/dist/src/global/header_body_checks.h up to 1.3
	external/ibm-public/postfix/dist/src/global/mail_dict.c up to 1.3
	external/ibm-public/postfix/dist/src/global/mail_params.h up to 1.19
	external/ibm-public/postfix/dist/src/global/mail_proto.h up to 1.5
	external/ibm-public/postfix/dist/src/global/mail_version.h up to 1.6
	external/ibm-public/postfix/dist/src/global/map_search.c up to 1.4
	external/ibm-public/postfix/dist/src/global/map_search.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/global/maps.c up to 1.4
	external/ibm-public/postfix/dist/src/global/maps.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/global/mkmap_proxy.c up to 1.2
	external/ibm-public/postfix/dist/src/global/namadr_list.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/global/namadr_list.ref up to 1.1.1.5
	external/ibm-public/postfix/dist/src/global/smtp_stream.c up to 1.5
	external/ibm-public/postfix/dist/src/global/smtp_stream.h up to 1.4
	external/ibm-public/postfix/dist/src/local/local_expand.c up to 1.3
	external/ibm-public/postfix/dist/src/milter/milter8.c up to 1.5
	external/ibm-public/postfix/dist/src/postalias/Makefile.in up to 1.1.1.6
	external/ibm-public/postfix/dist/src/postalias/postalias.c up to 1.5
	external/ibm-public/postfix/dist/src/postconf/Makefile.in up to 1.1.1.11
	external/ibm-public/postfix/dist/src/postconf/postconf.h up to 1.4
	external/ibm-public/postfix/dist/src/postconf/postconf_dbms.c up to 1.5
	external/ibm-public/postfix/dist/src/postconf/postconf_edit.c up to 1.3
	external/ibm-public/postfix/dist/src/postconf/postconf_main.c up to 1.4
	external/ibm-public/postfix/dist/src/postconf/postconf_master.c up to 1.8
	external/ibm-public/postfix/dist/src/postconf/postconf_misc.c up to 1.3
	external/ibm-public/postfix/dist/src/postconf/test58.ref up to 1.1.1.3
	external/ibm-public/postfix/dist/src/postfix/postfix.c up to 1.6
	external/ibm-public/postfix/dist/src/postlog/postlog.c up to 1.5
	external/ibm-public/postfix/dist/src/postlogd/Makefile.in up to 1.1.1.3
	external/ibm-public/postfix/dist/src/postmap/Makefile.in up to 1.1.1.7
	external/ibm-public/postfix/dist/src/postmap/postmap.c up to 1.5
	external/ibm-public/postfix/dist/src/postqueue/postqueue.c up to 1.5
	external/ibm-public/postfix/dist/src/postscreen/postscreen.c up to 1.5
	external/ibm-public/postfix/dist/src/postscreen/postscreen_smtpd.c up to 1.5
	external/ibm-public/postfix/dist/src/posttls-finger/posttls-finger.c up to 1.5
	external/ibm-public/postfix/dist/src/proxymap/Makefile.in up to 1.1.1.6
	external/ibm-public/postfix/dist/src/showq/showq.c up to 1.5
	external/ibm-public/postfix/dist/src/smtp/Makefile.in up to 1.1.1.10
	external/ibm-public/postfix/dist/src/smtp/lmtp_params.c up to 1.5
	external/ibm-public/postfix/dist/src/smtp/smtp.c up to 1.13
	external/ibm-public/postfix/dist/src/smtp/smtp.h up to 1.5
	external/ibm-public/postfix/dist/src/smtp/smtp_addr.c up to 1.5
	external/ibm-public/postfix/dist/src/smtp/smtp_addr.h up to 1.3
	external/ibm-public/postfix/dist/src/smtp/smtp_connect.c up to 1.5
	external/ibm-public/postfix/dist/src/smtp/smtp_params.c up to 1.5
	external/ibm-public/postfix/dist/src/smtp/smtp_proto.c up to 1.5
	external/ibm-public/postfix/dist/src/smtp/smtp_reuse.c up to 1.4
	external/ibm-public/postfix/dist/src/smtp/smtp_session.c up to 1.5
	external/ibm-public/postfix/dist/src/smtpd/Makefile.in up to 1.1.1.11
	external/ibm-public/postfix/dist/src/smtpd/smtpd.c up to 1.20
	external/ibm-public/postfix/dist/src/smtpd/smtpd.h up to 1.5
	external/ibm-public/postfix/dist/src/smtpd/smtpd_check.c up to 1.6
	external/ibm-public/postfix/dist/src/smtpd/smtpd_peer.c up to 1.5
	external/ibm-public/postfix/dist/src/smtpd/smtpd_proxy.c up to 1.3
	external/ibm-public/postfix/dist/src/smtpd/smtpd_sasl_glue.c up to 1.5
	external/ibm-public/postfix/dist/src/smtpd/smtpd_server.in up to 1.1.1.4
	external/ibm-public/postfix/dist/src/smtpd/smtpd_server.ref up to 1.1.1.4
	external/ibm-public/postfix/dist/src/tls/Makefile.in up to 1.1.1.10
	external/ibm-public/postfix/dist/src/tls/tls.h  up to 1.5
	external/ibm-public/postfix/dist/src/tls/tls_client.c up to 1.13
	external/ibm-public/postfix/dist/src/tls/tls_dane.c up to 1.5
	external/ibm-public/postfix/dist/src/tls/tls_dh.c up to 1.5
	external/ibm-public/postfix/dist/src/tls/tls_fprint.c up to 1.4
	external/ibm-public/postfix/dist/src/tls/tls_misc.c up to 1.5
	external/ibm-public/postfix/dist/src/tls/tls_proxy.h up to 1.4
	external/ibm-public/postfix/dist/src/tls/tls_proxy_client_misc.c up to 1.4
	external/ibm-public/postfix/dist/src/tls/tls_proxy_client_print.c up to 1.4
	external/ibm-public/postfix/dist/src/tls/tls_proxy_client_scan.c up to 1.4
	external/ibm-public/postfix/dist/src/tls/tls_server.c up to 1.12
	external/ibm-public/postfix/dist/src/tlsproxy/tlsproxy.c up to 1.6
	external/ibm-public/postfix/dist/src/util/Makefile.in up to 1.1.1.11
	external/ibm-public/postfix/dist/src/util/argv.c up to 1.4
	external/ibm-public/postfix/dist/src/util/argv.h up to 1.4
	external/ibm-public/postfix/dist/src/util/attr.h up to 1.5
	external/ibm-public/postfix/dist/src/util/clean_env.c up to 1.3
	external/ibm-public/postfix/dist/src/util/dict.c up to 1.4
	external/ibm-public/postfix/dist/src/util/dict.h up to 1.5
	external/ibm-public/postfix/dist/src/util/dict_cache.c up to 1.4
	external/ibm-public/postfix/dist/src/util/dict_cdb.h up to 1.2
	external/ibm-public/postfix/dist/src/util/dict_cidr.c up to 1.5
	external/ibm-public/postfix/dist/src/util/dict_db.h up to 1.4
	external/ibm-public/postfix/dist/src/util/dict_dbm.h up to 1.2
	external/ibm-public/postfix/dist/src/util/dict_fail.h up to 1.2
	external/ibm-public/postfix/dist/src/util/dict_lmdb.h up to 1.3
	external/ibm-public/postfix/dist/src/util/dict_open.c up to 1.4
	external/ibm-public/postfix/dist/src/util/dict_pcre.c up to 1.5
	external/ibm-public/postfix/dist/src/util/dict_regexp.c up to 1.5
	external/ibm-public/postfix/dist/src/util/dict_sdbm.h up to 1.2
	external/ibm-public/postfix/dist/src/util/hash_fnv.c up to 1.3
	external/ibm-public/postfix/dist/src/util/hash_fnv.h up to 1.3
	external/ibm-public/postfix/dist/src/util/htable.c up to 1.4
	external/ibm-public/postfix/dist/src/util/inet_connect.c up to 1.3
	external/ibm-public/postfix/dist/src/util/make_dirs.c up to 1.2
	external/ibm-public/postfix/dist/src/util/match_list.c up to 1.3
	external/ibm-public/postfix/dist/src/util/mystrtok.c up to 1.4
	external/ibm-public/postfix/dist/src/util/mystrtok.ref up to 1.1.1.2
	external/ibm-public/postfix/dist/src/util/sock_addr.c up to 1.3
	external/ibm-public/postfix/dist/src/util/sock_addr.h up to 1.2
	external/ibm-public/postfix/dist/src/util/split_nameval.c up to 1.2
	external/ibm-public/postfix/dist/src/util/stringops.h up to 1.5
	external/ibm-public/postfix/dist/src/util/sys_defs.h up to 1.14
	external/ibm-public/postfix/dist/src/util/unix_send_fd.c up to 1.8
	external/ibm-public/postfix/dist/src/util/valid_hostname.c up to 1.3
	external/ibm-public/postfix/dist/src/util/valid_hostname.h up to 1.2
	external/ibm-public/postfix/dist/src/xsasl/xsasl_cyrus_server.c up to 1.4
	external/ibm-public/postfix/lib/global/Makefile up to 1.10
	external/ibm-public/postfix/lib/util/Makefile   up to 1.11
	doc/3RDPARTY					(apply patch)

Update Postfix to 3.8.4.
@
text
@a10 1
<link rel='stylesheet' type='text/css' href='postfix-doc.css'>
@


1.1.1.6
log
@Import Postfix 3.8.4 (last was 3.7.3)

December 22, 2023: 3.8.4/3.7.9
==============================

Security: this release adds support to defend against an email
spoofing attack (SMTP smuggling) on recipients at a Postfix server.
For background, see https://www.postfix.org/smtp-smuggling.html.

Sites concerned about SMTP smuggling attacks should enable this
feature on Internet-facing Postfix servers. For compatibility with
non-standard clients, Postfix by default excludes clients in
mynetworks from this countermeasure.

The recommended settings are:

# Optionally disconnect remote SMTP clients that send bare newlines,
# but allow local clients with non-standard SMTP implementations
# such as netcat, fax machines, or load balancer health checks.
#
smtpd_forbid_bare_newline = yes
smtpd_forbid_bare_newline_exclusions = $mynetworks
The smtpd_forbid_bare_newline feature is disabled by default.

November 1, 2023: 3.8.3/3.7.8
=============================

Bugfix (defect introduced Postfix 2.5, date 20080104): the Postfix
SMTP server was waiting for a client command instead of replying
immediately, after a client certificate verification error in TLS
wrappermode. Reported by Andreas Kinzler.

Usability: the Postfix SMTP server (finally) attempts to log the
SASL username after authentication failure. In Postfix logging,
this appends ", sasl_username=xxx" after the reason for SASL
authentication failure. The logging replaces an unavailable reason
with "(reason unavailable)", and replaces an unavailable sasl_username
with "(unavailable)". Based on code by Jozsef Kadlecsik.

Compatibility bugfix (defect introduced: Postfix 2.11, date 20130405):
in forward_path, the expression ${recipient_delimiter} would expand
to an empty string when a recipient address had no recipient
delimiter. The compatibility fix is to use a configured recipient
delimiter value instead. Reported by Tod A. Sandman.

September 1, 2023: 3.8.2/3.7.7
==============================

Bugfix (defect introduced: Postfix alpha, 19980207): the valid_hostname()
check in the Postfix DNS client library was blocking unusual but
legitimate wildcard names (*.name) in some DNS lookup results and
lookup requests. Examples:

name          class/type result
*.one.example   IN CNAME *.other.example
*.other.example IN A     10.0.0.1
*.other.example IN TLSA  ..certificate info...
Such syntax is blesed in RFC 1034 section 4.3.3.

Bugfix (defect introduced: Postfix 3.0, 20140218): when an address
verification probe fails during or after an opportunistic TLS
handshake, don't enforce a minimum time-in-queue before falling
back to plaintext. Problem reported by Serg.

June 5, 2023: 3.8.1/3.7.6
=========================

Optional: harden a Postfix SMTP server against remote SMTP clients
that violate RFC 2920 (or 5321) command pipelining constraints.
With "smtpd_forbid_unauth_pipelining = yes", the server disconnects
a client immediately, after responding with "554 5.5.0 Error: SMTP
protocol synchronization" and after logging "improper command
pipelining" with the unexpected remote SMTP client input. This
feature is disabled by default in Postfix 3.5-3.8 to avoid breaking
home-grown utilities, but it is enabled by default in Postfix 3.9.
A similar feature is enabled by default in the Exim SMTP server.

Optional: some OS distributions crank up TLS security to 11, and
in doing so increase the number of plaintext email deliveries. This
introduces basic OpenSSL configuration file support that may be
used to override OS-level settings. Details are in the postconf(5)
manpage under tls_config_file and tls_config_name.

Bugfix (defect introduced: Postfix 1.0): the command "postconf ..
name=v1 .. name=v2 .." (multiple instances of the same parameter
name) created multiple main.cf name=value entries with the same
parameter name. It now logs a warning and skips the earlier name(s)
and value(s). Found during code maintenance.

Bugfix (defect introduced: Postfix 3.3): the command "postconf -M
name1/type1='name2 type2 ...'" died with a segmentation violation
when the request matched multiple master.cf entries. The master.cf
file was not damaged. Problem reported by SATOH Fumiyasu.

Bugfix (defect introduced: Postfix 2.11): the command "postconf -M
name1/type1='name2 type2 ...'" could add a service definition to
master.cf that conflicted with an already existing service definition.
It now replaces all existing service definitions that match the
service pattern 'name1/type1' or the service name and type in 'name2
type2 ...' with a single service definition 'name2 type2 ...'.
Problem reported by SATOH Fumiyasu.

Bugfix (defect introduced: Postfix 3.8) the posttls-finger command
could access uninitialized memory when reconnecting. This also
fixes a malformed warning message when a destination contains
":service" information. Reported by Thomas Korbar.

Bugfix (defect introduced: Postfix 3.2): the MySQL client could
return "not found" instead of "error" (for example, resulting in
a 5XX SMTP status instead of 4XX) during the time that all MySQL
server connections were turned down after error. Found during code
maintenance. File: global/dict_mysql.c. This was already fixed in
Postfix 3.4-3.7.

April 18, 2023: 3.7.5
=====================

Bugfix (problem introduced in Postfix 3.5): check_ccert_access did
not handle inline map specifications. Report and fix by Sean
Gallagher.

Bugfix (problem introduced in Postfix 3.4): the posttls-finger
command failed to detect that a connection was resumed in the case
that a server did not return a certificate. Fix by Viktor Dukhovni.

Workaround: OpenSSL 3.x EVP_get_cipherbyname() can return lazily-bound
handles. Postfix now checks that the expected functionality will
be available instead of failing later. Fix by Viktor Dukhovni.

Safety: the long form "{ name = value }" in import_environment or
export_environment is not documented (with spaces around the '='),
but it was silently accepted, and it was stored in the process
environment as the invalid form "name = value", thus not setting
or overriding an entry for "name". This form is now stored as the
expected "name=value". Found during code maintenance.

Bugfix (problem introduced in Postfix 3.2): the MySQL client could
return "not found" instead of "error" (for example, resulting in
a 5XX SMTP status instead of 4XX) during the time that all MySQL
server connections were turned down after error. Found during code
maintenance.

April 17, 2023: 3.8.0
=====================

Support to look up DNS SRV records in the Postfix SMTP/LMTP client,
Based on code by Tomas Korbar (Red Hat). For example, with
"use_srv_lookup = submission" and "relayhost = example.com:submission",
the Postfix SMTP client will look up DNS SRV records for
_submission._tcp.example.com, and will relay email through the
hosts and ports that are specified with those records.

TLS obsolescence: Postfix now treats the "export" and "low" cipher
grade settings as "medium". The "export" and "low" grades are no
longer supported in OpenSSL 1.1.1, the minimum version required in
Postfix 3.6.0 and later. Also, Postfix default settings now exclude
deprecated or unused ciphers (SEED, IDEA, 3DES, RC2, RC4, RC5),
digest (MD5), key exchange algorithms (DH, ECDH), and public key
algorithm (DSS).

Attack resistance: the Postfix SMTP server can now aggregate
smtpd_client_*_rate and smtpd_client_*_count statistics by network
block instead of by IP address, to raise the bar against a memory
exhaustion attack in the anvil(8) server; Postfix TLS support
unconditionally disables TLS renegotiation in the middle of an SMTP
connection, to avoid a CPU exhaustion attack.

The PostgreSQL client encoding is now configurable with the "encoding"
Postfix configuration file attribute. The default is "UTF8".
Previously the encoding was hard-coded as "LATIN1", which is not
useful in the context of SMTP.

The postconf command now warns for #comment in or after a Postfix
parameter value. Postfix programs do not support #comment after
other text, and treat that as input.


January 12, 2023: 3.7.4
=======================

Workaround: with OpenSSL 3 and later always turn on
SSL_OP_IGNORE_UNEXPECTED_EOF, to avoid warning messages and missed
opportunities for TLS session reuse. This is safe because the SMTP
protocol implements application-level framing, and is therefore
not affected by TLS truncation attacks. Fix by Viktor Dukhovni.

Workaround: OpenSSL 3.x EVP_get_digestbyname() can return lazily-bound
handles for digest implementations. In sufficiently hostile
configurations, Postfix could mistakenly believe that a digest
algorithm is available, and fail when it is not. A similar workaround
may be needed for EVP_get_cipherbyname(). Fix by Viktor Dukhovni.

Bugfix (bug introduced in Postfix 2.11): the checkok() macro in
tls/tls_fprint.c evaluated its argument unconditionally; it should
evaluate the argument only if there was no prior error. Found during
code review.

Bugfix (bug introduced in Postfix 2.8): postscreen died with a
segmentation violation when postscreen_dnsbl_threshold < 1. It
should reject such input with a fatal error instead. Discovered by
Benny Pedersen.

Bitrot: fixes for linker warnings from newer Darwin (MacOS) versions.
Viktor Dukhovni.

Portability: Linux 6 support.

Added missing documentation that cidr:, pcre: and regexp: tables
support inline specification only in Postfix 3.7 and later.
@
text
@a10 1
<link rel='stylesheet' type='text/css' href='postfix-doc.css'>
@


1.1.1.6.2.1
log
@Sync with HEAD
@
text
@d2 1
a2 1
        "https://www.w3.org/TR/html4/loose.dtd">
d388 1
a388 1
or <a href="https://www.t29.dk/antiantivirus.txt">https://www.t29.dk/antiantivirus.txt</a>.  </p>
@


1.1.1.7
log
@Import postfix-3.10.1 (previous was 3.8.4)

Summary:

Postfix 3.9 (July 2022): This release focused on enhancing the TLS
(Transport Layer Security) capabilities of Postfix. It introduced
support for TLSv1.3, allowing for more secure and efficient encrypted
communications. Additionally, improvements were made to the handling
of TLSA records, which are used in DNS-based Authentication of
Named Entities (DANE) to associate TLS certificates with domain
names.

Postfix 3.10 (July 2023): This version brought significant updates
to Postfix's SMTP (Simple Mail Transfer Protocol) functionalities.
It added support for the SMTPUTF8 extension, enabling the use of
UTF-8 encoding in email addresses and headers, which is essential
for internationalization. The release also included performance
optimizations, particularly in the handling of large mail queues,
and introduced new configuration parameters to provide administrators
with finer control over mail processing.

The changes are described more in detail in:
3.10 changes: RELEASE_NOTES
3.9  changes: RELEASE_NOTES_3.9
3.8  changes: RELEASE_NOTES_3.8
@
text
@d2 1
a2 1
        "https://www.w3.org/TR/html4/loose.dtd">
d388 1
a388 1
or <a href="https://www.t29.dk/antiantivirus.txt">https://www.t29.dk/antiantivirus.txt</a>.  </p>
@


1.1.1.1.4.1
log
@file BACKSCATTER_README.html was added on branch matt-nb5-mips64 on 2010-04-21 05:23:29 +0000
@
text
@d1 406
@


1.1.1.1.4.2
log
@sync to netbsd-5
@
text
@a0 406
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title>Postfix Backscatter Howto</title>

<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">

</head>

<body>

<h1><img src="postfix-logo.jpg" width="203" height="98" ALT="">Postfix
Backscatter Howto</h1>

<hr>

<h2>Overview </h2>

<p> This document describes features that require Postfix version
2.0 or later. </p>

<p> Topics covered in this document: </p>

<ul>

<li><a href="#wtf">What is backscatter mail?</a>

<li><a href="#random">How do I block backscatter mail to random
recipient addresses?</a>

<li><a href="#real">How do I block backscatter mail to real
recipient addresses?</a>

<ul>

<li><a href="#forged_helo">Blocking backscatter mail with forged
mail server information</a>

<li><a href="#forged_sender">Blocking backscatter mail with forged
sender information</a>

<li><a href="#forged_other">Blocking backscatter mail with other
forged information</a>

<li><a href="#scanner">Blocking backscatter mail from virus
scanners</a>

</ul>

</ul>

<p> The examples use Perl Compatible Regular Expressions (Postfix
<a href="pcre_table.5.html">pcre</a>: tables), but also provide a translation to POSIX regular
expressions (Postfix <a href="regexp_table.5.html">regexp</a>: tables). PCRE is preferred primarily
because the implementation is often faster.</p>

<h2><a name="wtf">What is backscatter mail?</a></h2>

<p> When a spammer or worm sends mail with forged sender addresses,
innocent sites are flooded with undeliverable mail notifications.
This is called backscatter mail.  With Postfix, you know that you're
a backscatter victim when your logfile goes on and on like this:
</p>

<blockquote>
<pre>
Dec  4 04:30:09 hostname postfix/smtpd[58549]: NOQUEUE: reject:
RCPT from xxxxxxx[x.x.x.x]: 550 5.1.1 &lt;yyyyyy@@your.domain.here&gt;:
Recipient address rejected: User unknown; from=&lt;&gt;
to=&lt;yyyyyy@@your.domain.here&gt; proto=ESMTP helo=&lt;zzzzzz&gt;
</pre>
</blockquote>

<p> What you see are lots of "user unknown" errors with "from=&lt;&gt;".
These are error reports from MAILER-DAEMONs elsewhere on the Internet.
</p>

<h2><a name="random">How do I block backscatter mail to random
recipient addresses?</a></h2>

<p> If your machine receives backscatter mail to random addresses,
configure Postfix to reject all mail for non-existent recipients
as described in the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> and
<a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> documentation.  </p>

<p> If your machine runs Postfix 2.0 and earlier, disable the "pause
before reject" feature in the SMTP server. If your system is under
stress then it should not waste time. </p>

<blockquote>
<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    # Not needed with Postfix 2.1 and later.
    <a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a> = 0

    # Not needed with Postfix 2.4 and later.
    <a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> = 550
</pre>
</blockquote>

<h2><a name="real">How do I block backscatter mail to real
recipient addresses?</a></h2>

<p> When backscatter mail passes the "unknown recipient" barrier,
there still is no need to despair.  Many mail systems are kind
enough to attach the message headers of the undeliverable mail in
the non-delivery notification. These message headers contain
information that you can use to recognize and block forged mail.
</p>

<h3><a name="forged_helo">Blocking backscatter mail with forged
mail server information</a></h3>

<p> Although my email address is "wietse@@porcupine.org", all my
mail systems announce themselves with the SMTP HELO command as
"hostname.porcupine.org".  Thus, if returned mail has a Received:
message header like this: </p>

<blockquote>
<pre>
Received: from porcupine.org ...
</pre>
</blockquote>

<p> Then I know that this is almost certainly forged mail (almost;
see <a href="#caveats">next section</a> for the fly in the ointment).
Mail that is really
sent by my systems looks like this: </p>

<blockquote>
<pre>
Received: from hostname.porcupine.org ...
</pre>
</blockquote>

<p> For the same reason the following message headers are very likely
to be the result of forgery:</p>

<blockquote>
<pre>
Received: from host.example.com ([1.2.3.4] helo=porcupine.org) ...
Received: from [1.2.3.4] (port=12345 helo=porcupine.org) ...
Received: from host.example.com (HELO porcupine.org) ...
Received: from host.example.com (EHLO porcupine.org) ...
</pre>
</blockquote>

<p> Some forgeries show up in the way that a mail server reports
itself in Received: message headers. Keeping in mind that all my
systems have a mail server name of <i>hostname</i>.porcupine.org,
the following is definitely a forgery:</p>

<blockquote>
<pre>
Received: by porcupine.org ...
Received: from host.example.com ( ... ) by porcupine.org ...
</pre>
</blockquote>

<p> Another frequent sign of forgery is the Message-ID: header. My
systems produce a Message-ID: of
&lt;<i>stuff</i>@@<i>hostname</i>.porcupine.org&gt;.  The following
are forgeries, especially the first one:

<blockquote>
<pre>
Message-ID: &lt;1cb479435d8eb9.2beb1.qmail@@porcupine.org&gt;
Message-ID: &lt;yulszqocfzsficvzzju@@porcupine.org&gt;
</pre>
</blockquote>

<p> To block such backscatter I use <a href="postconf.5.html#header_checks">header_checks</a> and <a href="postconf.5.html#body_checks">body_checks</a>
patterns like this: </p>

<blockquote>
<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    <a href="postconf.5.html#header_checks">header_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/header_checks
    <a href="postconf.5.html#body_checks">body_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/body_checks

/etc/postfix/header_checks:
    if /^Received:/
    /^Received: +from +(porcupine\.org) +/
        reject forged client name in Received: header: $1
    /^Received: +from +[^ ]+ +\(([^ ]+ +[he]+lo=|[he]+lo +)(porcupine\.org)\)/
        reject forged client name in Received: header: $2
    /^Received:.* +by +(porcupine\.org)\b/
        reject forged mail server name in Received: header: $1
    endif
    /^Message-ID:.* &lt;!&amp;!/ DUNNO
    /^Message-ID:.*@@(porcupine\.org)/
	reject forged domain name in Message-ID: header: $1

/etc/postfix/body_checks:
    if /^[&gt; ]*Received:/
    /^[&gt; ]*Received: +from +(porcupine\.org) /
        reject forged client name in Received: header: $1
    /^[&gt; ]*Received: +from +[^ ]+ +\(([^ ]+ +[he]+lo=|[he]+lo +)(porcupine\.org)\)/
        reject forged client name in Received: header: $2
    /^[&gt; ]*Received:.* +by +(porcupine\.org)\b/
        reject forged mail server name in Received: header: $1
    endif
    /^[&gt; ]*Message-ID:.* &lt;!&amp;!/ DUNNO
    /^[&gt; ]*Message-ID:.*@@(porcupine\.org)/
	reject forged domain name in Message-ID: header: $1
</pre>
</blockquote>

<p> Notes: </p>

<ul>

<li> <p> The example uses <a href="pcre_table.5.html">pcre</a>: tables mainly for speed; with minor
modifications, you can use <a href="regexp_table.5.html">regexp</a>: tables as explained below. </p>

<li> <p> The example is simplified for educational purposes.  In
reality my patterns list multiple domain names, as
"<tt>(domain|domain|...)</tt>".  </p>

<li> <p> The "<tt>\.</tt>" matches "<tt>.</tt>" literally. Without
the "<tt>\</tt>", the "<tt>.</tt>" would match any character. </p>

<li> <p> The "<tt>\(</tt>" and "<tt>\)</tt>" match "<tt>(</tt>"
and "<tt>)</tt>" literally. Without the "<tt>\</tt>", the "<tt>(</tt>"
and "<tt>)</tt>" would be grouping operators.  </p>

<li> <p> The "<tt>\b</tt>" is used here to match the end of a word.
If you use <a href="regexp_table.5.html">regexp</a>: tables, specify "<tt>[[:&gt;:]]</tt>" (on some
systems you should specify "<tt>\&gt;</tt>" instead; for details
see your system documentation).

<li> <p> The "if /pattern/" and "endif" eliminate unnecessary
matching attempts. DO NOT indent lines starting with /pattern/
between the "if" and "endif"! </p>

<li> <p> The two "<tt>Message-ID:.* &lt;!&amp;!</tt>" rules are
workarounds for some versions of Outlook express, as described in
the <a href="#caveats"> caveats </a> section below.

</ul>

<p><a name="caveats"><strong>Caveats</strong></a></p>

<ul>

<li>

<p> Netscape Messenger (and reportedly, Mozilla) sends a HELO name
that is identical to the sender address domain part. If you have
such clients then the above patterns would block legitimate email.
</p>

<p> My network has only one such machine, and to prevent its mail
from being blocked I have configured it to send mail as
user@@hostname.porcupine.org. On the Postfix server, a canonical
mapping translates this temporary address into user@@porcupine.org.
</p>

<blockquote>
<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    <a href="postconf.5.html#canonical_maps">canonical_maps</a> = hash:/etc/postfix/canonical

/etc/postfix/canonical:
    @@hostname.porcupine.org @@porcupine.org
</pre>
</blockquote>

<p> This is of course practical only when you have very few systems
that send HELO commands like this, and when you never have to send
mail to a user on such a host. </p>

<p> An alternative would be to remove the hostname from
"hostname.porcupine.org" with address
masquerading, as described in the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
</p>

<li> <p> Reportedly, Outlook 2003 (perhaps Outlook Express, and
other versions as well) present substantially different Message-ID
headers depending upon whether or not a DSN is requested (via Options
"Request a delivery receipt for this message"). </p>

<p> When a DSN is requested, Outlook 2003 uses a Message-ID string
that ends in the sender's domain name: </p>

<blockquote>
<pre>
Message-ID: &lt;!&amp;! ...very long string... ==@@example.com&gt;
</pre>
</blockquote>

<p> where <i>example.com</i> is the domain name part of the email
address specified in Outlook's account settings for the user.  Since
many users configure their email addresses as <i>username@@example.com</i>,
messages with DSN turned on will trigger the REJECT action in the
previous section. </p>

<p> If you have such clients then you can to exclude their Message-ID
strings with the two "<tt>Message-ID:.* &lt;!&amp;!</tt>" patterns
that are shown in the previous section.  Otherwise you will not be
able to use the two backscatter rules to stop forged Message ID
strings.  Of course this workaround may break the next time Outlook
is changed.  </p>

</ul>

<h3><a name="forged_sender">Blocking backscatter mail with forged
sender information</a></h3>

Like many people I still have a few email addresses in domains that
I used in the past. Mail for those addresses is forwarded to my
current address.  Most of the backscatter mail that I get claims
to be sent from these addresses.  Such mail is obviously forged
and is very easy to stop.

<blockquote>
<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    <a href="postconf.5.html#header_checks">header_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/header_checks
    <a href="postconf.5.html#body_checks">body_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/body_checks

/etc/postfix/header_checks:
    /^(From|Return-Path):.*\b(user@@domain\.tld)\b/ 
        reject forged sender address in $1: header: $2

/etc/postfix/body_checks:
    /^[&gt; ]*(From|Return-Path):.*\b(user@@domain\.tld)\b/ 
        reject forged sender address in $1: header: $2
</pre>
</blockquote>

<p> Notes: </p>

<ul>

<li> <p> The example uses <a href="pcre_table.5.html">pcre</a>: tables mainly for speed; with minor
modifications, you can use <a href="regexp_table.5.html">regexp</a>: tables as explained below. </p>

<li> <p> The example is simplified for educational purposes.  In
reality, my patterns list multiple email addresses as
"<tt>(user1@@domain1\.tld|user2@@domain2\.tld)</tt>".  </p>

<li> <p> The two "<tt>\b</tt>" as used in "<tt>\b(user@@domain\.tld)\b</tt>"
match the beginning and end of a word, respectively.  If you use
<a href="regexp_table.5.html">regexp</a>: tables, specify "<tt>[[:&lt;:]]</tt> and <tt>[[:&gt;:]]</tt>"
(on some systems you should specify "<tt>\&lt;</tt> and <tt>\&gt;</tt>"
instead; for details see your system documentation).  </p>

<li> <p> The "<tt>\.</tt>" matches "<tt>.</tt>" literally. Without
the "<tt>\</tt>", the "<tt>.</tt>" would match any character. </p>

</ul>

<h3><a name="forged_other">Blocking backscatter mail with other
forged information</a></h3>

<p> Another sign of forgery can be found in the IP address that is
recorded in Received: headers next to your HELO host or domain name.
This information must be used with care, though. Some mail servers
are behind a network address translator and never see the true
client IP address.  </p>

<h3><a name="scanner">Blocking backscatter mail from virus
scanners</a></h3>

<p> With all the easily recognizable forgeries eliminated, there
is one category of backscatter mail that remains, and that is
notifications from virus scanner software. Unfortunately, some
virus scanning software doesn't know that viruses forge sender
addresses. To make matters worse, the software also doesn't know
how to report a mail delivery problem, so that we cannot use the
above techniques to recognize forgeries.  </p>

<p> Recognizing virus scanner mail is an error prone process,
because there is a lot of variation in report formats.  The following
is only a small example of message header patterns.  For a large
collection of header and body patterns that recognize virus
notification email, see <a href="http://www.dkuug.dk/keld/virus/">http://www.dkuug.dk/keld/virus/</a>
or <a href="http://www.t29.dk/antiantivirus.txt">http://www.t29.dk/antiantivirus.txt</a>.  </p>

<blockquote>
<pre>
/etc/postfix/header_checks:
    /^Subject: *Your email contains VIRUSES/ DISCARD virus notification
    /^Content-Disposition:.*VIRUS1_DETECTED_AND_REMOVED/
        DISCARD virus notification
    /^Content-Disposition:.*VirusWarning.txt/ DISCARD virus notification
</pre>
</blockquote>

<p> Note: these documents haven't been updated since 2004, so they
are useful only as a starting point. </p>

<p> A plea to virus or spam scanner operators: please do not make
the problem worse by sending return mail to forged sender addresses.
You're only harassing innocent people. If you must return mail to
the purported sender, please return the full message headers, so
that the sender can filter out the obvious forgeries. </p>

</body>

</html>
@


1.1.1.1.2.1
log
@file BACKSCATTER_README.html was added on branch netbsd-5 on 2009-09-15 06:02:12 +0000
@
text
@d1 406
@


1.1.1.1.2.2
log
@Apply patch (requested by tron in ticket #944):
Update Postfix to 2.6.5.
@
text
@a0 406
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title>Postfix Backscatter Howto</title>

<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">

</head>

<body>

<h1><img src="postfix-logo.jpg" width="203" height="98" ALT="">Postfix
Backscatter Howto</h1>

<hr>

<h2>Overview </h2>

<p> This document describes features that require Postfix version
2.0 or later. </p>

<p> Topics covered in this document: </p>

<ul>

<li><a href="#wtf">What is backscatter mail?</a>

<li><a href="#random">How do I block backscatter mail to random
recipient addresses?</a>

<li><a href="#real">How do I block backscatter mail to real
recipient addresses?</a>

<ul>

<li><a href="#forged_helo">Blocking backscatter mail with forged
mail server information</a>

<li><a href="#forged_sender">Blocking backscatter mail with forged
sender information</a>

<li><a href="#forged_other">Blocking backscatter mail with other
forged information</a>

<li><a href="#scanner">Blocking backscatter mail from virus
scanners</a>

</ul>

</ul>

<p> The examples use Perl Compatible Regular Expressions (Postfix
<a href="pcre_table.5.html">pcre</a>: tables), but also provide a translation to POSIX regular
expressions (Postfix <a href="regexp_table.5.html">regexp</a>: tables). PCRE is preferred primarily
because the implementation is often faster.</p>

<h2><a name="wtf">What is backscatter mail?</a></h2>

<p> When a spammer or worm sends mail with forged sender addresses,
innocent sites are flooded with undeliverable mail notifications.
This is called backscatter mail.  With Postfix, you know that you're
a backscatter victim when your logfile goes on and on like this:
</p>

<blockquote>
<pre>
Dec  4 04:30:09 hostname postfix/smtpd[58549]: NOQUEUE: reject:
RCPT from xxxxxxx[x.x.x.x]: 550 5.1.1 &lt;yyyyyy@@your.domain.here&gt;:
Recipient address rejected: User unknown; from=&lt;&gt;
to=&lt;yyyyyy@@your.domain.here&gt; proto=ESMTP helo=&lt;zzzzzz&gt;
</pre>
</blockquote>

<p> What you see are lots of "user unknown" errors with "from=&lt;&gt;".
These are error reports from MAILER-DAEMONs elsewhere on the Internet.
</p>

<h2><a name="random">How do I block backscatter mail to random
recipient addresses?</a></h2>

<p> If your machine receives backscatter mail to random addresses,
configure Postfix to reject all mail for non-existent recipients
as described in the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> and
<a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> documentation.  </p>

<p> If your machine runs Postfix 2.0 and earlier, disable the "pause
before reject" feature in the SMTP server. If your system is under
stress then it should not waste time. </p>

<blockquote>
<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    # Not needed with Postfix 2.1 and later.
    <a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a> = 0

    # Not needed with Postfix 2.4 and later.
    <a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> = 550
</pre>
</blockquote>

<h2><a name="real">How do I block backscatter mail to real
recipient addresses?</a></h2>

<p> When backscatter mail passes the "unknown recipient" barrier,
there still is no need to despair.  Many mail systems are kind
enough to attach the message headers of the undeliverable mail in
the non-delivery notification. These message headers contain
information that you can use to recognize and block forged mail.
</p>

<h3><a name="forged_helo">Blocking backscatter mail with forged
mail server information</a></h3>

<p> Although my email address is "wietse@@porcupine.org", all my
mail systems announce themselves with the SMTP HELO command as
"hostname.porcupine.org".  Thus, if returned mail has a Received:
message header like this: </p>

<blockquote>
<pre>
Received: from porcupine.org ...
</pre>
</blockquote>

<p> Then I know that this is almost certainly forged mail (almost;
see <a href="#caveats">next section</a> for the fly in the ointment).
Mail that is really
sent by my systems looks like this: </p>

<blockquote>
<pre>
Received: from hostname.porcupine.org ...
</pre>
</blockquote>

<p> For the same reason the following message headers are very likely
to be the result of forgery:</p>

<blockquote>
<pre>
Received: from host.example.com ([1.2.3.4] helo=porcupine.org) ...
Received: from [1.2.3.4] (port=12345 helo=porcupine.org) ...
Received: from host.example.com (HELO porcupine.org) ...
Received: from host.example.com (EHLO porcupine.org) ...
</pre>
</blockquote>

<p> Some forgeries show up in the way that a mail server reports
itself in Received: message headers. Keeping in mind that all my
systems have a mail server name of <i>hostname</i>.porcupine.org,
the following is definitely a forgery:</p>

<blockquote>
<pre>
Received: by porcupine.org ...
Received: from host.example.com ( ... ) by porcupine.org ...
</pre>
</blockquote>

<p> Another frequent sign of forgery is the Message-ID: header. My
systems produce a Message-ID: of
&lt;<i>stuff</i>@@<i>hostname</i>.porcupine.org&gt;.  The following
are forgeries, especially the first one:

<blockquote>
<pre>
Message-ID: &lt;1cb479435d8eb9.2beb1.qmail@@porcupine.org&gt;
Message-ID: &lt;yulszqocfzsficvzzju@@porcupine.org&gt;
</pre>
</blockquote>

<p> To block such backscatter I use <a href="postconf.5.html#header_checks">header_checks</a> and <a href="postconf.5.html#body_checks">body_checks</a>
patterns like this: </p>

<blockquote>
<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    <a href="postconf.5.html#header_checks">header_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/header_checks
    <a href="postconf.5.html#body_checks">body_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/body_checks

/etc/postfix/header_checks:
    if /^Received:/
    /^Received: +from +(porcupine\.org) +/
        reject forged client name in Received: header: $1
    /^Received: +from +[^ ]+ +\(([^ ]+ +[he]+lo=|[he]+lo +)(porcupine\.org)\)/
        reject forged client name in Received: header: $2
    /^Received:.* +by +(porcupine\.org)\b/
        reject forged mail server name in Received: header: $1
    endif
    /^Message-ID:.* &lt;!&amp;!/ DUNNO
    /^Message-ID:.*@@(porcupine\.org)/
	reject forged domain name in Message-ID: header: $1

/etc/postfix/body_checks:
    if /^[&gt; ]*Received:/
    /^[&gt; ]*Received: +from +(porcupine\.org) /
        reject forged client name in Received: header: $1
    /^[&gt; ]*Received: +from +[^ ]+ +\(([^ ]+ +[he]+lo=|[he]+lo +)(porcupine\.org)\)/
        reject forged client name in Received: header: $2
    /^[&gt; ]*Received:.* +by +(porcupine\.org)\b/
        reject forged mail server name in Received: header: $1
    endif
    /^[&gt; ]*Message-ID:.* &lt;!&amp;!/ DUNNO
    /^[&gt; ]*Message-ID:.*@@(porcupine\.org)/
	reject forged domain name in Message-ID: header: $1
</pre>
</blockquote>

<p> Notes: </p>

<ul>

<li> <p> The example uses <a href="pcre_table.5.html">pcre</a>: tables mainly for speed; with minor
modifications, you can use <a href="regexp_table.5.html">regexp</a>: tables as explained below. </p>

<li> <p> The example is simplified for educational purposes.  In
reality my patterns list multiple domain names, as
"<tt>(domain|domain|...)</tt>".  </p>

<li> <p> The "<tt>\.</tt>" matches "<tt>.</tt>" literally. Without
the "<tt>\</tt>", the "<tt>.</tt>" would match any character. </p>

<li> <p> The "<tt>\(</tt>" and "<tt>\)</tt>" match "<tt>(</tt>"
and "<tt>)</tt>" literally. Without the "<tt>\</tt>", the "<tt>(</tt>"
and "<tt>)</tt>" would be grouping operators.  </p>

<li> <p> The "<tt>\b</tt>" is used here to match the end of a word.
If you use <a href="regexp_table.5.html">regexp</a>: tables, specify "<tt>[[:&gt;:]]</tt>" (on some
systems you should specify "<tt>\&gt;</tt>" instead; for details
see your system documentation).

<li> <p> The "if /pattern/" and "endif" eliminate unnecessary
matching attempts. DO NOT indent lines starting with /pattern/
between the "if" and "endif"! </p>

<li> <p> The two "<tt>Message-ID:.* &lt;!&amp;!</tt>" rules are
workarounds for some versions of Outlook express, as described in
the <a href="#caveats"> caveats </a> section below.

</ul>

<p><a name="caveats"><strong>Caveats</strong></a></p>

<ul>

<li>

<p> Netscape Messenger (and reportedly, Mozilla) sends a HELO name
that is identical to the sender address domain part. If you have
such clients then the above patterns would block legitimate email.
</p>

<p> My network has only one such machine, and to prevent its mail
from being blocked I have configured it to send mail as
user@@hostname.porcupine.org. On the Postfix server, a canonical
mapping translates this temporary address into user@@porcupine.org.
</p>

<blockquote>
<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    <a href="postconf.5.html#canonical_maps">canonical_maps</a> = hash:/etc/postfix/canonical

/etc/postfix/canonical:
    @@hostname.porcupine.org @@porcupine.org
</pre>
</blockquote>

<p> This is of course practical only when you have very few systems
that send HELO commands like this, and when you never have to send
mail to a user on such a host. </p>

<p> An alternative would be to remove the hostname from
"hostname.porcupine.org" with address
masquerading, as described in the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
</p>

<li> <p> Reportedly, Outlook 2003 (perhaps Outlook Express, and
other versions as well) present substantially different Message-ID
headers depending upon whether or not a DSN is requested (via Options
"Request a delivery receipt for this message"). </p>

<p> When a DSN is requested, Outlook 2003 uses a Message-ID string
that ends in the sender's domain name: </p>

<blockquote>
<pre>
Message-ID: &lt;!&amp;! ...very long string... ==@@example.com&gt;
</pre>
</blockquote>

<p> where <i>example.com</i> is the domain name part of the email
address specified in Outlook's account settings for the user.  Since
many users configure their email addresses as <i>username@@example.com</i>,
messages with DSN turned on will trigger the REJECT action in the
previous section. </p>

<p> If you have such clients then you can to exclude their Message-ID
strings with the two "<tt>Message-ID:.* &lt;!&amp;!</tt>" patterns
that are shown in the previous section.  Otherwise you will not be
able to use the two backscatter rules to stop forged Message ID
strings.  Of course this workaround may break the next time Outlook
is changed.  </p>

</ul>

<h3><a name="forged_sender">Blocking backscatter mail with forged
sender information</a></h3>

Like many people I still have a few email addresses in domains that
I used in the past. Mail for those addresses is forwarded to my
current address.  Most of the backscatter mail that I get claims
to be sent from these addresses.  Such mail is obviously forged
and is very easy to stop.

<blockquote>
<pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
    <a href="postconf.5.html#header_checks">header_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/header_checks
    <a href="postconf.5.html#body_checks">body_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/body_checks

/etc/postfix/header_checks:
    /^(From|Return-Path):.*\b(user@@domain\.tld)\b/ 
        reject forged sender address in $1: header: $2

/etc/postfix/body_checks:
    /^[&gt; ]*(From|Return-Path):.*\b(user@@domain\.tld)\b/ 
        reject forged sender address in $1: header: $2
</pre>
</blockquote>

<p> Notes: </p>

<ul>

<li> <p> The example uses <a href="pcre_table.5.html">pcre</a>: tables mainly for speed; with minor
modifications, you can use <a href="regexp_table.5.html">regexp</a>: tables as explained below. </p>

<li> <p> The example is simplified for educational purposes.  In
reality, my patterns list multiple email addresses as
"<tt>(user1@@domain1\.tld|user2@@domain2\.tld)</tt>".  </p>

<li> <p> The two "<tt>\b</tt>" as used in "<tt>\b(user@@domain\.tld)\b</tt>"
match the beginning and end of a word, respectively.  If you use
<a href="regexp_table.5.html">regexp</a>: tables, specify "<tt>[[:&lt;:]]</tt> and <tt>[[:&gt;:]]</tt>"
(on some systems you should specify "<tt>\&lt;</tt> and <tt>\&gt;</tt>"
instead; for details see your system documentation).  </p>

<li> <p> The "<tt>\.</tt>" matches "<tt>.</tt>" literally. Without
the "<tt>\</tt>", the "<tt>.</tt>" would match any character. </p>

</ul>

<h3><a name="forged_other">Blocking backscatter mail with other
forged information</a></h3>

<p> Another sign of forgery can be found in the IP address that is
recorded in Received: headers next to your HELO host or domain name.
This information must be used with care, though. Some mail servers
are behind a network address translator and never see the true
client IP address.  </p>

<h3><a name="scanner">Blocking backscatter mail from virus
scanners</a></h3>

<p> With all the easily recognizable forgeries eliminated, there
is one category of backscatter mail that remains, and that is
notifications from virus scanner software. Unfortunately, some
virus scanning software doesn't know that viruses forge sender
addresses. To make matters worse, the software also doesn't know
how to report a mail delivery problem, so that we cannot use the
above techniques to recognize forgeries.  </p>

<p> Recognizing virus scanner mail is an error prone process,
because there is a lot of variation in report formats.  The following
is only a small example of message header patterns.  For a large
collection of header and body patterns that recognize virus
notification email, see <a href="http://www.dkuug.dk/keld/virus/">http://www.dkuug.dk/keld/virus/</a>
or <a href="http://www.t29.dk/antiantivirus.txt">http://www.t29.dk/antiantivirus.txt</a>.  </p>

<blockquote>
<pre>
/etc/postfix/header_checks:
    /^Subject: *Your email contains VIRUSES/ DISCARD virus notification
    /^Content-Disposition:.*VIRUS1_DETECTED_AND_REMOVED/
        DISCARD virus notification
    /^Content-Disposition:.*VirusWarning.txt/ DISCARD virus notification
</pre>
</blockquote>

<p> Note: these documents haven't been updated since 2004, so they
are useful only as a starting point. </p>

<p> A plea to virus or spam scanner operators: please do not make
the problem worse by sending return mail to forged sender addresses.
You're only harassing innocent people. If you must return mail to
the purported sender, please return the full message headers, so
that the sender can filter out the obvious forgeries. </p>

</body>

</html>
@


