diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/libskrewt.c | 3 | ||||
-rw-r--r-- | tools/sepofra.c | 6 | ||||
-rwxr-xr-x | tools/testall-skrewt | 9 | ||||
-rwxr-xr-x | tools/testall-ward (renamed from tools/testall) | 0 |
4 files changed, 15 insertions, 3 deletions
diff --git a/tools/libskrewt.c b/tools/libskrewt.c index f51a8bc..c8f2ccd 100644 --- a/tools/libskrewt.c +++ b/tools/libskrewt.c @@ -223,7 +223,8 @@ void check_spf(name_tester& fqdn, const string ip) { "", /* rcpt_to */ 0 /* verbosity */ ); - cerr << progid << " " << my_spf.explain() << endl; + string exp = my_spf.explain(); + if (exp != "") cerr << progid << " " << exp << endl; // keep a copy of the result: fqdn.spf = neutral; if (my_spf.result == SPF_RESULT_PASS) fqdn.spf = pass; diff --git a/tools/sepofra.c b/tools/sepofra.c index 25b73b7..0a731b9 100644 --- a/tools/sepofra.c +++ b/tools/sepofra.c @@ -123,13 +123,15 @@ void sepofra::check( return; } +// return "" if result is invalid +// otherwise build a string explaining how SPF reached its conclusion string sepofra::explain() const { if (result == SPF_RESULT_INVALID) return ""; -// now build a string stringstream build; string summary = SPF_strresult(result); if (result != SPF_RESULT_PASS - && result != SPF_RESULT_FAIL) summary = "neutral"; + && result != SPF_RESULT_FAIL + && result != SPF_RESULT_INVALID) summary = "neutral"; char hostname[1+HOST_NAME_MAX]; gethostname(hostname, 1+HOST_NAME_MAX); diff --git a/tools/testall-skrewt b/tools/testall-skrewt new file mode 100755 index 0000000..52e62cb --- /dev/null +++ b/tools/testall-skrewt @@ -0,0 +1,9 @@ +#! /bin/bash + +i=0 +for file in /home/jsd/Maildir/cur/* ; do + ((ii++)) + echo "**** $ii $file" + <$file ./skrewt -err >/tmp/testall.eml && diff $file /tmp/testall.eml || exit 1 +done +echo OK diff --git a/tools/testall b/tools/testall-ward index 27b912b..27b912b 100755 --- a/tools/testall +++ b/tools/testall-ward |