summaryrefslogtreecommitdiff
path: root/pcr/openrc-net/vsftpd-checkconfig.sh
blob: e1d1e5231b677b6a2bca1361a6e07b210f5efbf0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh

VSFTPD_CONF="${VSFTPD_CONF:-/etc/vsftpd/vsftpd.conf}"

if [ ! -e ${VSFTPD_CONF} ] ; then
	echo "Please setup ${VSFTPD_CONF} before starting vsftpd" >&2
	echo "There are sample configurations in /usr/share/doc/vsftpd" >&2
	exit 1
fi

if egrep -iq "^ *background *= *yes" "${VSFTPD_CONF}" ; then
	echo "${VSFTPD_CONF} must not set background=YES" >&2
	exit 1
fi

has_ip=false has_ipv6=false ip_error=true
egrep -iq "^ *listen *= *yes" "${VSFTPD_CONF}" && has_ip=true
egrep -iq "^ *listen_ipv6 *= *yes" "${VSFTPD_CONF}" && has_ipv6=true
if ${has_ip} && ! ${has_ipv6} ; then
	ip_error=false
elif ! ${has_ip} && ${has_ipv6} ; then
	ip_error=false
fi
if ${ip_error} ; then
	echo "${VSFTPD_CONF} must contain listen=YES or listen_ipv6=YES" >&2
	echo "but not both" >&2
	exit 1
fi