Hello,

I want to check inbound SMTP connections
to verify that the HELO/EHLO name matches
the associated rDNS entry.

MY FILTER
filter "HELO_FQDN" phase ehlo match !helo rdns disconnect "NNN:msg."

REPORTED ERROR
doas smtpd -n
/etc/mail/smtpd.conf:191: syntax error

IDEA ORIGINATION (smtpd.conf man page, as follows)
match
  [!] helo helo-name | <helo-name>
   Specify that session's HELO/EHLO should match the string \
      or list table helo-name.

ALSO TRIED
filter "HELO_FQDN" phase ehlo match !helo {rdns} disconnect "NNN:msg."
filter "HELO_FQDN" phase ehlo match !helo fcrdns disconnect "NNN:msg."
filter "HELO_FQDN" phase ehlo match !helo {fcrdns} disconnect "NNN:msg."
with identical errors to that above.

According to man 5 smtpd.conf
...
helo <table>             helo name is in table
...

What follows helo must be a table with allowed!disallowed hostnames. rdns after helo is not a function or comparison.

SUMMARY
smtpd has the rDNS name associated with the calling SMTP session;
how to use that name in a filter?

Someone has to program a custom filter with smtpd-filters API.
man 7 smtpd-filters

Reply via email to