From 3e95e7c8285a437a074d77410bfe5608da38623b Mon Sep 17 00:00:00 2001 From: Jean-Philippe Pialasse Date: Thu, 16 Jan 2025 21:35:51 -0500 Subject: [PATCH] * Thu Jan 16 2025 Jean-Philippe Pialasse 1.03-28.sme - fix missing mini-qmail pre and post scriptlet [SME: 12872] --- contriborbase | 1 - qmail-1.03-sme11-nodeliveredto.patch | 11 +++ qmail.spec | 111 +++++++++++++++++---------- 3 files changed, 80 insertions(+), 43 deletions(-) delete mode 100644 contriborbase create mode 100644 qmail-1.03-sme11-nodeliveredto.patch diff --git a/contriborbase b/contriborbase deleted file mode 100644 index ef36a67..0000000 --- a/contriborbase +++ /dev/null @@ -1 +0,0 @@ -sme10 diff --git a/qmail-1.03-sme11-nodeliveredto.patch b/qmail-1.03-sme11-nodeliveredto.patch new file mode 100644 index 0000000..73d400c --- /dev/null +++ b/qmail-1.03-sme11-nodeliveredto.patch @@ -0,0 +1,11 @@ +--- qmail-1.03.old/condredirect.c 1998-06-15 06:53:16.000000000 -0400 ++++ qmail-1.03/condredirect.c 2024-12-18 00:41:41.024000000 -0500 +@@ -70,7 +70,7 @@ + + if (qmail_open(&qqt) == -1) + strerr_die2sys(111,FATAL,"unable to fork: "); +- qmail_puts(&qqt,dtline); ++ //qmail_puts(&qqt,dtline); + if (substdio_copy(&ssout,&ssin) != 0) + strerr_die2sys(111,FATAL,"unable to read message: "); + substdio_flush(&ssout); diff --git a/qmail.spec b/qmail.spec index 7d44059..93cbfd2 100644 --- a/qmail.spec +++ b/qmail.spec @@ -10,7 +10,7 @@ Summary: A modern, fast, secure replacement for sendmail %define name qmail Name: %{name} %define version 1.03 -%define release 27 +%define release 28 Version: %{version} Release: %{release}%{?dist} #Author: Daniel J. Bernstein @@ -27,6 +27,7 @@ Patch5: http://notes.sagredo.eu/sites/notes.sagredo.eu/files/qmail/patches/qmail Patch6: netqmail-1.06-tls-20190517-remote.patch #adapted from http://inoa.net/qmail-tls/netqmail-1.06-tls-20190517.patch Patch7: qmail-1.03-el8.patch +#Patch8: qmail-1.03-sme11-nodeliveredto.patch URL: http://cr.yp.to/%{name}.html BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot Provides: smtpdaemon @@ -83,6 +84,9 @@ also includes a drop-in ``sendmail'' wrapper so that it will be used transparently by your current UAs. %changelog +* Thu Jan 16 2025 Jean-Philippe Pialasse 1.03-28.sme +- fix missing mini-qmail pre and post scriptlet [SME: 12872] + * Sun Nov 24 2024 Jean-Philippe Pialasse 1.03-27.sme - create mini-qmail package @@ -406,6 +410,63 @@ user_check qmailq $qmailq $qmail /var/qmail /bin/false user_check qmailr $qmailr $qmail /var/qmail /bin/false user_check qmails $qmails $qmail /var/qmail /bin/false +%pre -n mini-qmail +# Prior to installing the package, ensure that the qmail users and groups +# exist and have the correct uid and gid information. This ensures that +# uid and gid values match the values which are compiled into the binaries + +# GIDs +nofiles=400 +qmail=401 + +# UIDs +alias=400 +qmaild=401 +qmaill=402 +qmailp=403 +qmailq=404 +qmailr=405 +qmails=406 + +group_check() +{ + if grep "^$1:" /etc/group > /dev/null 2>&1 + then + if [ $(grep "^$1:" /etc/group | /usr/bin/cut -d: -f3) != $2 ] + then + /usr/sbin/groupdel $1 + /usr/sbin/groupadd -g $2 $1 + fi + else + /usr/sbin/groupadd -g $2 $1 + fi +} + +group_check nofiles $nofiles +group_check qmail $qmail + +user_check() +{ + if grep "^$1:" /etc/passwd > /dev/null 2>&1 + then + if [ $(grep "^$1:" /etc/passwd | /usr/bin/cut -d: -f3,4) != "$2:$3" ] + then + /usr/sbin/userdel $1 + /usr/sbin/useradd -u $2 -M -g $3 -d $4 -s $5 $1 + fi + else + /usr/sbin/useradd -u $2 -M -g $3 -d $4 -s $5 $1 + fi +} + +user_check alias $alias $nofiles /var/qmail/alias /bin/false +user_check qmaild $qmaild $nofiles /var/qmail /bin/false +user_check qmaill $qmaill $nofiles /var/qmail /bin/false +user_check qmailp $qmailp $nofiles /var/qmail /bin/false +user_check qmailq $qmailq $qmail /var/qmail /bin/false +user_check qmailr $qmailr $qmail /var/qmail /bin/false +user_check qmails $qmails $qmail /var/qmail /bin/false + %post dd bs=1024 count=1 if=/dev/zero of=/var/qmail/queue/lock/tcpto &> /dev/null @@ -413,6 +474,12 @@ chown qmailr:qmail /var/qmail/queue/lock/tcpto &> /dev/null chmod 644 /var/qmail/queue/lock/tcpto &> /dev/null exit 0 +%post -n mini-qmail +dd bs=1024 count=1 if=/dev/zero of=/var/qmail/queue/lock/tcpto &> /dev/null +chown qmailr:qmail /var/qmail/queue/lock/tcpto &> /dev/null +chmod 644 /var/qmail/queue/lock/tcpto &> /dev/null +exit 0 + %clean rm -rf $RPM_BUILD_ROOT @@ -736,7 +803,7 @@ A mini-qmail installation doesn't have a mail queue. Instead it gives each new m %files -n mini-qmail %attr(755,root,qmail) %dir /var/qmail -%attr(2755,alias,qmail) %dir /var/qmail/alias +#%attr(2755,alias,qmail) %dir /var/qmail/alias %attr(755,root,qmail) %dir /var/qmail/control %attr(755,root,qmail) %dir /var/qmail/users %attr(755,root,qmail) %dir /var/qmail/bin @@ -858,63 +925,25 @@ A mini-qmail installation doesn't have a mail queue. Instead it gives each new m #a symbolic link to qmail-qmqpc from /var/qmail/bin/qmail-queue #%attr(4711,qmailq,qmail) /var/qmail/bin/qmail-queue %attr(4711,qmailq,qmail) /var/qmail/bin/qmail-queue.mini -#%attr(700,root,qmail) /var/qmail/bin/qmail-lspawn -#%attr(700,root,qmail) /var/qmail/bin/qmail-start -#%attr(711,root,qmail) /var/qmail/bin/qmail-getpw #yes as per https://johnleach.co.uk/documents/qmail-to-postfix/ %attr(711,root,qmail) /var/qmail/bin/qmail-local -#%attr(711,root,qmail) /var/qmail/bin/qmail-remote -#%attr(711,root,qmail) /var/qmail/bin/qmail-rspawn -#%attr(711,root,qmail) /var/qmail/bin/qmail-clean -#%attr(711,root,qmail) /var/qmail/bin/qmail-send -#%attr(711,root,qmail) /var/qmail/bin/splogger -#%attr(700,root,qmail) /var/qmail/bin/qmail-newu -#%attr(700,root,qmail) /var/qmail/bin/qmail-newmrh -#%attr(711,root,qmail) /var/qmail/bin/qmail-pw2u -#yes %attr(755,root,qmail) /var/qmail/bin/qmail-inject -#yes %attr(755,root,qmail) /var/qmail/bin/predate -#yes %attr(755,root,qmail) /var/qmail/bin/datemail -#yes %attr(755,root,qmail) /var/qmail/bin/mailsubj -#yes %attr(755,root,qmail) /var/qmail/bin/qmail-showctl -#%attr(755,root,qmail) /var/qmail/bin/qmail-qread -#%attr(755,root,qmail) /var/qmail/bin/qmail-qstat -#%attr(755,root,qmail) /var/qmail/bin/qmail-tcpto -#%attr(755,root,qmail) /var/qmail/bin/qmail-tcpok -#%attr(755,root,qmail) /var/qmail/bin/qmail-pop3d -#%attr(711,root,qmail) /var/qmail/bin/qmail-popup -#yes %attr(755,root,qmail) /var/qmail/bin/qmail-qmqpc -#%attr(755,root,qmail) /var/qmail/bin/qmail-qmqpd -#%attr(755,root,qmail) /var/qmail/bin/qmail-qmtpd -#%attr(755,root,qmail) /var/qmail/bin/qmail-smtpd -#yes %attr(755,root,qmail) /var/qmail/bin/sendmail -#%attr(755,root,qmail) /var/qmail/bin/tcp-env -#%attr(755,root,qmail) /var/qmail/bin/qreceipt -#%attr(755,root,qmail) /var/qmail/bin/qsmhook -#%attr(755,root,qmail) /var/qmail/bin/qbiff -#yes %attr(755,root,qmail) /var/qmail/bin/forward %attr(755,root,qmail) /var/qmail/bin/preline %attr(755,root,qmail) /var/qmail/bin/condredirect %attr(755,root,qmail) /var/qmail/bin/bouncesaying %attr(755,root,qmail) /var/qmail/bin/except -#yes %attr(755,root,qmail) /var/qmail/bin/maildirmake -#yes %attr(755,root,qmail) /var/qmail/bin/maildir2mbox -#yes %attr(755,root,qmail) /var/qmail/bin/maildirwatch -#yes %attr(755,root,qmail) /var/qmail/bin/qail -#yes %attr(755,root,qmail) /var/qmail/bin/elq -#yes %attr(755,root,qmail) /var/qmail/bin/pinq %attr(755,root,qmail) /var/qmail/boot/home %attr(755,root,qmail) /var/qmail/boot/home+df @@ -1054,6 +1083,4 @@ A mini-qmail installation doesn't have a mail queue. Instead it gives each new m %attr(644,root,qmail) /var/qmail/man/man8/qmail-command.8 %attr(600,qmails,qmail) /var/qmail/queue/lock/sendmutex %attr(622,qmails,qmail) /var/qmail/queue/lock/trigger -#%attr(777,root,root) /usr/lib/sendmail -#%attr(777,root,root) /usr/sbin/sendmail