summaryrefslogtreecommitdiff
path: root/mail/qmail
AgeCommit message (Collapse)AuthorFilesLines
2020-06-25Retire 'djbware-errno-hack' and associated options.mk cleverness.schmonz1-4/+3
Instead: 1. Package makefiles including their own options.mk 2. Packages say "SUBST_CLASSES+=djberrno" to get the hack, if needed 3. Packages adjust SUBST_FILES.djberrno, if needed Should fix bulk build failures due to multiple inclusions of options.mk and/or incorrect definitions of DJB_ERRNO_HACK. Approved during the freeze by wiz@.
2020-05-23Update to notqmail 1.08 (as qmail-1.03nb49). From the changelog:schmonz4-50/+26
## Fix bugs - Vulnerabilities we've inherited from qmail 1.03, reported by Qualys. - CVE-2005-1515: fix signedness wraparound in `substdio_{put,bput}()`. - CVE-2005-1514: fix possible signed integer overflow in `commands()`. - CVE-2005-1513: fix integer overflow in `stralloc_readyplus()`. - Fix several other places where variables could overflow. - `qmail-pop3d`: instead of running as root if root authenticates (and being a vector for a dictionary attack on the root password), exit 1 to look just like a failed `checkpassword` login. - `qmail-inject`: do not parse header recipients if `-a` is given. - Correctly detect multiple IP addresses on the same interface. - Remove workaround for ancient DNS servers that do not properly support CNAME. - Fix possible integer overflow in `alloc()`. ## Reduce bug likelihood - Remove `dnscname` and `dnsmxip` programs that were being built but not installed. - Remove `systype` and related platform detection. - Remove unused variable in `maildir.c`. - Reduce variable scope in `tcpto.c`. - Avoid local variables shadowing same-named globals. - Avoid needing `exit.h` in named-pipe bug check. - Add a `test` target and some unit tests, using Check. - Add missing function declarations in `cdbmss.h`, `scan.h`. - Add missing return types to `main()`. - Add `hier.h` for inclusion in `instcheck.c`, `instchown.c`, `instpackage.c`. - Use system headers and types instead of the `HASSHORTSETGROUPS` check. - Use system headers instead of redeclaring `exit()`, `read()`, `write()`, `malloc()`, `free()`, `fork()`, `uint32_t`. - Use C89 function signatures for code we've touched so far. - Automated builds: - TravisCI: move setting `MAKEFLAGS` out of the script and into the matrix. - Add FreeBSD builds with CirrusCI. - Add a GitHub Actions build. ## Other changes - Remove DJB's TODO. - Replace many `pobox.com` URLs. - Acknowledge Erik Sjölund's `qmail-local.c` bugfix that we've inherited from netqmail. - Avoid generating catted manpages by building with `NROFF=true`. - Optionally create a `systemd` service file. - Run an alternate `qmail-remote` by setting `QMAILREMOTE` in `qmail-send`'s environment. ## Intent to remove In the course of developing this release, we found programs that we intend to remove in the next release. We believe none of these remains necessary or useful enough to be worth the cost of maintaining. If you disagree, please let us know! - Remove `qsmhook`, long since replaced by `preline`. - Remove inefficient `maildirwatch`. - Remove obsolete mail client wrappers. - Remove `qmail-pop3d`, since Maildir is well supported by actively maintained POP3 servers.
2020-05-02mail/qmail: doesn't need the errno hack anymorerillig1-1/+2
notqmail-1.07 correctly includes <errno.h> instead of declaring errno as a process-global variable.
2020-03-18Make sure ${TAR} is presentjoerg1-1/+3
2020-02-03Update to tlsonlyremote 20200202 from upstream TLS patch 20200107. Addsschmonz3-10/+10
client cert authentication with TLS v1.3. Bump PKGREVISION.
2020-01-18*: Recursive revision bump for openssl 1.1.1.jperkin1-2/+2
2019-11-02mail: align variable assignmentsrillig2-39/+39
pkglint -Wall -F --only aligned -r No manual corrections.
2019-08-29Document config-fast-pkgsrc in README.pkgsrc, too.schmonz2-3/+14
2019-08-20Update from netqmail 1.06 (2007) to notqmail 1.07 (just released). Fromschmonz12-222/+213
the changelog: - code: remove incorrect usage of vfork() - code: detect and prefer utmpx where available - code: removed idedit, install-big. var-qmail packages are no more - portability problem: explicitly initialize strerr_sys and define BIND_8_COMPAT to work around Mac OS X - code: add instchown to set ownership and mode on installed files - code: add instpackage to install without root access - doc: rename INSTALL, SENDMAIL to INSTALL.md, SENDMAIL.md to support building on case-insensitive filesystems - code: lookup uid/gid at runtime - code: use DESTDIR environment variable as root directory in install pkgsrc changes: - If hostname isn't FQDN, config-fast-pkgsrc wouldn't produce a working config, so don't run it; tell user what to do instead - Stage QMAIL_QUEUE_DIR into DESTDIR/tmp, to be more obvious that it's not being packaged up (and is not how a queue gets created at pkg_add time) - Drop custom destdir, qbiffutmpx, and Darwin patches - Rebase TLS-onlyremote, QMAILREMOTE, and SRS patches - Require latest ucspi-ssl and ucspi-tcp6 for IPv4 fixes - Move MESSAGE.tls to README.tls, and remove other MESSAGE* - Set PKG_HOME even for non-default values of QMAIL_ALIAS_USER - Check whether alias/.qmail-foo exist before trying to remove Bump PKGREVISION.
2019-07-15qmail's queue is expected to work just fine on a case-insensitive FS.schmonz1-26/+1
Remove the INSTALL check and warning.
2019-07-01BIGDNS_PATCH has been reliably reachable; remove from MASTER_SITE_LOCAL.schmonz1-4/+3
OUTGOINGIP_PATCH needs to come from a qmail.org mirror, as the original domain has lapsed; get it from mine.
2019-06-30qmail.org domain lapsed. netqmail.org has not, as yet.schmonz1-3/+3
2019-06-28Use CPPFLAGS, not CFLAGS, for consistency with ucspi-tcp6 and djbdns.schmonz2-5/+5
2019-06-19Keep it simple: libtai does not futz with PKG_SYSCONFSUBDIR.schmonz1-12/+2
2019-04-10Update to tlsonlyremote 20190408, cut from upstream TLS patch with theschmonz3-19/+10
same date. Fixes build with OpenSSL 1.1 and includes pkgsrc's #ifdef guards for non-TLS builds. Bump PKGREVISION.
2019-01-17Apply the "tai-leapsecs" patch iff the 'tai-system-clock' option is setschmonz2-36/+33
(off by default). Bump PKGREVISION.
2019-01-09Add Toby Betts' "tai-leapsecs" patch to handle leap seconds correctlyschmonz3-5/+42
when the system clock is set to TAI (and a libtai dependency to get leapsecs.dat). While here, catch up to his latest maildiruniq patch. Let an installed ucspi-tcp6 satisfy the ucspi-tcp dependency for non-'inet6' builds. Bump PKGREVISION.
2018-12-17Bump destdir patch to build on OpenBSD. No functional change elsewhere.schmonz2-7/+7
2018-12-16Avoid the -O (to stdout) tar option, as it's not sufficiently portable.schmonz1-3/+6
While here, append the specific patch file (not just the distribution) to the qmail-spp QMAILPATCHES entry.
2018-12-13Just set CFLAGS.Darwin in Makefile.schmonz2-10/+3
2018-12-13Explicitly buildlink-depend on openssl<1.1. Fixes build onschmonz1-1/+3
NetBSD-current (by adding dependency on security/openssl to get a sufficiently old version). NFCI elsewhere.
2018-12-04Take responsibility from qmail-run for creating and removing the basicschmonz3-16/+29
config files and aliases. Bump PKGREVISION.
2018-11-25Fix obvious bug in is_queue_fs_case_sensitive().schmonz1-2/+2
2018-11-14Entab previous.schmonz1-2/+2
2018-11-14Build and install config-fast-pkgsrc, which is like config-fast butschmonz4-11/+54
installs the generated files elsewhere, so we can simulate CONF_FILES-like behavior. qmail-run will switch to config-fast-pkgsrc. We'll take advantage to deinstall these config files (as well as the three basic .qmail files in ~alias) provided they haven't been changed. Both of these commands stop leaving leftovers in ${PKG_SYSCONFDIR}: # pkg_add qmail && pkg_delete qmail # pkg_add qmail-run && pkg_delete -r qmail While here, warn if the queue directory is on a case-insensitive filesystem. Probably not gonna work perfectly. Bump PKGREVISION.
2018-11-10Move patches long since non-optional out of options.mk.schmonz2-52/+52
2018-11-10Make PATCH_DIST_CAT.${SPP_PATCH} more portable. Fixes at least NetBSD.schmonz1-2/+2
2018-11-10Add a new non-optional patch: qmail-spp, a generic plugin interface forschmonz3-19/+22
qmail-smtpd (tweaked to tolerate the absence of a config file). The RCPTCHECK patch is a logical subset of SPP with a slightly different interface, and conflicts with SPP. Remove RCPTCHECK. Bump PKGREVISION.
2018-11-08Provide a TLS patch without the qmail-smtpd portion, as acceptutilsschmonz3-24/+24
20181108 implements STARTTLS in fixsmtpio(8). Rebase EAI patch onto TLS-onlyremote. Switch back to upstream for RCPTCHECK, which applies cleanly again. Bump PKGREVISION.
2018-10-25Fix build with "eai -tls" option combination.schmonz1-1/+2
2018-10-24We've been stuck on a TLS implementation from 2007 because the TLSschmonz3-56/+30
patch and the AUTH patch conflict, nobody else has published a newer hand-merged combo patch, and as it happens, I'd apparently rather write a pile of new DJB-style C than make myself responsible for hand-merging other people's security-sensitive code every time there's a new TLS patch. Now that we have AUTH without patching (see mail/qmail-acceptutils), the "sasl" option goes away, we're finally on the most recent TLS patch available, and when it's updated it'll be easy for us to keep up. Rebase RCPTCHECK and EAI patches onto netqmail-with-TLS-and-no-AUTH. Bump PKGREVISION.
2018-09-14Actually generate the promised key sizes. Ride previous bump.schmonz1-1/+3
2018-09-14The latest upstream TLS patch (netqmail-1.06-tls-20160918.patch, not yetschmonz2-4/+20
in pkgsrc) has bumped key sizes to 2048 bits. Do likewise. Bump PKGREVISION.
2018-08-01Depend on new enough sysutils/checkpassword{,-pam} such that qmail-runschmonz2-11/+7
can (by itself depending on pkgtools/pkg_alternatives) expect to find "nbcheckpassword". Remove 'qmail-rejectutils' option, which will become an unconditional dependency in qmail-run. Bump PKGREVISION.
2018-07-29Add 'inet6' and 'pam' options to control dependencies on ucspi-tcp{6,}schmonz2-6/+17
and checkpassword{-pam,}. Add dependency on ucspi-ssl to 'tls' option. Bump PKGREVISION.
2018-07-25Add dependency on checkpassword-pam, since checkpassword is not yet licensed.schmonz1-1/+2
Ride previous PKGREVISION bump.
2018-07-25s/ucspi-tcp/ucspi-tcp6/g in dependencies. Bump PKGREVISIONs.schmonz1-3/+3
2018-07-04*: Move SUBST_STAGE from post-patch to pre-configurejperkin1-2/+2
Performing substitutions during post-patch breaks tools such as mkpatches, making it very difficult to regenerate correct patches after making changes, and often leading to substituted string replacements being committed.
2018-05-28Remove vestiges of rejectutils patch, missed in previous.schmonz1-5/+1
2018-05-28Extract qmail-rejectutils to standalone package. Bump PKGREVISION.schmonz3-29/+5
2018-01-01Sort PLIST files.rillig1-3/+3
Unsorted entries in PLIST files have generated a pkglint warning for at least 12 years. Somewhat more recently, pkglint has learned to sort PLIST files automatically. Since pkglint 5.4.23, the sorting is only done in obvious, simple cases. These have been applied by running: pkglint -Cnone,PLIST -Wnone,plist-sort -r -F
2017-10-29Remove compatibility mappings for options retired in 2017Q2.schmonz1-24/+1
2017-08-19Update to netqmail-1.06-qbiffutmpx-20170820.patch. Should fix EL7 bulkschmonz2-7/+7
build. No functional change elsewhere.
2017-08-13Update to 1.03nb32. pkgsrc changes:schmonz5-32/+52
- Apply the qbiff-utmpx patch to (probably) fix build on FreeBSD - Enable "qmail-srs" by default - Add "qmail-customerror", enabled by default - Move TLS config steps from INSTALL to MESSAGE.tls
2017-08-03Let binary packages built with MANZ install to completion by informingschmonz1-15/+13
install-destdir and instcheck about the .gz extensions. While here, handle INSTALL and SENDMAIL docs on case-insensitive filesystems in a more straightforward way. Bump PKGREVISION.
2017-08-01With the enabled-by-default "eai" option, outbound message headers wereschmonz2-3/+5
being terminated with bare LFs, getting tempfailed by some SMTP servers (such as qmail!), and getting stuck in the local queue. Tweak the EAI patch to terminate header lines with CRLF, as unpatched qmail-remote would have done. Submitted upstream. Bump PKGREVISION.
2017-07-27Set PKG_{USER,GROUP}S_VARS.schmonz1-1/+5
2017-07-27Use SUBST_VARS where applicable.schmonz2-7/+4
2017-07-21Update to 1.03nb29. pkgsrc changes:schmonz13-480/+283
Remove unneeded options: - Unconditionally apply netqmail (which includes a local patch; remove it) - Unconditionally apply bigdns, maildiruniq, outgoingip, rcptcheck, remote - Unconditionally apply the TLS + SMTP AUTH _patch_ (not the options) - Record all applied patches (mandatory and optional) in QMAILPATCHES - Remove badrcptto, qregex, realrcptto, viruscan (moved to rejectutils) Simplify packaging: - Extract a standalone patch <https://schmonz.com/qmail/rejectutils> to repackage the mutually conflicting recipient- and content-checking patches as separate programs, along with wrappers for running checks in sequence - Extract a standalone patch <https://schmonz.com/qmail/destdir> to build to a staging area, as non-root, without hardcoded IDs - Run the destdir patch's `install-destdir` to make or repair the queue and set special file permissions, obviating the need for a dependency on mail/queue-fix and handcrafted SPECIAL_PERMS - While here, run `instcheck` to ensure we've installed just like `make setup check` as root would have - Install INSTALL and SENDMAIL docs under their original names, even on Darwin - Avoid building catpages, since we don't install them, and remove nroff from USE_TOOLS Default-enable more useful options: - "eai" (new) permits UTF-8 almost everywhere in email - "qmail-rejectutils" (new) adds several tools for selectively rejecting messages - "syncdir" forces synchronous link() and related syscalls - "tls" and "sasl", instead of causing patch conflicts, cause the TLS and SMTP AUTH code to be included (!)
2017-05-22Add optional QMAILREMOTE patch. Bump PKGREVISION.schmonz3-5/+15