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.
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).
- use 1.0.0.7 as PKGVERSION, 1.00RC7 is invalid
- USE_PKGINSTALL, don't include bsd.pkg.install.mk directly
- use automatic rc.d scripts handling
- install example mailer.conf
- minor cleanups
Changes for pkgsrc:
* Added an rc.d/nullmailer script
* Added brief instructions on how to set up nullmailer in MESSAGE.
* Changed spool directory from /var/nullmailer to /var/spool/nullmailer
Changes in nullmailer itself:
Changes in version 1.00RC7
- Fixed typo in smtp protocol module that caused HELO to be sent without
a hostname.
- Added a one-shot mode to nullmailer-send, triggered by setting the
pausetime to zero.
Note: If no further bugs are found, this will become the official
version 1.00 release.
Changes in version 1.00RC6
- Protocol modules now report all failure and success messages.
- Removed the whole gethostname/getdomainname mess and replaced it with
code to read the hostname from the "me" control file, and the default
domain name from the "defaultdomain" control file.
- Fixed a bug that would cause lines starting with a period to have that
period stripped when it was sent via SMTP.
- Added some missing includes to fix compilation failures in various
sources.
- Fixed a bug in the setenv function in sendmail.cc.
NOTE! Make sure to set up the new "me" control file before using this
version. The RPM install does this automatically.
have it be automatically included by bsd.pkg.mk if USE_PKGINSTALL is set
to "YES". This enforces the requirement that bsd.pkg.install.mk be
included at the end of a package Makefile. Idea suggested by Julio M.
Merino Vidal <jmmv at menta.net>.
This is nullmailer, a sendmail/qmail/etc replacement MTA for hosts
which relay to a fixed set of smart relays. It is designed to be
simple to configure, secure, and easily extendable.