<domain>
Some versions of the Cisco PIX firewall have a known fault (CSCds90792) in parsing the mail protocol: if the terminating sequence with the dot is split across several network packets, the firewall rejects the message — and it gets duplicated on retry.
The workaround is simple: the node sends the final dot as a separate packet, so that it is sure to arrive whole. This is on by default.
The firewall is recognized by the greeting. If the greeting line has at least ten asterisks in a row — that is how the firewall hides the server’s real greeting — the node assumes a PIX is in front of it. There is no other check.
Leave it on. The workaround triggers only when the firewall is detected and does nothing in other cases.
There is no reason to turn it off. There is no gain: the cost is one extra packet per message, and only where the sign matched.
The paired line decides something else. bounce-upon-pix-transfer-failure determines what to do if duplication does happen; this one reduces its likelihood.
# the workaround is on by default; the line is needed only to bring it back <domain legacy.example.com> pix-bug-workaround true bounce-upon-pix-transfer-failure true </domain>
what people get wrong and how it ends2 mistakes▶
our experience
§ 3.3.10.97
1 relation
pmta show settings legacy.example.com/vmta1 | grep -i pix-bug grep -E '^220 .*[*][*][*]' /var/log/pmta/pmta.log | tail -10
3 articles
◇Four value types the whole config is written inBoolean, domain pattern, regular expression and time interval — defined once in § 3.2 and then used by all directives.◇Two inbound report processors and what to do with themBounces by message and complaints are parsed by two identically structured blocks; each has its own address list and its own pair of decisions about the message’s fate.◇How the policy for a receiver is assembledSettings are assembled from the most general pattern to the most precise; the order of blocks in the file means nothing.