Commit graph

181 commits

Author SHA1 Message Date
joerg
5e0e6d42ae Make sure ${TAR} is present 2020-03-18 17:56:09 +00:00
schmonz
48f34856e5 Update to tlsonlyremote 20200202 from upstream TLS patch 20200107. Adds
client cert authentication with TLS v1.3. Bump PKGREVISION.
2020-02-03 04:51:27 +00:00
jperkin
26c1bffc9f *: Recursive revision bump for openssl 1.1.1. 2020-01-18 21:48:19 +00:00
rillig
f31693dd3a mail: align variable assignments
pkglint -Wall -F --only aligned -r

No manual corrections.
2019-11-02 16:25:17 +00:00
schmonz
3539d21138 Document config-fast-pkgsrc in README.pkgsrc, too. 2019-08-29 22:04:21 +00:00
schmonz
20045859ba Update from netqmail 1.06 (2007) to notqmail 1.07 (just released). From
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-08-20 02:38:04 +00:00
schmonz
4df664b850 qmail's queue is expected to work just fine on a case-insensitive FS.
Remove the INSTALL check and warning.
2019-07-15 16:11:58 +00:00
schmonz
d5a9c6c270 BIGDNS_PATCH has been reliably reachable; remove from MASTER_SITE_LOCAL.
OUTGOINGIP_PATCH needs to come from a qmail.org mirror, as the original
domain has lapsed; get it from mine.
2019-07-01 14:57:31 +00:00
schmonz
b63849b9a4 qmail.org domain lapsed. netqmail.org has not, as yet. 2019-06-30 21:51:49 +00:00
schmonz
0b0fdd061c Use CPPFLAGS, not CFLAGS, for consistency with ucspi-tcp6 and djbdns. 2019-06-28 19:18:25 +00:00
schmonz
eb557a365d Keep it simple: libtai does not futz with PKG_SYSCONFSUBDIR. 2019-06-19 17:46:39 +00:00
schmonz
ffef6708ff Update to tlsonlyremote 20190408, cut from upstream TLS patch with the
same date. Fixes build with OpenSSL 1.1 and includes pkgsrc's #ifdef
guards for non-TLS builds. Bump PKGREVISION.
2019-04-10 22:24:57 +00:00
schmonz
dcd35d6d1c Apply the "tai-leapsecs" patch iff the 'tai-system-clock' option is set
(off by default). Bump PKGREVISION.
2019-01-17 22:49:12 +00:00
schmonz
f094649abc Add Toby Betts' "tai-leapsecs" patch to handle leap seconds correctly
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.
2019-01-09 19:32:07 +00:00
schmonz
0c5192fa02 Bump destdir patch to build on OpenBSD. No functional change elsewhere. 2018-12-17 19:15:33 +00:00
schmonz
679c338b4c Avoid the -O (to stdout) tar option, as it's not sufficiently portable.
While here, append the specific patch file (not just the distribution)
to the qmail-spp QMAILPATCHES entry.
2018-12-16 23:46:44 +00:00
schmonz
7a5727c8f8 Just set CFLAGS.Darwin in Makefile. 2018-12-13 05:05:05 +00:00
schmonz
24a5351087 Explicitly buildlink-depend on openssl<1.1. Fixes build on
NetBSD-current (by adding dependency on security/openssl to get a
sufficiently old version). NFCI elsewhere.
2018-12-13 05:01:55 +00:00
schmonz
3557e4ae46 Take responsibility from qmail-run for creating and removing the basic
config files and aliases. Bump PKGREVISION.
2018-12-04 17:01:39 +00:00
schmonz
71e3a22671 Fix obvious bug in is_queue_fs_case_sensitive(). 2018-11-25 16:15:53 +00:00
schmonz
e1b2b69350 Entab previous. 2018-11-14 16:44:13 +00:00
schmonz
c07823e719 Build and install config-fast-pkgsrc, which is like config-fast but
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-14 16:43:17 +00:00
schmonz
f1c346cdb7 Move patches long since non-optional out of options.mk. 2018-11-10 16:42:52 +00:00
schmonz
c73a470db2 Make PATCH_DIST_CAT.${SPP_PATCH} more portable. Fixes at least NetBSD. 2018-11-10 16:27:18 +00:00
schmonz
cc46117aaf Add a new non-optional patch: qmail-spp, a generic plugin interface for
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-10 15:29:01 +00:00
schmonz
990becf16c Provide a TLS patch without the qmail-smtpd portion, as acceptutils
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-11-08 20:58:08 +00:00
schmonz
6253176e63 Fix build with "eai -tls" option combination. 2018-10-25 14:02:37 +00:00
schmonz
34bcb0be30 We've been stuck on a TLS implementation from 2007 because the TLS
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-10-24 13:32:26 +00:00
schmonz
dc734a5ce0 Actually generate the promised key sizes. Ride previous bump. 2018-09-14 16:44:09 +00:00
schmonz
f7f0927f99 The latest upstream TLS patch (netqmail-1.06-tls-20160918.patch, not yet
in pkgsrc) has bumped key sizes to 2048 bits. Do likewise. Bump PKGREVISION.
2018-09-14 09:01:53 +00:00
schmonz
59c4fc1a52 Depend on new enough sysutils/checkpassword{,-pam} such that qmail-run
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-08-01 07:10:27 +00:00
schmonz
2566f67740 Add 'inet6' and 'pam' options to control dependencies on ucspi-tcp{6,}
and checkpassword{-pam,}. Add dependency on ucspi-ssl to 'tls' option.
Bump PKGREVISION.
2018-07-29 23:26:44 +00:00
schmonz
b81dab190f Add dependency on checkpassword-pam, since checkpassword is not yet licensed.
Ride previous PKGREVISION bump.
2018-07-25 16:42:36 +00:00
schmonz
d30d86a398 s/ucspi-tcp/ucspi-tcp6/g in dependencies. Bump PKGREVISIONs. 2018-07-25 16:32:34 +00:00
jperkin
5393242c73 *: Move SUBST_STAGE from post-patch to pre-configure
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-07-04 13:40:07 +00:00
schmonz
0163fa74c5 Remove vestiges of rejectutils patch, missed in previous. 2018-05-28 23:39:16 +00:00
schmonz
354089cb68 Extract qmail-rejectutils to standalone package. Bump PKGREVISION. 2018-05-28 12:57:36 +00:00
rillig
b381c6e2f3 Sort PLIST files.
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
2018-01-01 22:29:15 +00:00
schmonz
0b29d5023c Remove compatibility mappings for options retired in 2017Q2. 2017-10-29 00:46:14 +00:00
schmonz
15ac330ba5 Update to netqmail-1.06-qbiffutmpx-20170820.patch. Should fix EL7 bulk
build. No functional change elsewhere.
2017-08-19 22:11:43 +00:00
schmonz
0401ca3d9d Update to 1.03nb32. pkgsrc changes:
- 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-13 23:42:55 +00:00
schmonz
a94af901f3 Let binary packages built with MANZ install to completion by informing
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-03 03:20:57 +00:00
schmonz
c093965805 With the enabled-by-default "eai" option, outbound message headers were
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-08-01 02:53:59 +00:00
schmonz
ea7400da80 Set PKG_{USER,GROUP}S_VARS. 2017-07-27 04:58:31 +00:00
schmonz
ba50ae153c Use SUBST_VARS where applicable. 2017-07-27 02:18:05 +00:00
schmonz
3aafb73dc2 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 <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-07-21 04:07:01 +00:00
schmonz
7be59959d2 Add optional QMAILREMOTE patch. Bump PKGREVISION. 2017-05-22 17:18:32 +00:00
schmonz
80cb0f580b Honor custom values of ${QMAIL_DAEMON_USER} and ${QMAIL_QMAIL_GROUP}. 2017-04-27 20:35:10 +00:00
schmonz
8f75a54640 Remove dependency on sysutils/checkpassword. In the default install it's
used only for qmail-pop3d, which is likely not being used much anymore.
Other installs might need a different implementation of checkpassword
anyhow. And this implementation is not (yet?) in the public domain, so
it's blocking us from publishing binary packages of qmail.

Unless (until?) sysutils/checkpassword becomes "public-domain", it
remains under "djb-nonlicense". If you continue to need it, since you've
already accepted the nonlicense, simply install it directly.

I believe this package and all its remaining dependencies are now in
DEFAULT_ACCEPTABLE_LICENSES. Bump PKGREVISION.
2017-04-08 18:22:51 +00:00
schmonz
3c799aa9cf Give absolute path to srsfilter. From Nathan Arthur in private mail. 2017-04-04 14:58:06 +00:00