Should qmail-dk/qmail-smtpd/qmail.c be made to spit out the specific
DK_STAT code to the remote SMTP client rather than a blanket 554
permanent error?
Mailing list messages passed along to me by mailman mailing lists managers (such as the popular lists 'rsync', 'samba-users', and 'linux-cluster') seem to often get rejected by qmail-stmpd with a 554 error when the original message author is using yahoo or gmail (domains w/domainkeys).
---- error message:
"<[EMAIL PROTECTED]>: host mail.XXXX.com[XX.XXX.XX.XXX] said: 554 mail server
permanently rejected message (#5.3.0) (in reply to end of DATA command)"
"Final-Recipient: rfc822; [EMAIL PROTECTED]
Action: failed
Status: 5.0.0
Diagnostic-Code: X-Postfix; host mail.blur.com[66.93.150.100] said: 554 mail
server permanently rejected message (#5.3.0) (in reply to end of DATA command)"
----
qmail-smtpd spits out that error when qmail-dk.c/dk_verify returns false.
qmail-toaster-1.03-1.3.5 tcpcontrol default -- "DKVERIFY="DEGIJKfh"
qmail-dk man page: "To verify a message, set the DKVERIFY environment variable to a desired set of letters. Precisely, if you want a libdomainkey return status to generate an error, include that letter, where A is the first return status (DK_STAT_OK), B is the second (DK_STAT_BADSIG), etc. The letter should be uppercase if you want a permanent error to be returned (exit code 13), and lowercase if you want a temporary error to be returned (exit code 82)."
libdomainkeys-0.68/domainkeys.c ---
A DK_STAT_OK, /* Function completed successfully */
B DK_STAT_BADSIG, /* Signature was available but failed to verify against domain specified key */
C DK_STAT_NOSIG, /* No signature available in message */
D DK_STAT_NOKEY, /* No public key available (permanent failure) */
E DK_STAT_BADKEY, /* Unusable key, public if verifying, private if signing */
F DK_STAT_CANTVRFY, /* Cannot get domain key to verify signature (temporary failure) */
G DK_STAT_SYNTAX, /* Message is not valid syntax. Signature could not be created/checked */
H DK_STAT_NORESOURCE, /* Could not get critical resource (temporary failure) */
I DK_STAT_ARGS, /* Arguments are not usable. */
J DK_STAT_REVOKED, /* Key has been revoked. */
K DK_STAT_INTERNAL, /* cannot call this routine in this context. Internal error. */
Out of "DEGIJKfh", which flag is causing rejection of DK signed messages that have been fubar'd by mailmain?
D=/* No public key available (permanent failure) */
E=/* Unusable key, public if verifying, private if signing */
G=/* Message is not valid syntax. Signature could not be created/checked */
I=/* Arguments are not usable. */