On Wed, Oct 28, 2020 at 09:05:40AM +0000, Allen Coates wrote: > Some time ago (5 years maybe) I discovered that "OK" was not being universally > recognised in every access list; I cultivated the habit of using the words > "ACCEPT" and REJECT" - and have had no problems since.
That's odd, because in fact Postfix does not support "ACCEPT", but smtpd(8) definitely supports "OK" in *ALL* access(5) tables: smtpd_check.c: if (STREQUAL(value, "DUNNO", cmd_len)) smtpd_check.c: if (STREQUAL(value, "REJECT", cmd_len)) { smtpd_check.c: if (STREQUAL(value, "DEFER", cmd_len)) { smtpd_check.c: if (STREQUAL(value, "HANGUP", cmd_len)) { smtpd_check.c: if (STREQUAL(value, "INFO", cmd_len)) { smtpd_check.c: if (STREQUAL(value, "WARN", cmd_len)) { smtpd_check.c: if (STREQUAL(value, "FILTER", cmd_len)) { smtpd_check.c: if (STREQUAL(value, "HOLD", cmd_len)) { smtpd_check.c: if (STREQUAL(value, "DELAY", cmd_len)) { smtpd_check.c: if (STREQUAL(value, "DISCARD", cmd_len)) { smtpd_check.c: if (STREQUAL(value, "REDIRECT", cmd_len)) { smtpd_check.c: if (STREQUAL(value, "BCC", cmd_len)) { smtpd_check.c: if (STREQUAL(value, DEFER_IF_PERMIT, cmd_len)) { smtpd_check.c: if (STREQUAL(value, DEFER_IF_REJECT, cmd_len)) { smtpd_check.c: if (STREQUAL(value, "PREPEND", cmd_len)) { smtpd_check.c: if (STREQUAL(value, "OK", cmd_len) || STREQUAL(value, "RELAY", cmd_len)) and even cleanup(8) supports "OK" in header/body_checks(5), though "DUNNO" is preferred: cleanup_message.c: if (STREQUAL(value, "REJECT", command_len)) { cleanup_message.c: if (STREQUAL(value, "WARN", command_len)) { cleanup_message.c: if (STREQUAL(value, "INFO", command_len)) { cleanup_message.c: if (STREQUAL(value, "FILTER", command_len)) { cleanup_message.c: if (STREQUAL(value, "PASS", command_len)) { cleanup_message.c: if (STREQUAL(value, "DISCARD", command_len)) { cleanup_message.c: if (STREQUAL(value, "HOLD", command_len)) { cleanup_message.c: if (STREQUAL(value, "DELAY", command_len)) { cleanup_message.c: if (STREQUAL(value, "PREPEND", command_len)) { cleanup_message.c: if (STREQUAL(value, "REPLACE", command_len)) { cleanup_message.c: if (STREQUAL(value, "REDIRECT", command_len)) { cleanup_message.c: if (STREQUAL(value, "BCC", command_len)) { cleanup_message.c: if (STREQUAL(value, "STRIP", command_len)) { cleanup_message.c: if (STREQUAL(value, "IGNORE", command_len)) cleanup_message.c: if (STREQUAL(value, "DUNNO", command_len)) /* preferred */ cleanup_message.c: if (STREQUAL(value, "OK", command_len)) /* compat */ -- Viktor.