msmtp-scripts: Backport to fix runtime failure
This commit syncs msmtp-scripts with master as current openwrt-19.07 is broken. Cherry-picks and squashes the following commits from master.6d8cff9a
msmtp-scripts: Fix LICENSE informationd163eaea
msmtp-scripts: Overhaul and update like upstream3c15d410
msmtp-scripts: Make conn_test default ncb9cc3cf2
msmtp-scripts: Fix spool/lock dir permissionsf76408af
msmtp-scripts: Add msmtprc permission docs Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
This commit is contained in:
parent
2c51c7b18e
commit
0ff1a55891
4 changed files with 107 additions and 49 deletions
|
@ -1,7 +1,6 @@
|
|||
#
|
||||
# Copyright (C) 2009 David Cooper <dave@kupesoft.com>
|
||||
# Copyright (C) 2009-2015 OpenWrt.org
|
||||
# Copyright (C) 2016 Daniel Dickinson <cshored@thecshore.com>
|
||||
# Copyright (C) 2016-2019 Daniel Dickinson <cshored@thecshore.com>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
|
@ -10,14 +9,15 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=msmtp-scripts
|
||||
PKG_VERSION:=1.0.8
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=1.2.4
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@SF/msmtp-scripts
|
||||
PKG_HASH:=2aec48d47b02facf2a33cf97a7434e969c1a054224406e6c55320d825c7902b2
|
||||
PKG_SOURCE_URL:=https://launchpad.net/$(PKG_NAME)/1.2/$(PKG_VERSION)/+download
|
||||
PKG_HASH:=fc85ab8ed1348be584adfc1feb89f51daed7404e9e8643652ff31d2af00f1cf5
|
||||
PKG_MAINTAINER:=Daniel F. Dickinson <cshored@thecshore.com>
|
||||
|
||||
PKG_LICENSE:=GPL-3.0+
|
||||
PKG_LICENSE:=GPL-3.0-or-later
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
@ -25,24 +25,20 @@ include $(INCLUDE_DIR)/package.mk
|
|||
define Package/msmtp-scripts/Default
|
||||
SECTION:=mail
|
||||
CATEGORY:=Mail
|
||||
TITLE:=DEPRECATED: Simple sendmail SMTP queueing and forwarding
|
||||
URL:=http://msmtp-scripts.sourceforge.net/
|
||||
TITLE:=Forwarding only SMTP with queuing
|
||||
URL:=https://msmtp-scripts.thecshore.com
|
||||
endef
|
||||
|
||||
define Package/msmtp-scripts/Default/description
|
||||
DEPRECATED: SourceForge project is abandonded; and upstream (on GitHub)
|
||||
has deprecated this project. See:
|
||||
https://github.com/cshore-history/msmtp-scripts#deprecation-notice
|
||||
|
||||
msmtp-scripts are scripts wrappers around the msmtp SMTP client that
|
||||
add queueing, logging to syslog or file, a subset of sendmail/postfix
|
||||
add queueing, logging to syslog or file, and a subset of sendmail/postfix
|
||||
mailq/postsuper/postqueue commands implemented in a compatible fashion.
|
||||
endef
|
||||
|
||||
define Package/msmtpq-ng
|
||||
$(call Package/msmtp-scripts/Default)
|
||||
DEPENDS+= +msmtp
|
||||
TITLE+= (msmtpq-ng wrappers)
|
||||
TITLE+= (common)
|
||||
endef
|
||||
|
||||
define Package/msmtpq-ng/conffiles
|
||||
|
@ -60,16 +56,15 @@ define Package/msmtpq-ng-mta
|
|||
$(call Package/msmtp-scripts/Default)
|
||||
TITLE+= (as MTA)
|
||||
DEPENDS+=+msmtpq-ng
|
||||
USERID:=msmtp=482:msmtp=482
|
||||
ALTERNATIVES:=\
|
||||
400:/usr/sbin/sendmail:/usr/bin/msmtpq-ng-mta \
|
||||
400:/usr/lib/sendmail:/usr/bin/msmtpq-ng-mta \
|
||||
400:/usr/sbin/mailq:/usr/bin/msmtpq-ng-queue-mta \
|
||||
400:/usr/sbin/postqueue:/usr/bin/msmtpq-ng-queue-mta \
|
||||
400:/usr/sbin/postsuper:/usr/sin/msmtpq-ng-queue-mta
|
||||
400:/usr/sbin/sendmail:/usr/sbin/msmtpq-ng-mta \
|
||||
400:/usr/lib/sendmail:/usr/sbin/msmtpq-ng-mta \
|
||||
400:/usr/sbin/mailq:/usr/sbin/msmtpq-ng-queue-mta \
|
||||
400:/usr/sbin/postqueue:/usr/sbin/msmtpq-ng-queue-mta \
|
||||
400:/usr/sbin/postsuper:/usr/sbin/msmtpq-ng-queue-mta
|
||||
endef
|
||||
|
||||
define Package/msmtp-queue-mta/conffiles
|
||||
define Package/msmtpq-ng-mta/conffiles
|
||||
/etc/msmtpq-ng-mta.rc
|
||||
endef
|
||||
|
||||
|
@ -79,12 +74,47 @@ define Package/msmtpq-ng-mta/description
|
|||
and postsuper symlinks to wrappers that configure
|
||||
msmtpq-ng for use as the system mail transport
|
||||
agent via the sendmail command.
|
||||
|
||||
**NB**: In order for msmtpq-ng-mta aka sendmail to
|
||||
send mail for non-root users (not just queue it
|
||||
after failing), the user must have permissions to
|
||||
access /etc/msmtprc -- package msmtp sets msmtprc
|
||||
to rw only by root by default as a security measure
|
||||
(it _can_ contain information like passwords with
|
||||
which to send mail through your email server).
|
||||
|
||||
There are a couple of choices. One is to leave
|
||||
the default permissions (in which cases the mail
|
||||
will queue and fail to send until the mailq -q
|
||||
runner which runs in a root crontab sends the mail).
|
||||
Another is to give any non-root daemon users (or
|
||||
any other users) group access (i.e. create a
|
||||
group for all the users who should be able to
|
||||
send mail, add the users to it, and give the
|
||||
group read-only permissions on the msmtrpc).
|
||||
A final option (which is only resonable if you
|
||||
have no secrets in msmtprc because you are
|
||||
sending unauthenticated mail to a server that
|
||||
accepts mail directly for the intended user --
|
||||
usually that means a self-hosted system mail
|
||||
server, rather than trying to send mail to
|
||||
public servers (which don't typically accept
|
||||
mail from normal user IP addresses, even if
|
||||
you ISP doesn't block the traffic) is to
|
||||
make msmtprc world readable.
|
||||
|
||||
The first option is probably the best choice
|
||||
for most users, as it just means a 15
|
||||
minute delay in the mail getting off the
|
||||
system, and doesn't involve special permissions
|
||||
for non-root daemons or users.
|
||||
endef
|
||||
|
||||
define Package/msmtpq-ng-mta-smtpd
|
||||
$(call Package/msmtp-scripts/Default)
|
||||
DEPENDS+= +msmtpq-ng-mta +xinetd
|
||||
TITLE+= (basic SMTP server)
|
||||
TITLE+= (localhost SMTPd)
|
||||
USERID:=msmtp=482:msmtp=482
|
||||
endef
|
||||
|
||||
define Package/msmtp-ng-mta-smtpd/description
|
||||
|
@ -98,13 +128,13 @@ define Package/msmtp-ng-mta-smtpd/description
|
|||
the hold queue before it can be delivered.
|
||||
endef
|
||||
|
||||
define Package/msmtpq-ng-mta/postinst
|
||||
mkdir -p $${IPKG_INSTROOT}/etc/crontabs
|
||||
if ! grep -q msmtpq-ng-mta $${IPKG_INSTROOT}/etc/crontabs/root; then echo $$'\n'"*/60 * * * * /usr/bin/msmtpq-ng-mta -q" >>$${IPKG_INSTROOT}/etc/crontabs/root; fi
|
||||
define Package/msmtpq-ng-mta-smtpd/conffiles
|
||||
/etc/xinetd.d/ms-mta-smtpd
|
||||
endef
|
||||
|
||||
define Package/msmtp-queue-mta/prerm
|
||||
if grep -q msmtpq-ng-mta $${IPKG_INSTROOT}/etc/crontabs/root; then grep -v '\*/60 \* \* \* \* /usr/bin/msmtpq-ng-mta -q' $${IPKG_INSTROOT}/etc/crontabs/root >$${IPKG_INSTROOT}/etc/crontabs/root.new; mv -f $${IPKG_INSTROOT}/etc/crontabs/root.new $${IPKG_INSTROOT}/etc/crontabs; fi
|
||||
define Package/msmtpq-ng-mta/postinst
|
||||
mkdir -p $${IPKG_INSTROOT}/etc/crontabs
|
||||
if ! grep -q msmtpq-ng-mta $${IPKG_INSTROOT}/etc/crontabs/root 2>/dev/null; then echo $$'\n'"*/60 * * * * /usr/bin/msmtpq-ng-mta -q" >>$${IPKG_INSTROOT}/etc/crontabs/root; fi
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
|
@ -117,26 +147,25 @@ endef
|
|||
|
||||
define Package/msmtpq-ng/install
|
||||
$(INSTALL_DIR) $(1)/etc
|
||||
$(INSTALL_CONF) ./files/msmtpq-ng.rc $(1)/etc/msmtpq-ng.rc
|
||||
$(INSTALL_DATA) ./files/msmtpq-ng.rc $(1)/etc/msmtpq-ng.rc
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(CP) $(PKG_BUILD_DIR)/msmtpq-ng/msmtpq-ng $(1)/usr/bin/
|
||||
$(SED) 's/logger -i/logger/' $(1)/usr/bin/msmtpq-ng
|
||||
$(CP) $(PKG_BUILD_DIR)/msmtpq-ng/msmtpq-ng-queue $(1)/usr/bin/
|
||||
$(CP) $(PKG_BUILD_DIR)/src/usr/bin/msmtpq-ng $(1)/usr/bin/
|
||||
$(SED) "s,nc -vz,printf \"HEAD / HTTP/1.1\\\\r\\\\nHost: \$$$${EMAIL_CONN_TEST_SITE}\\\\r\\\\n\\\\r\\\\n\"|nc," $(1)/usr/bin/msmtpq-ng
|
||||
$(CP) $(PKG_BUILD_DIR)/src/usr/bin/msmtpq-ng-queue $(1)/usr/bin/
|
||||
endef
|
||||
|
||||
define Package/msmtpq-ng-mta/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin $(1)/usr/sbin $(1)/usr/lib $(1)/etc/init.d
|
||||
$(INSTALL_CONF) $(PKG_BUILD_DIR)/msmtpq-ng-mta/msmtpq-ng-mta.rc $(1)/etc/
|
||||
echo 'MSMTP_LOCK_DIR=/var/lock/msmtp' >>$(1)/etc/msmtpq-ng-mta.rc
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/msmtpq-ng-mta/msmtpq-ng-mta $(1)/usr/bin/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/msmtpq-ng-mta/msmtpq-ng-queue-mta $(1)/usr/bin/
|
||||
$(INSTALL_DATA) ./files/msmtpq-ng-mta.rc $(1)/etc/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/usr/sbin/msmtpq-ng-mta $(1)/usr/sbin/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/usr/sbin//msmtpq-ng-queue-mta $(1)/usr/sbin/
|
||||
$(INSTALL_DIR) $(1)/etc/crontabs
|
||||
$(INSTALL_BIN) ./files/msmtpq-ng-mta.init $(1)/etc/init.d/msmtpq-ng-mta
|
||||
endef
|
||||
|
||||
define Package/msmtpq-ng-mta-smtpd/install
|
||||
$(INSTALL_DIR) $(1)/etc/xinetd.d
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/msmtpq-ng-mta/sendmail-bs.xinetd $(1)/etc/xinetd.d/msmtpq-ng-mta-smtpd
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/etc/xinetd.d/ms-mta-smtpd $(1)/etc/xinetd.d/ms-mta-smtpd
|
||||
endef
|
||||
|
||||
|
||||
|
|
|
@ -4,14 +4,16 @@
|
|||
START=90
|
||||
|
||||
boot() {
|
||||
[ ! -d /var/spool/msmtp ] && {
|
||||
mkdir -m 0770 -p /var/spool/msmtp
|
||||
chown msmtp:msmtp /var/spool/msmtp
|
||||
}
|
||||
if [ ! -d /var/spool/msmtp ]; then
|
||||
mkdir -m1777 -p /var/spool/msmtp
|
||||
else
|
||||
chmod 1777 /var/spool/msmtp
|
||||
fi
|
||||
|
||||
[ ! -d /var/lock/msmtp ] && {
|
||||
mkdir -m 0770 -p /var/lock/msmtp
|
||||
chown msmtp:msmtp /var/lock/msmtp
|
||||
}
|
||||
if [ ! -d /var/lock/msmtp ]; then
|
||||
mkdir -m1777 -p /var/lock/msmtp
|
||||
else
|
||||
chmod 1777 /var/spool/msmtp
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
22
mail/msmtp-scripts/files/msmtpq-ng-mta.rc
Normal file
22
mail/msmtp-scripts/files/msmtpq-ng-mta.rc
Normal file
|
@ -0,0 +1,22 @@
|
|||
#!/bin/sh
|
||||
|
||||
#Q=/var/spool/msmtp/"$(id -un)"
|
||||
#LOG=syslog
|
||||
#MAXLOGLEVEL=7
|
||||
#MSMTP_LOCK_DIR=/var/lock/msmtp/"$(id -un)"
|
||||
#MSMTP_UMASK=077
|
||||
#MSMTP_LOG_UMASK=007
|
||||
#MSMTP_QUEUE_QUIET=true
|
||||
#MSMTP_IGNORE_NO_RECIPIENTS=true
|
||||
#MSMTP_QUEUE_ONLY=false
|
||||
#MSMTP_SEND_DELAY=0
|
||||
#MSMTP_MAXIMUM_QUEUE_LIFETIME=345600 # Four days
|
||||
#MSMTPQ_NG=msmtpq-ng
|
||||
#MSMTPQ_NG_QUEUE=msmtpq-ng-queue
|
||||
#MSMTP_CONF=/etc/msmtprc
|
||||
EMAIL_CONN_TEST=n
|
||||
#EMAIL_CONN_TEST_PING=openwrt.org
|
||||
#EMAIL_CONN_TEST_IP=8.8.8.8
|
||||
EMAIL_CONN_TEST_SITE=openwrt.org
|
||||
#MSMTP_HOLD_SMTP_MAIL=true
|
||||
#MSMTP_HOLD_CLI_MAIL=false
|
|
@ -1,14 +1,17 @@
|
|||
#!/bin/sh
|
||||
|
||||
#Q=~/msmtp.queue
|
||||
#LOG=~/log/.msmtp.queue.log
|
||||
#MAXLOGLEVEL=7
|
||||
#MSMTP_LOCKDIR=/var/lock
|
||||
EMAIL_CONN_TEST=p
|
||||
EMAIL_CONN_TEST_SITE=www.lede-project.org
|
||||
#MSMTP_LOCK_DIR=~/.msmtp.lock
|
||||
EMAIL_CONN_TEST=n
|
||||
#EMAIL_CONN_TEST_PING=openwrt.org
|
||||
#EMAIL_CONN_TEST_IP=8.8.8.8
|
||||
EMAIL_CONN_TEST_SITE=openwrt.org
|
||||
#MSMTP_UMASK=077
|
||||
#MSMTP_LOG_UMASK=077
|
||||
#MSMTP_QUEUE_QUIET=false
|
||||
#MSMTP_IGNORE_NO_RECIPIENTS=false
|
||||
#MSMTP_IGNORE_NO_RECIPIENTS=true
|
||||
#MSMTP_QUEUE_ONLY=false
|
||||
#MSMTP_SEND_DELAY=0
|
||||
#MSMTP_MAXIMUM_QUEUE_LIFETIME=345600 # Four days
|
||||
|
@ -16,3 +19,5 @@ EMAIL_CONN_TEST_SITE=www.lede-project.org
|
|||
#MSMTPQ_NG_QUEUE=msmtpq-ng-queue
|
||||
#MSMTP_HOLD_SMTP_MAIL=true
|
||||
#MSMTP_HOLD_CLI_MAIL=false
|
||||
#MSMTP_CONF=/etc/msmtprc
|
||||
#LOCK_CMD=flock
|
||||
|
|
Loading…
Reference in a new issue