John -
I think I now understand the problem. There was some left-over
language from the Sender ID protocol document that I think was causing
all the problems. Here is the currently revised opener of Section 4:
4. The check_host() Function
The check_host() function fetches SPF records, parses them, and
interprets them to evaluate if a particular host is or is not
permitted to send mail with a given "Mail From" identity. Mail
receivers that perform this check MUST correctly evaluate the
check_host() function as described here.
Implementations MAY use a different algorithm than the canonical
algorithm defined here, so long as the results are the same.
Now the first paragraph makes it clear what the purpose of the
check_host() function is, and that mail receivers must do it correctly.
The second paragraph is no only concerned with the standard disclaimer
that allows one to code the function as one sees fit, without following
the steps exactly as laid down.
Hope this works for you...
- Mark