summaryrefslogtreecommitdiff
path: root/net/publicfile-run/files/pubftpd.sh
blob: 252b13917b05677d0b927eb1abe598f8edc43a24 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
#!@RCD_SCRIPTS_SHELL@
#
# $NetBSD: pubftpd.sh,v 1.1 2015/01/27 23:01:31 schmonz Exp $
#
# @PKGNAME@ script to control publicfile ftpd (FTP server)
#

# PROVIDE: pubftpd
# REQUIRE: NETWORKING mountcritremote syslogd
# BEFORE:  DAEMON

name="pubftpd"

# User-settable rc.conf variables and their default values:
: ${pubftpd_root:="@VARBASE@/public"}
: ${pubftpd_postenv:=""}
: ${pubftpd_datalimit:="50000"}
: ${pubftpd_localname:="0"}
: ${pubftpd_backlog:="20"}
: ${pubftpd_conlimit:="40"}
: ${pubftpd_host:="0"}
: ${pubftpd_port:="21"}
: ${pubftpd_log:="YES"}
: ${pubftpd_logcmd:="logger -t nb${name} -p ftp.info"}
: ${pubftpd_nologcmd:="@DAEMONTOOLS_PREFIX@/bin/multilog -*"}

if [ -f /etc/rc.subr ]; then
	. /etc/rc.subr
fi

rcvar=${name}
required_dirs="${pubftpd_root}"
command="@PREFIX@/libexec/pubftpd"
procname=${name}
start_precmd="pubftpd_precmd"

pubftpd_precmd()
{
	if [ -f /etc/rc.subr ]; then
		checkyesno pubftpd_log || pubftpd_logcmd=${pubftpd_nologcmd}
	fi
 	command="@SETENV@ - ${pubftpd_postenv} @DAEMONTOOLS_PREFIX@/bin/envuidgid pubftp @DAEMONTOOLS_PREFIX@/bin/softlimit -o20 -d${pubftpd_datalimit} @PREFIX@/libexec/pubftpd -vDRH -l${pubftpd_localname} -b${pubftpd_backlog} -c${pubftpd_conlimit} ${pubftpd_host} ${pubftpd_port} @PUBLICFILE_PREFIX@/publicfile/bin/ftpd ${pubftpd_root} 2>&1 | @DAEMONTOOLS_PREFIX@/bin/setuidgid publog ${pubftpd_logcmd}"
	command_args="&"
	rc_flags=""
}

if [ -f /etc/rc.subr ]; then
	load_rc_config $name
	run_rc_command "$1"
else
	@ECHO_N@ " ${name}"
	pubftpd_precmd
	eval ${command} ${pubftpd_flags} ${command_args}
fi