summaryrefslogtreecommitdiff
blob: 46f1eb3db0bb354964bc2ee89d3037d75aeb0857 (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
30
31
32
33
34
35
36
37
38
39
40
41
#!/sbin/runscript
# Copyright 2003-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2
# $Header: /var/cvsroot/gentoo-x86/net-ftp/vsftpd/files/vsftpd.init.d,v 1.1.1.1 2005/11/30 09:36:29 chriswhite Exp $

depend() {
	need net
	use dns logger
}

checkconfig() {
	if [[ ! -e ${VSFTPD_CONF} ]] ; then
		eerror "Please setup ${VSFTPD_CONF} before starting vsftpd"
		eerror "There are sample configurations in /usr/share/doc/vsftpd"
		return 1
	fi

	if grep -q "^background=YES" ${VSFTPD_CONF} ; then
		local c=$( grep -c "^\(listen\|listen_ipv6\)=YES" "${VSFTPD_CONF}" )
		[[ ${c} == "1" ]] && return 0
	fi
		
	eerror "${VSFTPD_CONF} must contain background=YES and either"
	eerror "listen=YES or listen_ipv6=YES (but not both)"
	eerror "in order to start vsftpd from /etc/init.d/vsftpd"
	return 1
}

start() {
	checkconfig || return 1
	ebegin "Starting vsftpd"
	start-stop-daemon --start \
		--exec /usr/sbin/vsftpd -- ${VSFTPD_CONF}
	eend $?
}

stop() {
	ebegin "Stopping vsftpd"
	killall vsftpd
	eend $?
}