Merge pull request #9844 from cshoredaniel/pr-msmtpq-ng-mta-conn_test
msmtp-scripts: Fix connectivity test and various permissions
This commit is contained in:
commit
f452195ab6
4 changed files with 50 additions and 11 deletions
|
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=msmtp-scripts
|
PKG_NAME:=msmtp-scripts
|
||||||
PKG_VERSION:=1.2.4
|
PKG_VERSION:=1.2.4
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://launchpad.net/$(PKG_NAME)/1.2/$(PKG_VERSION)/+download
|
PKG_SOURCE_URL:=https://launchpad.net/$(PKG_NAME)/1.2/$(PKG_VERSION)/+download
|
||||||
|
@ -74,6 +74,40 @@ define Package/msmtpq-ng-mta/description
|
||||||
and postsuper symlinks to wrappers that configure
|
and postsuper symlinks to wrappers that configure
|
||||||
msmtpq-ng for use as the system mail transport
|
msmtpq-ng for use as the system mail transport
|
||||||
agent via the sendmail command.
|
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
|
endef
|
||||||
|
|
||||||
define Package/msmtpq-ng-mta-smtpd
|
define Package/msmtpq-ng-mta-smtpd
|
||||||
|
@ -116,6 +150,7 @@ define Package/msmtpq-ng/install
|
||||||
$(INSTALL_DATA) ./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
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
$(CP) $(PKG_BUILD_DIR)/src/usr/bin/msmtpq-ng $(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/
|
$(CP) $(PKG_BUILD_DIR)/src/usr/bin/msmtpq-ng-queue $(1)/usr/bin/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
|
@ -4,12 +4,16 @@
|
||||||
START=90
|
START=90
|
||||||
|
|
||||||
boot() {
|
boot() {
|
||||||
[ ! -d /var/spool/msmtp ] && {
|
if [ ! -d /var/spool/msmtp ]; then
|
||||||
mkdir -m1777 -p /var/spool/msmtp
|
mkdir -m1777 -p /var/spool/msmtp
|
||||||
}
|
else
|
||||||
|
chmod 1777 /var/spool/msmtp
|
||||||
|
fi
|
||||||
|
|
||||||
[ ! -d /var/lock/msmtp ] && {
|
if [ ! -d /var/lock/msmtp ]; then
|
||||||
mkdir -m1777 -p /var/lock/msmtp
|
mkdir -m1777 -p /var/lock/msmtp
|
||||||
}
|
else
|
||||||
|
chmod 1777 /var/spool/msmtp
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,9 +14,9 @@
|
||||||
#MSMTPQ_NG=msmtpq-ng
|
#MSMTPQ_NG=msmtpq-ng
|
||||||
#MSMTPQ_NG_QUEUE=msmtpq-ng-queue
|
#MSMTPQ_NG_QUEUE=msmtpq-ng-queue
|
||||||
#MSMTP_CONF=/etc/msmtprc
|
#MSMTP_CONF=/etc/msmtprc
|
||||||
#EMAIL_CONN_TEST=p
|
EMAIL_CONN_TEST=n
|
||||||
EMAIL_CONN_TEST_PING=openwrt.org
|
#EMAIL_CONN_TEST_PING=openwrt.org
|
||||||
#EMAIL_CONN_TEST_IP=8.8.8.8
|
#EMAIL_CONN_TEST_IP=8.8.8.8
|
||||||
#EMAIL_CONN_TEST_SITE=www.debian.org
|
EMAIL_CONN_TEST_SITE=openwrt.org
|
||||||
#MSMTP_HOLD_SMTP_MAIL=true
|
#MSMTP_HOLD_SMTP_MAIL=true
|
||||||
#MSMTP_HOLD_CLI_MAIL=false
|
#MSMTP_HOLD_CLI_MAIL=false
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
#LOG=~/log/.msmtp.queue.log
|
#LOG=~/log/.msmtp.queue.log
|
||||||
#MAXLOGLEVEL=7
|
#MAXLOGLEVEL=7
|
||||||
#MSMTP_LOCK_DIR=~/.msmtp.lock
|
#MSMTP_LOCK_DIR=~/.msmtp.lock
|
||||||
EMAIL_CONN_TEST=p
|
EMAIL_CONN_TEST=n
|
||||||
EMAIL_CONN_TEST_PING=openwrt.org
|
#EMAIL_CONN_TEST_PING=openwrt.org
|
||||||
#EMAIL_CONN_TEST_IP=8.8.8.8
|
#EMAIL_CONN_TEST_IP=8.8.8.8
|
||||||
#EMAIL_CONN_TEST_SITE=www.debian.org
|
EMAIL_CONN_TEST_SITE=openwrt.org
|
||||||
#MSMTP_UMASK=077
|
#MSMTP_UMASK=077
|
||||||
#MSMTP_LOG_UMASK=077
|
#MSMTP_LOG_UMASK=077
|
||||||
#MSMTP_QUEUE_QUIET=false
|
#MSMTP_QUEUE_QUIET=false
|
||||||
|
|
Loading…
Reference in a new issue