* Thu Apr 25 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-8.sme

- add listening deamon on submission port 587 [SME: 6510]
- move qpsmtpd daemons to full systemd supervision [SME: 12615]
- separate configuration for the 3 qpsmtpd daemons [SME: 12451]
  increase default TLS version on u/sqpsmtpd as auth is required
- increase Softlimit  to 150M [SME: 12638]
- remove old qmail templates [SME: 9492]
  template for /var/qmail/control/{badrcptto,badmailfrom,rcpthosts}
  also import template for config/badmailfrom from smeserver-wbl
TODO organize peers content for u and s qpsmtpd
TODO check if more config modules needs per service config
This commit is contained in:
2024-04-25 17:24:35 -04:00
parent 2f7fb945df
commit 5b40bfd4f1
114 changed files with 589 additions and 431 deletions

View File

@@ -1,26 +0,0 @@
#!/usr/bin/perl -w
#----------------------------------------------------------------------
# copyright (C) 2005 Mitel Networks Corporation
# Copyright (C) 2006 Gordon Rowell <gordonr@gormand.com.au>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#----------------------------------------------------------------------
use esmith::tcpsvd;
esmith::tcpsvd::configure_peers('qpsmtpd');
esmith::tcpsvd::configure_peers('qpsmtpd', '/var/service/qpsmtpd/config/peers');
exit(0);

View File

@@ -1,44 +0,0 @@
#!/bin/sh
#----------------------------------------------------------------------
# copyright (C) 2001 e-smith, inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Technical support for this program is available from e-smith, inc.
# Please visit our web site www.e-smith.com for details.
#----------------------------------------------------------------------
status=`/sbin/e-smith/config getprop qpsmtpd qplogsumm`
num=`/sbin/e-smith/config getprop qpsmtpd KeepLogFiles`
if [ -z $status ]; then
status="disabled"
fi
if [ $status = "enabled" ]; then
exec \
/usr/bin/setuidgid smelog \
/usr/bin/multilog t s5000000 \
n${num:-10} \
!/usr/local/bin/qplogsumm.pl /var/log/qpsmtpd
else
exec \
/usr/bin/setuidgid smelog \
/usr/bin/multilog t s5000000 \
n${num:-10} \
/var/log/qpsmtpd
fi

View File

@@ -1,73 +0,0 @@
#!/bin/sh
#----------------------------------------------------------------------
# copyright (C) 1999-2005 Mitel Networks Corporation
# Copyright (C) 2005-2006 Gordon Rowell <gordonr@gormand.com.au>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#----------------------------------------------------------------------
exec 2>&1
[ -f ./runenv ] && . ./runenv
export QPSMTPD_CONFIG=/var/service/qpsmtpd/config
./control/1
[ -e /var/service/qpsmtpd/config/databytes ] && \
rm -f /var/service/qpsmtpd/config/databytes
[ -e /var/service/qpsmtpd/config/badrcptto_patterns ] && \
rm -f /var/service/qpsmtpd/config/badrcptto_patterns
# Create dhparam
[ -e /var/service/qpsmtpd/ssl/dhparam.pem ] || \
RANDFILE=/dev/null /usr/bin/openssl dhparam -out /var/service/qpsmtpd/ssl/dhparam.pem 2048
# Create a default dkim key pair
[ -e /home/e-smith/dkim_keys/default/private ] || (\
RANDFILE=/dev/null /usr/bin/openssl genrsa -out /home/e-smith/dkim_keys/default/private 2048
/usr/bin/openssl rsa -in /home/e-smith/dkim_keys/default/private \
-out /home/e-smith/dkim_keys/default/public -pubout
chown qpsmtpd:qpsmtpd /home/e-smith/dkim_keys/default/private
chmod 400 /home/e-smith/dkim_keys/default/private
)
# Init the DMARC report DB
[ -s /var/lib/qpsmtpd/dmarc/reports.sqlite ] || (\
SCHEMA=$(rpm -qd perl-Mail-DMARC | grep mail_dmarc_schema.sqlite)
/usr/bin/sqlite3 /var/lib/qpsmtpd/dmarc/reports.sqlite < $SCHEMA
chown qpsmtpd:qpsmtpd /var/lib/qpsmtpd/dmarc/reports.sqlite
chmod 640 /var/lib/qpsmtpd/dmarc/reports.sqlite
)
exec /usr/bin/softlimit -d ${SOFTLIMIT:-50000000} -s ${SOFTLIMIT:-50000000} -l ${SOFTLIMIT:-50000000} \
/usr/bin/qpsmtpd-forkserver \
-u qpsmtpd \
-l 0.0.0.0 \
-p ${PORT:-25} \
-c ${INSTANCES:-40} \
-m ${INSTANCES_PER_IP:-5}
#sub usage {
# print <<"EOT";
#usage: qpsmtpd-forkserver [ options ]
# -l, --listen-address addr : listen on a specific address; default 0.0.0.0
# -p, --port P : listen on a specific port; default 2525
# -c, --limit-connections N : limit concurrent connections to N; default 15
# -u, --user U : run as a particular user (defualt 'smtpd')
# -m, --max-from-ip M : limit connections from a single IP; default 5
#EOT
# exit 0;
#}
#