aboutsummaryrefslogtreecommitdiff
path: root/ftp/pure-ftpd/files/pure-ftpd.sh.in
blob: 2f0133dafb3211563f279c1d4bc47ad2463d4f4e (plain) (blame)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/sh

# PROVIDE: pureftpd
# REQUIRE: NETWORKING SERVERS
# BEFORE: DAEMON
# KEYWORD: shutdown

#
# Add the following lines to /etc/rc.conf to enable pure-ftpd:
#
# pureftpd_enable="YES"
#
# For launch uploadscript daemon define
# pureftpd_upload_enable="YES"
# pureftpd_uploadscript="/full/path/to/launch_script"
#

. %%RC_SUBR%%

name=pureftpd
rcvar=`set_rcvar`

load_rc_config $name

command=%%PREFIX%%/sbin/pure-config.pl
command_upload=%%PREFIX%%/sbin/pure-uploadscript
pureftpd_uploadscript=${pureftpd_uploadscript:-"/usr/bin/touch"}
pureftpd_config=${pureftpd_config:-"%%PREFIX%%/etc/pure-ftpd.conf"}
required_files=${pureftpd_config}
pidfile=/var/run/pure-ftpd.pid
pidfile2=/var/run/pure-uploadscript.pid
procname=pure-ftpd

pureftpd_enable=${pureftpd_enable:-"NO"}
command_args="${pureftpd_config} -g${pidfile}"
command_upload_args="-B -r ${pureftpd_uploadscript}"

start_postcmd=start_postcmd
stop_postcmd=stop_postcmd

start_postcmd()
{
       if test -n ${pureftpd_upload_enable:-""} && checkyesno pureftpd_upload_enable; then
       echo "Starting ${command_upload}."
       ${command_upload} ${command_upload_args}  
       fi
}

stop_postcmd()
{
        if test -n ${pureftpd_upload_enable:-""} && checkyesno pureftpd_upload_enable; then
        pid=$(check_pidfile ${pidfile2} ${command_upload})
        if [ -z ${pid} ]; then
        echo "Upload script not running? (check ${pidfile2})."
        return 1
        fi
        echo "Stopping ${command_upload}."
        kill -${sig_stop:-TERM} ${pid}
        [ $? -ne 0 ] && [ -z "$rc_force" ] && return 1
        wait_for_pids ${pid}
        fi
}

run_rc_command "$1"