1. The default overall result isn't defined for all cases
in which the mailfrom and helo results don't match.
The way that I see it, if we're applying the same logic to HELO
processing as we are to MAIL FROM:, then there wouldn't be any problem
since a Fail or PermError to HELO would result in a 5xx response and a
TempError would give a 4xx response. In either case, the transaction
could not proceed, so a MAIL FROM: check becomes moot.
If HELO gives us a 2xx response (either from None, Pass, Neutral, or
maybe even SoftFail), then I think that the result can be discarded and
the MAIL FROM: check stands on its own. Most likely, the HELO domain and
the MAIL FROM: domain would be different, so we can't really correlate
the results between the two.
--Marc