summaryrefslogtreecommitdiff
path: root/user/netqmail
diff options
context:
space:
mode:
Diffstat (limited to 'user/netqmail')
-rw-r--r--user/netqmail/0005-CVE-2005-1513.patch19
-rw-r--r--user/netqmail/APKBUILD99
-rw-r--r--user/netqmail/netqmail.confd21
-rw-r--r--user/netqmail/netqmail.initd68
-rw-r--r--user/netqmail/rename-mbox-man.patch162
-rw-r--r--user/netqmail/smtpd-notls.run9
-rw-r--r--user/netqmail/smtpd.run7
-rw-r--r--user/netqmail/smtpsd.run8
8 files changed, 283 insertions, 110 deletions
diff --git a/user/netqmail/0005-CVE-2005-1513.patch b/user/netqmail/0005-CVE-2005-1513.patch
new file mode 100644
index 000000000..3b3876cb3
--- /dev/null
+++ b/user/netqmail/0005-CVE-2005-1513.patch
@@ -0,0 +1,19 @@
+diff -rNU3 netqmail-1.06.old/alloc.c netqmail-1.06/alloc.c
+--- netqmail-1.06.old/alloc.c 1998-06-15 10:53:16.000000000 +0000
++++ netqmail-1.06/alloc.c 2020-05-21 11:33:24.689739728 +0000
+@@ -1,3 +1,4 @@
++#include <limits.h>
+ #include "alloc.h"
+ #include "error.h"
+ extern char *malloc();
+@@ -15,6 +16,10 @@
+ unsigned int n;
+ {
+ char *x;
++ if (n >= (INT_MAX >> 3)) {
++ errno = error_nomem;
++ return 0;
++ }
+ n = ALIGNMENT + n - (n & (ALIGNMENT - 1)); /* XXX: could overflow */
+ if (n <= avail) { avail -= n; return space + avail; }
+ x = malloc(n);
diff --git a/user/netqmail/APKBUILD b/user/netqmail/APKBUILD
index 698c0c4d9..431d1aa91 100644
--- a/user/netqmail/APKBUILD
+++ b/user/netqmail/APKBUILD
@@ -2,26 +2,39 @@
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=netqmail
pkgver=1.06
-pkgrel=5
-pkgdesc="The qmail mail transfer agent (community version)"
-url="http://www.qmail.org/$pkgname/"
+pkgrel=12
+pkgdesc="The qmail mail transfer agent (community/sagredo version)"
+# fkn djb's original page lived longer than all the derived products
+url="https://cr.yp.to/qmail.html"
arch="all"
license="Public-Domain"
-provides=sendmail
options="suid !check" # suid programs (qmail-queue); no test suite
-depends="execline s6 s6-networking"
-makedepends="utmps-dev"
+_utmps_version=0.1.2
+_execline_version=2.9.6
+_s6_version=2.13.1
+_s6net_version=2.7.0
+_smtpd_starttls_proxy_version=0.0.1
+depends="execline>=$_execline_version
+ s6>=$_s6_version
+ s6-networking>=$_s6net_version
+ smtpd-starttls-proxy>=$_smtpd_starttls_proxy_version
+ ca-certificates
+ !ssmtp"
+makedepends="groff utmps-dev>=$_utmps_version"
subpackages="$pkgname-doc $pkgname-openrc"
-install="$pkgname.post-install $pkgname.pre-deinstall"
provider_priority=1
-source="http://www.qmail.org/$pkgname-$pkgver.tar.gz
+provides=/usr/sbin/sendmail
+install="$pkgname.post-install $pkgname.pre-deinstall"
+source="https://skarnet.org/archive/$pkgname-$pkgver.tar.gz
0001-DESTDIR.patch
0002-qbiffutmpx-20170820.patch
0003-qmailremote-20170716.patch
0004-notifyfd.patch
+ 0005-CVE-2005-1513.patch
+ rename-mbox-man.patch
qmail.run
smtpd.run
- smtpsd.run
+ smtpd-notls.run
$pkgname.confd
$pkgname.initd"
@@ -29,13 +42,13 @@ makeservicedir()
{
mkdir -p -m 0755 "$1"/log "$1"/env
{
- echo '#!/bin/execlineb -P'
- echo
- echo 's6-setuidgid qmaill'
- echo 's6-envdir ../env'
- echo 'importas -u IP IP'
- echo 'exec -c'
- echo "s6-log t $4"
+ echo '#!/bin/execlineb -P'
+ echo
+ echo 's6-setuidgid qmaill'
+ echo 's6-envdir ../env'
+ echo 'importas -u IP IP'
+ echo 'exec -c'
+ echo "s6-log t $4"
} > "$1"/log/run
echo "$2" > "$1"/notification-fd
cp -f "$3" "$1"/run
@@ -46,27 +59,30 @@ makeservicedir()
mkfifo -m 0600 "$1"/supervise/control
dd if=/dev/zero of="$1"/supervise/status bs=35 count=1
if test $5 -eq 0 ; then
- echo /var/qmail/bin:/usr/bin:/usr/sbin:/bin:/sbin > "$1"/env/PATH
- echo "$2" > "$1"/env/QMAIL_NOTIFY_FD
+ echo /var/qmail/bin:/usr/bin:/usr/sbin:/bin:/sbin > "$1"/env/PATH
+ echo "$2" > "$1"/env/QMAIL_NOTIFY_FD
else
- echo 110 > "$1"/env/UID
- echo 200 > "$1"/env/GID
- echo > "$1"/env/GIDLIST
- if test $5 -eq 6 ; then
- mkdir -p -m 0755 "$1"/data/rules/ip6/::_0
- touch "$1"/data/rules/ip6/::_0/allow
- sed -i -e 's/s6-tcpserver /s6-tcpserver6 /' "$1"/run
- elif test $5 -eq 4 ; then
- mkdir -p -m 0755 "$1"/data/rules/ip4/0.0.0.0_0
- touch "$1"/data/rules/ip4/0.0.0.0_0/allow
- sed -i -e 's/s6-tcpserver /s6-tcpserver4 /' "$1"/run
- fi
+ echo 110 > "$1"/env/UID
+ echo 200 > "$1"/env/GID
+ echo > "$1"/env/GIDLIST
+ if "$6" ; then
+ echo 116 > "$1"/env/TLS_UID
+ echo 200 > "$1"/env/TLS_GID
+ echo /etc/ssl/certs > "$1"/env/CADIR
+ fi
+ mkdir -p -m 0755 "$1"/data/rules/ip6/::_0
+ mkdir -p -m 0755 "$1"/data/rules/ip4/0.0.0.0_0
+ touch "$1"/data/rules/ip6/::_0/allow "$1"/data/rules/ip4/0.0.0.0_0/allow
fi
chmod 0755 "$1"/run "$1"/log/run
}
+prepare() {
+ default_prepare
+ mv "$builddir"/mbox.5 "$builddir"/qmail-mbox.5
+}
+
build() {
- cd "$builddir"
echo "$CC $CFLAGS" > conf-cc
echo "$CC $LDFLAGS -s -static" > conf-ld
echo "$CC $LDFLAGS" > conf-ldi # because fakeroot doesn't work with static programs
@@ -79,7 +95,6 @@ build() {
}
package() {
- cd "$builddir"
mkdir -p -m 0755 "$pkgdir"/var/qmail/services "$pkgdir"/var/log/qmail "$pkgdir"/usr/bin "$pkgdir"/usr/sbin "$pkgdir"/usr/share/doc "$pkgdir"/etc/qmail/services "$pkgdir"/etc/conf.d "$pkgdir"/etc/init.d
chown qmaill:qmaill "$pkgdir"/var/log/qmail
chmod 2700 "$pkgdir"/var/log/qmail
@@ -96,20 +111,20 @@ package() {
mv -f "$pkgdir"/var/qmail/doc "$pkgdir/usr/share/doc/$pkgname-$pkgver"
echo 255 > "$pkgdir"/var/qmail/control/concurrencylocal
echo 255 > "$pkgdir"/var/qmail/control/concurrencyremote
- makeservicedir "$pkgdir"/var/qmail/services/qmail 7 "$srcdir"/qmail.run 'n20 s1000000 /var/log/qmail' 0
- makeservicedir "$pkgdir"/etc/qmail/services/smtpd4-skeleton 3 "$srcdir"/smtpd.run '/var/log/smtpd-$IP' 4
- makeservicedir "$pkgdir"/etc/qmail/services/smtpd6-skeleton 3 "$srcdir"/smtpd.run '/var/log/smtpd-$IP' 6
- makeservicedir "$pkgdir"/etc/qmail/services/smtpsd4-skeleton 3 "$srcdir"/smtpsd.run '/var/log/smtpsd-$IP' 4
- makeservicedir "$pkgdir"/etc/qmail/services/smtpsd6-skeleton 3 "$srcdir"/smtpsd.run '/var/log/smtpsd-$IP' 6
+ makeservicedir "$pkgdir"/var/qmail/services/qmail 7 "$srcdir"/qmail.run 'n20 s1000000 /var/log/qmail' 0 false
+ makeservicedir "$pkgdir"/etc/qmail/services/smtpd-skeleton 3 "$srcdir"/smtpd.run '/var/log/smtpd-$IP' 4 true
+ makeservicedir "$pkgdir"/etc/qmail/services/smtpd-skeleton-notls 3 "$srcdir"/smtpd-notls.run '/var/log/smtpd-$IP' 4 false
}
-sha512sums="de40a6d8fac502bd785010434d99b99f2c0524e10aea3d0f2a0d35c70fce91e991eb1fb8f20a1276eb56d7e73130ea5e2c178f6075d138af47b28d9ca6e6046b netqmail-1.06.tar.gz
+sha512sums="c08828d8e569cd06c3d44e8c48a5e859fbf95ede272f24dfc1bc756c7bf74358fd8d547040eba294e4152257c1ae27d2b217ffb1bef25b5b48a9c37f478d1cbf netqmail-1.06.tar.gz
ad126cad5c0d35351919ad87022fd94b910519d91cf82f38c158f423bbfc1b82455844a791ba0c69d347af1a20a86b095bed571f75365a86ea786cbc9c626487 0001-DESTDIR.patch
b3af9c29e6d46daa2a1b9f677c6f32892d5f8c9b8d5c2bdd6f34b106dd5ad41394c05a5ebe145c6e29b4ced4482f08b2d09e7818fd309123c0d087600500e336 0002-qbiffutmpx-20170820.patch
cbebdc72c7cc5c437531c9277534ae552c6d044a83b36e3f3ce60ab5563c55eb814d6c543cc0997abab73075d1b517cc0929dd65674d468d517b0ca38196e2b4 0003-qmailremote-20170716.patch
b32a8a36c8ab8872abd4f1a117482f064a6d631a6bb2ba75cafe61743bef09f923d26935d9514eec33a7dec5aeb3d0b517d677e55924859d2db5233bc11f9f11 0004-notifyfd.patch
+ac8406c1d16ce2e55e47bc83ca6e095833a54de73cecee222cad3fcececa518386b95a11cb0c9c2dcc6851bae28aa539b11069305aa887a291177bf177ee7b01 0005-CVE-2005-1513.patch
+6ab1751b6ae1b932505a11ebaa4661edf9dd1b64da66a117c6b97c70cee7e429aaf8db98a3cabf25072d23ef39dc82f586a9adfe848635f6f1bdb0b20abed509 rename-mbox-man.patch
954a905bac5e3bc49f180dc0de7f6ee4c4ae8f94dd400ee4b06d3c944f1ff1cfc44bddccb07ae439f2523ad06fcb89023e57d091737da88f836013757794e931 qmail.run
-c0cd244af4d8186305c51b0e93960bdb1ea6ce40f1adf20c4f72419aa7498e35649590919ebd16547a0313676bf9171c9efea2ff8ac3a5c773b18473a972a977 smtpd.run
-719c4ce5ad93cddeafbb734cffeec3fd959d3f374e44e1f34e9a25d638303dd97df41642d3df5c7a069a8db47d1e31c32a16ecd2d04b72860c4e00bbba0c9fcf smtpsd.run
-80ee7e8b3c1ca7cdb00044e6fdd5b9c6a39fd9c882b470f4968c79b974c95e48946a1a3a8b79d9d0ed134ecf09b1185823bf6d022f8b17168e34c18f44ddd16f netqmail.confd
-7600285e70511447b11161a2fc1ca11debc5adcde1d76583d4c715e9710cab876f8be158fd8e034d480588d3d4978c42a9254c29f2db70913105ab009cab6479 netqmail.initd"
+8a887769fc8c5e1abbc56b72c913b435874549c213a10219124c554640eff09ace0a00a894907d633bdf424c7f351064b94e9e12635f725edc700db8cbf25ccd smtpd.run
+721f4ae97ca302e6e1a8a8f685aed8542e408f580b51362006b385a48cbbec185080048bc3ef0953d10af1aaa15fa661dced930f321d594cbbcda8fe19f49abb smtpd-notls.run
+57c30023fa479b88923712c5688469d61f70af3fc7c0d48eb445696f3b8a67e9279814932539e6958660d4ddecdce3dc804fbbde9613dab74001de25f9ef9bad netqmail.confd
+e19719df558655e0e288bd188ed7669bd1505701680e15612ce66867bda93ea7297ecf70172d7f0245351422c94672c795ea175c3aa3b7a876434fa458bdab68 netqmail.initd"
diff --git a/user/netqmail/netqmail.confd b/user/netqmail/netqmail.confd
index b3f331fdb..bd0b333a7 100644
--- a/user/netqmail/netqmail.confd
+++ b/user/netqmail/netqmail.confd
@@ -18,24 +18,17 @@
# :: means all v6 addresses. Remove it if you want to
# list v6 addresses explicitly.
-SMTPD_IPS="0.0.0.0 ::"
+IPS="0.0.0.0 ::"
# TLS configuration.
-# If you want to have SMTP-over-TLS daemons, the
-# SMTPSD_KEYFILE should point to your private key, and the
-# SMTPSD_CERTFILE should point to your certificate.
-# Leave them empty for no SMTP-over-TLS.
+# If you want to enable STARTTLS, the KEYFILE variable
+# should point to your private key, and the CERTFILE variable
+# should point to your certificate.
+# Leave them empty if you don't want STARTTLS support.
-SMTPSD_KEYFILE=
-SMTPSD_CERTFILE=
-
-
-# List the IP addresses (v4 or v6) where a SMTP-over-TLS daemon
-# should be listening. This will only be used if SMTPSD_KEYFILE
-# and SMTPSD_CERTFILE are defined.
-
-SMTPSD_IPS="0.0.0.0 ::"
+KEYFILE=
+CERTFILE=
# Relaying configuration.
diff --git a/user/netqmail/netqmail.initd b/user/netqmail/netqmail.initd
index dae9c4d55..1c7552df3 100644
--- a/user/netqmail/netqmail.initd
+++ b/user/netqmail/netqmail.initd
@@ -12,39 +12,34 @@ makesmtpd()
{
set -e
ip="$1"
- usetls="$2"
- if "$usetls" ; then
- s="s"
- port=25
- else
- s=
- port=465
- fi
- if s6-tcpserver6-socketbinder -dBb0 -- "$ip" "$port" true 2>/dev/null ; then
+ ext="$2"
+
+ if echo "$ip" | grep -qF : ; then
ipv=6
relayfor="$smtprelay6"
- elif s6-tcpserver4-socketbinder -dBb0 -- "$ip" "$port" true 2>/dev/null ; then
+ elif echo "$ip" | grep -qF . ; then
ipv=4
relayfor="$smtprelay4"
else
return 1
fi
+ if ! s6-tcpserver-socketbinder -dBb0 -- "$ip" 25 true 2>/dev/null ; then
+ return 1
+ fi
- service="smtp${s}d-$ip"
+ service="smtpd-$ip"
sdir=/run/services/"$service"
- logdir=/var/log/"smtp${s}d-$ip"
+ logdir=/var/log/"smtpd-$ip"
mkdir -p -m 0755 "$logdir"
chown qmaill:qmaill "$logdir"
chmod 2700 "$logdir"
rm -rf "$sdir"
- cp -a /etc/qmail/services/smtp"${s}"d"${ipv}"-skeleton "$sdir"
+ cp -a /etc/qmail/services/smtpd-skeleton"$ext" "$sdir"
echo "$ip" > "$sdir"/env/IP
- if "$usetls" ; then
- echo "$SMTPSD_KEYFILE" > "$sdir"/env/KEYFILE
- echo "$SMTPSD_CERTFILE" > "$sdir"/env/CERTFILE
- fi
+ echo "$KEYFILE" > "$sdir"/env/KEYFILE
+ echo "$CERTFILE" > "$sdir"/env/CERTFILE
for j in $relayfor ; do
mkdir -p -m 0755 "$sdir/data/rules/ip${ipv}/$j/env"
@@ -59,23 +54,15 @@ stop()
{
set -e
. /etc/conf.d/netqmail
- ebegin "Stopping SMTP and SMTPS listeners"
+ ebegin "Stopping SMTP listeners"
dirs=""
logs=""
- for i in ${SMTPD_IPS} ; do
+ for i in ${IPS} ; do
rm -f "/run/service/smtpd-$i"
s6-svc -d "/run/services/smtpd-$i"
dirs="$dirs /run/services/smtpd-$i"
logs="$logs /run/services/smtpd-$i/log"
done
- if test -r "$SMTPSD_KEYFILE" && test -r "$SMTPSD_CERTFILE" ; then
- for i in ${SMTPSD_IPS} ; do
- rm -f "/run/service/smtpsd-$i"
- s6-svc -d "/run/services/smtpsd-$i"
- dirs="$dirs /run/services/smtpsd-$i"
- logs="$logs /run/services/smtpsd-$i/log"
- done
- fi
s6-svwait -D $dirs
eend $?
@@ -99,6 +86,11 @@ start()
{
set -e
. /etc/conf.d/netqmail
+ if test -r "$KEYFILE" && test -r "$CERTFILE" ; then
+ ext=""
+ else
+ ext="-notls"
+ fi
ebegin "Parsing the relay subnets"
smtprelay4=
@@ -122,31 +114,19 @@ start()
s6-svwait -U /var/qmail/services/qmail
eend $?
- for i in ${SMTPD_IPS} ; do
+ mkdir -p /run/services
+ for i in ${IPS} ; do
ebegin "Creating a service directory for a SMTP listener on $i"
- makesmtpd "$i" false
+ makesmtpd "$i" "$ext"
eend $?
done
- if test -r "$SMTPSD_KEYFILE" && test -r "$SMTPSD_CERTFILE" ; then
- for i in ${SMTPSD_IPS} ; do
- ebegin "Creating a service directory for a SMTPS listener on $i"
- makesmtpd "$i" true
- eend $?
- done
- fi
dirs=""
- ebegin "Starting SMTP/S listeners"
- for i in ${SMTPD_IPS} ; do
+ ebegin "Starting SMTP listeners"
+ for i in ${IPS} ; do
ln -nsf "../services/smtpd-$i" "/run/service/smtpd-$i"
dirs="$dirs /run/service/smtpd-$i"
done
- if test -r "$SMTPSD_KEYFILE" && test -r "$SMTPSD_CERTFILE" ; then
- for i in ${SMTPSD_IPS} ; do
- ln -nsf "../services/smtpsd-$i" "/run/service/smtpsd-$i"
- dirs="$dirs /run/service/smtpsd-$i"
- done
- fi
s6-svscanctl -aN /run/service
s6-svwait -U $dirs
eend $?
diff --git a/user/netqmail/rename-mbox-man.patch b/user/netqmail/rename-mbox-man.patch
new file mode 100644
index 000000000..753417352
--- /dev/null
+++ b/user/netqmail/rename-mbox-man.patch
@@ -0,0 +1,162 @@
+The mbox.5 file is provided by both mutt and qmail. The version provided
+by mutt is a generic description of the mbox format. The qmail version
+has specific information about qmail's mbox format. Hence, we rename it
+to qmail-mbox.5.
+
+diff -Nau netqmail-1.06-orig/FILES netqmail-1.06/FILES
+--- netqmail-1.06-orig/FILES 2007-11-30 14:22:54.000000000 -0600
++++ netqmail-1.06/FILES 2023-12-01 20:05:06.120121122 -0600
+@@ -67,7 +67,6 @@
+ maildirmake.1
+ maildirwatch.1
+ mailsubj.1
+-mbox.5
+ preline.1
+ qbiff.1
+ qmail-clean.8
+@@ -80,6 +79,7 @@
+ qmail-local.8
+ qmail-log.5
+ qmail-lspawn.8
++qmail-mbox.5
+ qmail-newmrh.9
+ qmail-newu.9
+ qmail-pop3d.8
+diff -Nau netqmail-1.06-orig/Makefile netqmail-1.06/Makefile
+--- netqmail-1.06-orig/Makefile 2023-12-01 20:02:18.368178573 -0600
++++ netqmail-1.06/Makefile 2023-12-01 20:06:17.272462017 -0600
+@@ -952,12 +952,12 @@
+ 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 \
++qmail-command.0 tcp-environ.0 maildir.0 qmail-mbox.0 addresses.0 \
+ envelopes.0 forgeries.0
+
+-mbox.0: \
+-mbox.5
+- nroff -man mbox.5 > mbox.0
++qmail-mbox.0: \
++qmail-mbox.5
++ nroff -man qmail-mbox.5 > qmail-mbox.0
+
+ myctime.o: \
+ compile myctime.c datetime.h fmt.h myctime.h
+@@ -1783,7 +1783,7 @@
+ auto_patrn.h conf-users conf-groups auto_uids.h auto_usera.h extra.h \
+ addresses.5 except.1 bouncesaying.1 condredirect.1 dot-qmail.9 \
+ envelopes.5 forgeries.7 forward.1 maildir2mbox.1 maildirmake.1 \
+-maildirwatch.1 mailsubj.1 mbox.5 preline.1 qbiff.1 qmail-clean.8 \
++maildirwatch.1 mailsubj.1 qmail-mbox.5 preline.1 qbiff.1 qmail-clean.8 \
+ qmail-command.8 qmail-control.9 qmail-getpw.9 qmail-header.5 \
+ qmail-inject.8 qmail-limits.9 qmail-local.8 qmail-log.5 \
+ qmail-lspawn.8 qmail-newmrh.9 qmail-newu.9 qmail-pop3d.8 \
+diff -Nau netqmail-1.06-orig/Makefile.orig netqmail-1.06/Makefile.orig
+--- netqmail-1.06-orig/Makefile.orig 2023-12-01 20:02:18.368178573 -0600
++++ netqmail-1.06/Makefile.orig 2023-12-01 20:06:58.588015563 -0600
+@@ -952,12 +952,12 @@
+ 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 \
++qmail-command.0 tcp-environ.0 maildir.0 qmail-mbox.0 addresses.0 \
+ envelopes.0 forgeries.0
+
+-mbox.0: \
+-mbox.5
+- nroff -man mbox.5 > mbox.0
++qmail-mbox.0: \
++qmail-mbox.5
++ nroff -man qmail-mbox.5 > qmail-mbox.0
+
+ myctime.o: \
+ compile myctime.c datetime.h fmt.h myctime.h
+@@ -1783,7 +1783,7 @@
+ auto_patrn.h conf-users conf-groups auto_uids.h auto_usera.h extra.h \
+ addresses.5 except.1 bouncesaying.1 condredirect.1 dot-qmail.9 \
+ envelopes.5 forgeries.7 forward.1 maildir2mbox.1 maildirmake.1 \
+-maildirwatch.1 mailsubj.1 mbox.5 preline.1 qbiff.1 qmail-clean.8 \
++maildirwatch.1 mailsubj.1 qmail-mbox.5 preline.1 qbiff.1 qmail-clean.8 \
+ qmail-command.8 qmail-control.9 qmail-getpw.9 qmail-header.5 \
+ qmail-inject.8 qmail-limits.9 qmail-local.8 qmail-log.5 \
+ qmail-lspawn.8 qmail-newmrh.9 qmail-newu.9 qmail-pop3d.8 \
+diff -Nau netqmail-1.06-orig/dot-qmail.9 netqmail-1.06/dot-qmail.9
+--- netqmail-1.06-orig/dot-qmail.9 2007-11-30 14:52:30.000000000 -0600
++++ netqmail-1.06/dot-qmail.9 2023-12-01 20:04:47.292147838 -0600
+@@ -115,7 +115,7 @@
+ stores the mail message in
+ .I mbox
+ format, as described in
+-.BR mbox(5) .
++.BR qmail-mbox(5) .
+
+ .B WARNING:
+ On many systems,
+@@ -386,7 +386,7 @@
+ .SH "SEE ALSO"
+ envelopes(5),
+ maildir(5),
+-mbox(5),
++qmail-mbox(5),
+ qmail-users(5),
+ qmail-local(8),
+ qmail-command(8),
+diff -Nau netqmail-1.06-orig/hier.c netqmail-1.06/hier.c
+--- netqmail-1.06-orig/hier.c 2023-12-01 20:02:18.368178573 -0600
++++ netqmail-1.06/hier.c 2023-12-01 20:04:22.854778368 -0600
+@@ -166,8 +166,8 @@
+ c(base_qmail,"man/cat5","envelopes.0",auto_uido,auto_gidq,0644);
+ c(base_qmail,"man/man5","maildir.5",auto_uido,auto_gidq,0644);
+ c(base_qmail,"man/cat5","maildir.0",auto_uido,auto_gidq,0644);
+- c(base_qmail,"man/man5","mbox.5",auto_uido,auto_gidq,0644);
+- c(base_qmail,"man/cat5","mbox.0",auto_uido,auto_gidq,0644);
++ c(base_qmail,"man/man5","qmail-mbox.5",auto_uido,auto_gidq,0644);
++ c(base_qmail,"man/cat5","qmail-mbox.0",auto_uido,auto_gidq,0644);
+ c(base_qmail,"man/man5","dot-qmail.5",auto_uido,auto_gidq,0644);
+ c(base_qmail,"man/cat5","dot-qmail.0",auto_uido,auto_gidq,0644);
+ c(base_qmail,"man/man5","qmail-control.5",auto_uido,auto_gidq,0644);
+diff -Nau netqmail-1.06-orig/install-big.c netqmail-1.06/install-big.c
+--- netqmail-1.06-orig/install-big.c 1998-06-15 05:53:16.000000000 -0500
++++ netqmail-1.06/install-big.c 2023-12-01 20:05:20.048621806 -0600
+@@ -150,8 +150,8 @@
+ c(auto_qmail,"man/cat5","envelopes.0",auto_uido,auto_gidq,0644);
+ c(auto_qmail,"man/man5","maildir.5",auto_uido,auto_gidq,0644);
+ c(auto_qmail,"man/cat5","maildir.0",auto_uido,auto_gidq,0644);
+- c(auto_qmail,"man/man5","mbox.5",auto_uido,auto_gidq,0644);
+- c(auto_qmail,"man/cat5","mbox.0",auto_uido,auto_gidq,0644);
++ c(auto_qmail,"man/man5","qmail-mbox.5",auto_uido,auto_gidq,0644);
++ c(auto_qmail,"man/cat5","qmail-mbox.0",auto_uido,auto_gidq,0644);
+ c(auto_qmail,"man/man5","dot-qmail.5",auto_uido,auto_gidq,0644);
+ c(auto_qmail,"man/cat5","dot-qmail.0",auto_uido,auto_gidq,0644);
+ c(auto_qmail,"man/man5","qmail-control.5",auto_uido,auto_gidq,0644);
+diff -Nau netqmail-1.06-orig/maildir.5 netqmail-1.06/maildir.5
+--- netqmail-1.06-orig/maildir.5 1998-06-15 05:53:16.000000000 -0500
++++ netqmail-1.06/maildir.5 2023-12-01 20:06:32.630809068 -0600
+@@ -235,5 +235,5 @@
+ environment variable
+ as the name of the user's primary mail directory.
+ .SH "SEE ALSO"
+-mbox(5),
++qmail-mbox(5),
+ qmail-local(8)
+diff -Nau netqmail-1.06-orig/mbox.5 netqmail-1.06/mbox.5
+--- netqmail-1.06-orig/mbox.5 1998-06-15 05:53:16.000000000 -0500
++++ netqmail-1.06/mbox.5 2023-12-01 20:06:23.661774312 -0600
+@@ -1,4 +1,4 @@
+-.TH mbox 5
++.TH qmail-mbox 5
+ .SH "NAME"
+ mbox \- file containing mail messages
+ .SH "INTRODUCTION"
+Common subdirectories: netqmail-1.06-orig/old-patches and netqmail-1.06/old-patches
+Common subdirectories: netqmail-1.06-orig/other-patches and netqmail-1.06/other-patches
+diff -Nau netqmail-1.06-orig/preline.1 netqmail-1.06/preline.1
+--- netqmail-1.06-orig/preline.1 1998-06-15 05:53:16.000000000 -0500
++++ netqmail-1.06/preline.1 2023-12-01 20:05:28.147749986 -0600
+@@ -53,5 +53,5 @@
+ .B Return-Path
+ line.
+ .SH "SEE ALSO"
+-mbox(5),
++qmail-mbox(5),
+ qmail-command(8)
diff --git a/user/netqmail/smtpd-notls.run b/user/netqmail/smtpd-notls.run
new file mode 100644
index 000000000..fb30d0706
--- /dev/null
+++ b/user/netqmail/smtpd-notls.run
@@ -0,0 +1,9 @@
+#!/bin/execlineb -P
+
+fdmove -c 2 1
+s6-envdir env
+importas -u IP IP
+fdmove 1 3
+s6-tcpserver -v -1 -U -c 255 -- $IP 25
+s6-tcpserver-access -v2 -Dpl0 -t5000 -i data/rules --
+qmail-smtpd
diff --git a/user/netqmail/smtpd.run b/user/netqmail/smtpd.run
index 7f10dbdbb..51f06a7e7 100644
--- a/user/netqmail/smtpd.run
+++ b/user/netqmail/smtpd.run
@@ -4,6 +4,9 @@ fdmove -c 2 1
s6-envdir env
importas -u IP IP
fdmove 1 3
-s6-tcpserver -v2 -1U -c 255 -- $IP 25
-s6-tcpserver-access -v2 -DRpl0 -t 5000 -i data/rules --
+s6-tcpserver -v -1 -c 255 -- $IP 25
+s6-tcpserver-access -v2 -Dp -t5000 -i data/rules --
+s6-ucspitlsd -v2 -K30000 --
+s6-applyuidgid -Uz --
+smtpd-starttls-proxy-io
qmail-smtpd
diff --git a/user/netqmail/smtpsd.run b/user/netqmail/smtpsd.run
deleted file mode 100644
index 32d9f54ab..000000000
--- a/user/netqmail/smtpsd.run
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/execlineb -P
-
-fdmove -c 2 1
-s6-envdir env
-importas -u IP IP
-fdmove 1 3
-s6-tlsserver -v2 -1U -c 255 -DRpl0 -t 5000 -i data/rules -- $IP 465
-qmail-smtpd