Comments only, no behaviour changed. go-milter v0.4.1 (session.go: one session per connection, replaced after a non-continue reply; macros per stage), Postfix 3.7.11 (milter8.c, smtpd_check.c reject_auth_sender_login_mismatch(), mail_addr_find.c, showq_compat.c, mail_conf_time.c, mail_params.h), Cyrus SASL 2.1.28 (saslpasswd.c, plugins/sasldb.c: deleting a missing login is not an error), OpenDKIM 2.11.0~beta2 (opendkim-db.c, opendkim-genkey), Berkeley DB 5.3 db_dump, rspamd 3.11.0. Comments that claimed what the source denies are corrected (sasldb keeps the password as given, not hashed; an embedded newline is kept, not truncated; rspamd sorts symbols by absolute weight); fixtures say seen or composed. The sender check's From: parsing gets no citations: it is replaced by the port of OpenDKIM's dkim_mail_parse next. Contradictions left for their own commits: B-G5 cleanAddress, B-PS1 first key wins, B-PQ1 the forced-expire flag, B-PQ10/PQ11 Postfix's time units. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
25 lines
1.0 KiB
Plaintext
25 lines
1.0 KiB
Plaintext
# From: lines that name another sender of this server, {other}, beside or in
|
|
# place of the application's own address at {domain} (review of audit stage
|
|
# 2). The check must refuse each: a line it read as the application's own and
|
|
# OpenDKIM as {other}'s would be signed with {other}'s key. The unit test
|
|
# (internal/milter/sender_test.go) wants each refused; the e2e
|
|
# (test/e2e/dkim_from_test.go) sends each and wants nothing signed for
|
|
# {other}. {OTHER} is {other} in capitals; {other_qp} is {other} with each
|
|
# dot escaped as a quoted pair. One Go-quoted string per line. The lines are
|
|
# composed by hand; that OpenDKIM signs none for {other} is measured, by the
|
|
# e2e on every run.
|
|
"b@{other}"
|
|
"<b@{other}>"
|
|
"\"a@{domain}\"@{other}"
|
|
"\"b@{other}\"@{domain}"
|
|
"\"x\\\" <b@{other}>\" <a@{domain}>"
|
|
"\"x\\\" <b@{other_qp}>\" <a@{domain}>"
|
|
"\"b@{other}\" <a@{domain}>"
|
|
"\"b@{OTHER}\" <a@{domain}>"
|
|
"b@{other} <a@{domain}>"
|
|
"a@{domain} (b@{other})"
|
|
"<a@{domain}> (b@{other})"
|
|
"(b@{other}) a@{domain}"
|
|
"=?utf-8?q?b=40{other}?= <a@{domain}>"
|
|
"\"x\" <b@{other}>, <a@{domain}>"
|