- nullmailer-send no longer generates bounces for rejected bounces.
Thanks Fejes József
- Fixed compile error in sendmail on GCC older than 4.9.
- Fixed treating authentication failure as message rejection.
Thanks Fejes József
- nullmailer-inject now sets the full name of the sender to the user
name as a fallback. This helps distinguish system sent messages when
the MTA rewrites the address (as does GMail, for example).
- Fixed compatibility issue with gnutls 3.6 (and possibly others).
- Added support for TLS anonymous authentication.
Thanks Uffe Jakobsen.
- Fixed sendmail wrapper handling of empty sender on command line.
Thanks Sebastian Wiedenroth.
- Fixed handling of quoted strings in the "remotes" file.
Thanks Mihai Moldovan.
- Fixed nullmailer-inject handling of leading "From " lines.
- Some build fixes.
- Fixed bogus temporary gethostbyname error message when the protocol
source address was incorrect.
- Fixed potential race condition in tests.
Thanks Felix Lechner.
- Fixed handling of time values on 32-bit big-endian systems.
Thanks Felix Lechner.
- Added support to nullmailer-send to move permanently failing messages
out of the queue, and to generate bounce messages.
- Added support for IPv6.
- Added program to generate bounce/delay messages.
- Added an "allmailfrom" control file to nullmailer-queue, causing all
messages to share a hard-coded envelope sender.
- Added logging the message sender/recipient in nullmailer-send.
- Improved handling of system errors when reading config files.
- Secured handling of password options for protocol modules.
- Support standard shell quoting for options in the "remotes" file.
- Added protocol option to set a separate TLS client private key file.
- Added protocol option to bind the source address on connections.
- Fixed nullmailer-inject to report errors to stderr.
- Fixed gnutls cast to pointer from integer of different size warning.
- Fixed nullmailer-inject and -queue to handle the null (empty) sender
address. Needed for RFC 3798 (Message Disposition Notification).
- Moved spool directory to /var/spool/nullmailer like other MTAs.
- Made nullmailer-queue sync and not just flush queued files to protect
against crashes during sensitive operations.
- Added support for SMTPS (SMTP over SSL/TLS) and STARTTLS.
- Added support for SSL/TLS client certificates.
- Added a quadratic backoff for resend times.
would otherwise cause a chown of the trigger file. (with DESTDIR,
the "nullmail" user & group are not yet created)
Because this leaves the trigger file possibly owned by root, add
a test in the rc "start" path to [re]make it when necessary.
put this test and the daemon background and logging into a
separate script so that it can be run by the rc framework as the
nullmail user in the normal way, and add a procname argument to
allow the "status" and "stop" rc commands to work properly.
bump PKGREVISION
the owner of all installed files is a non-root user. This change
affects most packages that require special users or groups by making
them use the specified unprivileged user and group instead.
(1) Add two new variables PKG_GROUPS_VARS and PKG_USERS_VARS to
unprivileged.mk. These two variables are lists of other bmake
variables that define package-specific users and groups. Packages
that have user-settable variables for users and groups, e.g. apache
and APACHE_{USER,GROUP}, courier-mta and COURIER_{USER,GROUP},
etc., should list these variables in PKG_USERS_VARS and PKG_GROUPS_VARS
so that unprivileged.mk can know to set them to ${UNPRIVILEGED_USER}
and ${UNPRIVILEGED_GROUP}.
(2) Modify packages to use PKG_GROUPS_VARS and PKG_USERS_VARS.
since they always need a C compiler, even when the source code is
completely in C++.
For some other packages, stated in the comment that a C compiler is
really not needed.
- Fixed the SMTP protocol module to send QUIT on protocol failures.
- Added support for the SMTP AUTH LOGIN method. Thanks to Sean
MacLennan for the suggestion.
- Fixed the SMTP protocol module to send EHLO instead of HELO when doing
authentication. Thanks to Norbert Tretkowski for pointing this out.
- Fixed compile breakage on Solaris due to use of setenv.
- Fixed netstring length bug in QMQP sending module.
- If the sender name cannot be determined from the environment
variables, try to pull it from /etc/passwd before using "unknown".
Thanks Roderick Schertler.
INSTALL/DEINSTALL script creation within pkgsrc.
If an INSTALL or DEINSTALL script is found in the package directory,
it is automatically used as a template for the pkginstall-generated
scripts. If instead, they should be used simply as the full scripts,
then the package Makefile should set INSTALL_SRC or DEINSTALL_SRC
explicitly, e.g.:
INSTALL_SRC= ${PKGDIR}/INSTALL
DEINSTALL_SRC= # emtpy
As part of the restructuring of the pkginstall framework internals,
we now *always* generate temporary INSTALL or DEINSTALL scripts. By
comparing these temporary scripts with minimal INSTALL/DEINSTALL
scripts formed from only the base templates, we determine whether or
not the INSTALL/DEINSTALL scripts are actually needed by the package
(see the generate-install-scripts target in bsd.pkginstall.mk).
In addition, more variables in the framework have been made private.
The *_EXTRA_TMPL variables have been renamed to *_TEMPLATE, which are
more sensible names given the very few exported variables in this
framework. The only public variables relating to the templates are:
INSTALL_SRC INSTALL_TEMPLATE
DEINSTALL_SRC DEINSTALL_TEMPLATE
HEADER_TEMPLATE
The packages in pkgsrc have been modified to reflect the changes in
the pkginstall framework.
- Fixed problem with multiple arguments to protocol modules.
Thanks Sascha Silbe.
- Fixed extraneous spaces in SMTP sender.
- Made permissions on queued files more strict.
- Handle the "-bs" flag in the sendmail wrapper by dieing when we see it.
- Fixed the address parser handling domain names with trailing periods.
- Fixed bug in header parsing that would cause the last header line to
be repeated if there was no body.
- Fixed bug in handling headers containing CR+LF line endings.
pkgsrc changes:
* Replace @exec and @unexec in PLIST with bsd.pkginstall.mk incantations
* sort PLIST
* Honor VARBASE in manpages and rc.d script
* Enable logging in rc.d script
* Allow rc.d script to start nullmailer without rc.subr
* Take MAINTAINER.
And always is defined as share/examples/rc.d
which was the default before.
This rc.d scripts are not automatically added to PLISTs now also.
So add to each corresponding PLIST as required.
This was discussed on tech-pkg in late January and late April.
Todo: remove the RCD_SCRIPTS_EXAMPLEDIR uses in MESSAGES and elsewhere
and remove the RCD_SCRIPTS_EXAMPLEDIR itself.
under share/examples/rc.d. The variable name already was named
RCD_SCRIPTS_EXAMPLEDIR.
This is from ideas from Greg Woods and others.
Also bumped PKGREVISION for all packages using RCD_SCRIPTS mechanism
(as requested by wiz).
under ${PREFIX} instead of being an absolute path.
So fix the references using RCD_SCRIPTS_EXAMPLEDIR to be
${PREFIX}/${RCD_SCRIPTS_EXAMPLEDIR}.
This should have no changes to use before.
Please note that the MESSAGE files in most cases are wrong in the
first place. We have automated mechanisms and could have an automated
message for explaining rc.d script usage. (This is something to do!)
which installs to ${RCD_SCRIPTS_EXAMPLEDIR}. But the MESSAGE
referred to wrong hard-coded location if the RCD_SCRIPTS_EXAMPLEDIR
was not the default. So use RCD_SCRIPTS_EXAMPLEDIR instead.
PKGREVISION not bumped because if someone had changed
RCD_SCRIPTS_EXAMPLEDIR before recent change of autoregistration
of rc.d script in PLIST, then it could not have been packaged
in first place.
Note that this commit does not imply that the MESSAGE is correct.
In some cases, the MESSAGE is clearly wrong such as suggesting
running the rc.d script from the example directory (which will work
although).
the RCD_SCRIPTS rc.d script(s) to the PLIST.
This GENERATE_PLIST idea is part of Greg A. Woods'
PR #22954.
This helps when the RC_SCRIPTS are installed to
a different ${RCD_SCRIPTS_EXAMPLEDIR}. (Later,
the default RCD_SCRIPTS_EXAMPLEDIR will be changed
to be more clear that they are the examples.)
These patches also remove the etc/rc.d/ scripts from PLISTs
(of packages that use RCD_SCRIPTS). (This also removes
now unused references from openssh* makefiles. Note that
qmail package has not been changed yet.)
I have been doing automatic PLIST registration for RC_SCRIPTS
for over a year. Not all of these packages have been tested,
but many have been tested and used.
Somethings maybe to do:
- a few packages still manually install the rc.d scripts to
hard-coded etc/rc.d. These need to be fixed.
- maybe remove from mk/${OPSYS}.pkg.dist mtree specifications too.