summaryrefslogtreecommitdiff
path: root/sysutils/sec/files/sec.in
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2006-10-07 21:30:59 +0000
committerPav Lucistnik <pav@FreeBSD.org>2006-10-07 21:30:59 +0000
commit5c74b85a8fbbdfad369ec5accc0a9a18c7ecb216 (patch)
tree4bdc4379fc7b7ea3932dd14c8d8320e377b3fa1c /sysutils/sec/files/sec.in
parentVersuch is a H323 voice & video proxy appropriated for border and zone (diff)
- Provide rc script
PR: ports/95708 Submitted by: Jo Rhett <jrhett@svcolo.com> Approved by: Nicolas Jombart <ecu@ipv42.net> (maintainer)
Diffstat (limited to '')
-rw-r--r--sysutils/sec/files/sec.in77
1 files changed, 77 insertions, 0 deletions
diff --git a/sysutils/sec/files/sec.in b/sysutils/sec/files/sec.in
new file mode 100644
index 000000000000..b8e0f84090a2
--- /dev/null
+++ b/sysutils/sec/files/sec.in
@@ -0,0 +1,77 @@
+#!/bin/sh
+#
+# Add the following lines to /etc/rc.conf to enable sec:
+# sec_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable sec.
+#
+# These flags control the first (or only) instance of sec.
+# sec_flags (str): Set to "" by default.
+# sec_configfile (str): Set to "%%PREFIX%%/etc/sec.conf" by default.
+#
+# To handle multiple instances you can also define
+# sec_instances="main auth" (list): define the instances (any string) which should be started/stopped
+# sec_instance_main_flags (str): define the invocation options for the first instance
+# sec_instance_main_configfile (str): define the config file for the first instance
+# sec_instance_auth_flags (str): define the invocation options for the second instance
+# sec_instance_auth_configfile (str): define the config file for the second instance
+# ...etc
+#
+
+. %%RC_SUBR%%
+
+name="sec"
+rcvar=`set_rcvar`
+
+command="%%PREFIX%%/bin/sec"
+command_args="-detach"
+command_interpreter="%%PERL%%"
+extra_commands="reload"
+pidfile="/var/run/sec.pid"
+
+start_precmd="sec_checkconfig"
+reload_precmd="sec_checkconfig"
+restart_precmd="sec_checkconfig"
+sig_reload=HUP
+
+load_rc_config "${name}"
+[ -z "${sec_enable}" ] && sec_enable="NO"
+[ -z "${sec_flags}" ] && sec_flags="-log=/var/log/sec.log"
+[ -z "${sec_configfile}" ] && sec_configfile="%%PREFIX%%/etc/sec.conf"
+[ -z "${sec_instances}" ] && sec_instances=""
+
+sec_checkconfig() {
+ if [ -z $instance ]
+ then
+ echo -n "Performing sanity check of sec configuration: "
+ else
+ echo -n "Performing sanity check of sec_${instance} configuration: "
+ fi
+ ${command} -debug=1 -testonly -conf=${sec_configfile} 2>&1 >/dev/null
+ if [ $? != 0 ]; then
+ echo "FAILED"
+ ${command} -testonly -conf=${sec_configfile}
+ return 1
+ else
+ echo "OK"
+ fi
+}
+
+required_files="${sec_configfile}"
+sec_flags="-conf=${sec_configfile} -pid=${pidfile} ${sec_flags}"
+
+run_rc_command "$1"
+
+# Are we handling multiple instance mode?
+if [ ! -z "${sec_instances}" ]
+then
+ for instance in $sec_instances
+ do
+ # Iterate through all instances
+ name="sec_${instance}"
+ pidfile="/var/run/sec_${instance}.pid"
+ eval required_files=\$sec_${instance}_configfile
+ eval sec_${instance}_flags="\"-conf=\$sec_${instance}_configfile -pid=\$pidfile \$sec_${instance}_flags\""
+
+ run_rc_command "$1"
+ done
+fi