unconditionally. All supported systems should have poll(2). If
one is found that doesn't then this can be revisited and some way
of making it conditional can be implemented.
This resolves an issue with applications that have a large
number of open files and want to bump FD_SETSIZE. Since libmilter
no longer uses select(2), the application is free to monkey with
FD_SETSIZE as it pleases.
Changes since version 8.14.2:
* the MTA accessed storage after it free()d it. This was a regression
introduced in 8.14.2, but the bug only showed up on a few operating
systems.
* ruleset processing: the function cataddr() could cause the addition of
the BlankSub character between some tokens when it should not happen
and thus failures in rule matching. It seems that none of the default
rules were affected by this bug and hence the problem did not show up
for default configurations.
* the libmilter state engine did not deal correctly with milters that
requested the omission of protocol steps during the negotiation callback.
Approved by John Nemeth.
particular, libmilter does *not* support "ldap", "sasl", etc. which are
supported by only sendmail. Do this through the following:
(1) Create libmilter/options.mk with support for the "inet6" option.
(2) Drop inclusion of options.mk from sendmail/Makefile.common and move
it to libmilter/Makefile and sendmail/Makefile.
While here, properly support IPv6 on FreeBSD, which like DragonFly has
getipnodebyname() in libc.
As a result of these changes, libmilter will no longer depend on
cyrus-sasl or openssl or openldap-client depending on what is set
in PKG_DEFAULT_OPTIONS.
Bump the PKGREVISION of libmilter to 1 due to the changed dependency list.
No change to sendmail as the binary package does not change.
The sendmail Mail Filter API (Milter) is designed to allow third-party
programs access to mail messages as they are being processed in order to
filter meta-information and content.
libmilter provides the implementation of this API.