head 1.6; access; symbols pkgsrc-2020Q1:1.5.0.2 pkgsrc-2020Q1-base:1.5 pkgsrc-2019Q4:1.5.0.24 pkgsrc-2019Q4-base:1.5 pkgsrc-2019Q3:1.5.0.20 pkgsrc-2019Q3-base:1.5 pkgsrc-2019Q2:1.5.0.18 pkgsrc-2019Q2-base:1.5 pkgsrc-2019Q1:1.5.0.16 pkgsrc-2019Q1-base:1.5 pkgsrc-2018Q4:1.5.0.14 pkgsrc-2018Q4-base:1.5 pkgsrc-2018Q3:1.5.0.12 pkgsrc-2018Q3-base:1.5 pkgsrc-2018Q2:1.5.0.10 pkgsrc-2018Q2-base:1.5 pkgsrc-2018Q1:1.5.0.8 pkgsrc-2018Q1-base:1.5 pkgsrc-2017Q4:1.5.0.6 pkgsrc-2017Q4-base:1.5 pkgsrc-2017Q3:1.5.0.4 pkgsrc-2017Q3-base:1.5 pkgsrc-2017Q2:1.4.0.4 pkgsrc-2017Q2-base:1.4 pkgsrc-2017Q1:1.4.0.2 pkgsrc-2017Q1-base:1.4 pkgsrc-2016Q4:1.2.0.22 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.20 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.18 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.16 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.2.0.14 pkgsrc-2015Q4-base:1.2 pkgsrc-2015Q3:1.2.0.12 pkgsrc-2015Q3-base:1.2 pkgsrc-2015Q2:1.2.0.10 pkgsrc-2015Q2-base:1.2 pkgsrc-2015Q1:1.2.0.8 pkgsrc-2015Q1-base:1.2 pkgsrc-2014Q4:1.2.0.6 pkgsrc-2014Q4-base:1.2 pkgsrc-2014Q3:1.2.0.4 pkgsrc-2014Q3-base:1.2 pkgsrc-2014Q2:1.2.0.2 pkgsrc-2014Q2-base:1.2 pkgsrc-2014Q1:1.1.0.6 pkgsrc-2014Q1-base:1.1 pkgsrc-2013Q4:1.1.0.4 pkgsrc-2013Q4-base:1.1 pkgsrc-2013Q3:1.1.0.2 pkgsrc-2013Q3-base:1.1; locks; strict; comment @# @; 1.6 date 2020.05.23.20.50.02; author schmonz; state dead; branches; next 1.5; commitid PVJMZKSt0hXvjp9C; 1.5 date 2017.07.21.04.07.01; author schmonz; state Exp; branches; next 1.4; commitid Dzb8Y6jwrlq3630A; 1.4 date 2017.03.20.16.23.20; author schmonz; state Exp; branches; next 1.3; commitid c8floJwbX2AM7jKz; 1.3 date 2017.03.10.03.13.29; author schmonz; state Exp; branches; next 1.2; commitid GyjlbSyTAbaK4XIz; 1.2 date 2014.05.30.21.35.04; author schmonz; state Exp; branches; next 1.1; commitid cif4P3n2nWcsNBCx; 1.1 date 2013.08.15.15.43.48; author schmonz; state Exp; branches; next ; commitid cKiyxC8gdniK6z1x; desc @@ 1.6 log @Update to notqmail 1.08 (as qmail-1.03nb49). From the changelog: ## 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. @ text @$NetBSD: patch-Makefile,v 1.5 2017/07/21 04:07:01 schmonz Exp $ Don't build catpages we won't install. --- Makefile.orig 2017-07-19 02:44:58.000000000 +0000 +++ Makefile @@@@ -987,17 +987,8 @@@@ make-makelib warn-auto.sh systype chmod 755 makelib man: \ -qmail-local.0 qmail-lspawn.0 qmail-getpw.0 qmail-remote.0 \ -qmail-rspawn.0 qmail-clean.0 qmail-send.0 qmail-start.0 splogger.0 \ -qmail-queue.0 qmail-inject.0 mailsubj.0 qmail-showctl.0 qmail-newu.0 \ -qmail-pw2u.0 qmail-qread.0 qmail-qstat.0 qmail-tcpto.0 qmail-tcpok.0 \ -qmail-pop3d.0 qmail-popup.0 qmail-qmqpc.0 qmail-qmqpd.0 qmail-qmtpd.0 \ -qmail-smtpd.0 tcp-env.0 qmail-newmrh.0 qreceipt.0 qbiff.0 forward.0 \ -preline.0 condredirect.0 bouncesaying.0 except.0 maildirmake.0 \ -maildir2mbox.0 maildirwatch.0 qmail.0 qmail-limits.0 qmail-log.0 \ -qmail-control.0 qmail-header.0 qmail-users.0 dot-qmail.0 \ -qmail-command.0 tcp-environ.0 maildir.0 mbox.0 addresses.0 \ -envelopes.0 forgeries.0 +dot-qmail.5 qmail-control.5 qmail-getpw.8 qmail-limits.7 qmail-newmrh.8 \ +qmail-newu.8 qmail-pw2u.8 qmail-send.8 qmail-start.8 qmail-users.5 mbox.0: \ mbox.5 @ 1.5 log @Update to 1.03nb29. pkgsrc changes: 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 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 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 (!) @ text @d1 1 a1 1 $NetBSD$ @ 1.4 log @When I added basic DESTDIR support, I introduced a regression: the source package stopped initializing the queue. (DESTDIR makes source packages generate binary packages, which had never had that feature. See for where the regression was introduced.) Add a dependency on mail/queue-fix and, if no queue is present at pkg_add time, initialize it. Defer creating users and groups all the way to pkg_add time, and improve DESTDIR support to full "user-destdir". Since mail/postfix lets unprivileged users install it, we do too. (Can't run a server that way, but so what.) A typical (privileged) binary package should now: 1. Install on any other system of matching OS and architecture, 2. Not need matching numeric UIDs and GIDs to do so, and 3. Be usable in production. You know, like any other binary package. Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD: patch-Makefile,v 1.3 2017/03/10 03:13:29 schmonz Exp $ d3 1 a3 1 DESTDIR support, and don't hardcode numeric IDs into binaries. d5 1 a5 1 --- Makefile.orig 1998-06-15 10:53:16.000000000 +0000 d7 2 a8 1 @@@@ -4,6 +4,14 @@@@ SHELL=/bin/sh d10 14 a23 1 default: it d25 2 a26 29 +auto_destdir.c: \ +auto-str conf-destdir + ./auto-str auto_qmail `head -1 conf-destdir` > auto_destdir.c + +auto_destdir.o: \ +compile auto_destdir.c + ./compile auto_destdir.c + addresses.0: \ addresses.5 nroff -man addresses.5 > addresses.0 @@@@ -110,7 +118,7 @@@@ auto_split.o: \ compile auto_split.c ./compile auto_split.c -auto_uids.c: \ +auto_uids_orig.c: \ auto-uid auto-gid conf-users conf-groups ( ./auto-uid auto_uida `head -1 conf-users` \ &&./auto-uid auto_uidd `head -2 conf-users | tail -1` \ @@@@ -122,7 +130,7 @@@@ auto-uid auto-gid conf-users conf-groups &&./auto-uid auto_uids `head -8 conf-users | tail -1` \ &&./auto-gid auto_gidq `head -1 conf-groups` \ &&./auto-gid auto_gidn `head -2 conf-groups | tail -1` \ - ) > auto_uids.c.tmp && mv auto_uids.c.tmp auto_uids.c + ) > auto_uids_orig.c.tmp && mv auto_uids_orig.c.tmp auto_uids_orig.c auto_uids.o: \ compile auto_uids.c @ 1.3 log @Look up user/group IDs at runtime. This lets us defer USERGROUP_PHASE to "pre-install", and is a step closer to having the qmail users and groups be created at pkg_add time (as with binary packages of typical software needing users and groups). Based on Paul Fox's getpwnam.patch for qmail 0.96. @ text @d1 1 a1 1 $NetBSD: patch-Makefile,v 1.2 2014/05/30 21:35:04 schmonz Exp $ d3 1 a3 1 DESTDIR support. @ 1.2 log @Improve binary package: * Reduce potential patch conflicts by switching more DESTDIR support to sed * Enable `qmail-netqmail` by default * Install `qmail-viruscan` signatures via CONF_FILES * With `tls` option, don't generate cert, instruct the user at INSTALL time That last change also fixes the source build with `tls` enabled on systems that don't already have a /var/qmail/control, as reported by Thomas Lazar on pkgsrc-users@@. While here, add a comment with the new location of the qregex patch. Since it's named strangely, I've also placed a traditionally-named copy on ftp.n.o. Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD: patch-Makefile,v 1.1 2013/08/15 15:43:48 schmonz Exp $ d22 18 @ 1.1 log @Rename and comment pkgsrc patches. No functional change. @ text @d1 1 a1 1 $NetBSD: patch-aa,v 1.4 2011/06/07 02:53:42 schmonz Exp $ d7 3 a9 3 @@@@ -78,6 +78,14 @@@@ auto_break.o: \ compile auto_break.c ./compile auto_break.c d19 3 a21 35 auto_patrn.c: \ auto-int8 conf-patrn ./auto-int8 auto_patrn `head -1 conf-patrn` > auto_patrn.c @@@@ -740,15 +748,15 @@@@ seek.h fork.h ./compile idedit.c install: \ -load install.o fifo.o hier.o auto_qmail.o auto_split.o auto_uids.o \ +load install.o fifo.o hier.o auto_destdir.o auto_split.o auto_uids.o \ strerr.a substdio.a open.a error.a str.a fs.a - ./load install fifo.o hier.o auto_qmail.o auto_split.o \ + ./load install fifo.o hier.o auto_destdir.o auto_split.o \ auto_uids.o strerr.a substdio.a open.a error.a str.a fs.a install-big: \ -load install-big.o fifo.o install.o auto_qmail.o auto_split.o \ +load install-big.o fifo.o install.o auto_destdir.o auto_split.o \ auto_uids.o strerr.a substdio.a open.a error.a str.a fs.a - ./load install-big fifo.o install.o auto_qmail.o \ + ./load install-big fifo.o install.o auto_destdir.o \ auto_split.o auto_uids.o strerr.a substdio.a open.a error.a \ str.a fs.a @@@@ -763,9 +771,9 @@@@ exit.h ./compile install.c instcheck: \ -load instcheck.o fifo.o hier.o auto_qmail.o auto_split.o auto_uids.o \ +load instcheck.o fifo.o hier.o auto_destdir.o auto_split.o auto_uids.o \ strerr.a substdio.a error.a str.a fs.a - ./load instcheck fifo.o hier.o auto_qmail.o auto_split.o \ + ./load instcheck fifo.o hier.o auto_destdir.o auto_split.o \ auto_uids.o strerr.a substdio.a error.a str.a fs.a instcheck.o: \ @