Hello all.
I am using opemsmtpd on an OpenBSD machine as an outbound mail relay for a small private network. I understand the filter API is not stable or ready to become integral to enterprise network infrastructure, etc. My use-case is pretty pedestrian (need to do some header rewriting using on_dataline), and I'm OK with all the caveats. Despite the fact my smtpd.conf passes the syntax check using a python filter, and smtpd -d -v loads and runs, I don't see any evidence the filter is being called. I have simplified to just use Gilles' example ( https://gist.github.com/jirutka/9e4921f447a254aa9631 or https://poolp.org/0xa871/The-state-of-filters , with no hashbang on the first line) which prints messages when the callbacks are invoked, and I've also tried to modify the on_connect function to write a simple debug file to /tmp . No message shows up in either version, nor is the file in /tmp created. Mails do get properly relayed and delivered to their destinations, and all associated log entries look OK, it's just that the filter functions don't appear to be getting called. System is OpenBSD 5.9 (all current patches applied), with the package opensmtpd-extras-python-201602042118.tgz installed. Help would be very much appreciated in figuring out what could be happening and where to look for clues. === representative smtpd.conf === int_if = "em1" filter testfilt python "/usr/local/libexec/smtpd/example_filt.py" listen on lo0 filter testfilt listen on $int_if filter testfilt accept from any for !local relay
