mirror of
https://git.freebsd.org/ports.git
synced 2025-06-16 18:20:33 -04:00
spiped_pipe_X_flags variables. Replace USE_OPENSSL with USES ssl. [1] While I'm here, clarify the comment about needing C99 but preferring a compiler with AESNI support; it applies to the USES compiler:c11 part but not tar:tgz or ssl. PR: 215501 Submitted by: Dave Cottlehuber
80 lines
1.7 KiB
Bash
80 lines
1.7 KiB
Bash
#!/bin/sh
|
|
|
|
# $FreeBSD$
|
|
#
|
|
# PROVIDE: spiped
|
|
# REQUIRE: LOGIN
|
|
# KEYWORD: shutdown
|
|
#
|
|
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
|
|
# to enable this service:
|
|
#
|
|
# spiped_enable: Set to YES to enable spiped.
|
|
# spiped_pipes: List of names of pipes to create.
|
|
# spiped_pipe_X_mode: "encrypt"/"client" or "decrypt"/"server".
|
|
# spiped_pipe_X_source: Source address of pipe X.
|
|
# spiped_pipe_X_target: Target address of pipe X.
|
|
# spiped_pipe_X_key: Key file for pipe X.
|
|
# spiped_pipe_X_flags: Optional flags for pipe X. See spiped(1) for details.
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="spiped"
|
|
rcvar=spiped_enable
|
|
|
|
load_rc_config $name
|
|
|
|
: ${spiped_enable="NO"}
|
|
|
|
command=%%PREFIX%%/bin/${name}
|
|
start_cmd="${name}_start"
|
|
stop_cmd="${name}_stop"
|
|
|
|
spiped_start()
|
|
{
|
|
local P PIDFILE MODE SOURCE TARGET KEY MODEFLAG
|
|
|
|
for P in ${spiped_pipes}; do
|
|
PIDFILE=/var/run/spiped_${P}.pid
|
|
eval MODE=\$spiped_pipe_${P}_mode
|
|
eval SOURCE=\$spiped_pipe_${P}_source
|
|
eval TARGET=\$spiped_pipe_${P}_target
|
|
eval KEY=\$spiped_pipe_${P}_key
|
|
eval FLAGS=\$spiped_pipe_${P}_flags
|
|
case "$MODE" in
|
|
encrypt | client)
|
|
MODEFLAG="-e"
|
|
;;
|
|
decrypt | server)
|
|
MODEFLAG="-d"
|
|
;;
|
|
*)
|
|
echo Invalid value for spiped_pipe_${P}_mode: $MODE
|
|
continue
|
|
esac
|
|
${command} -D $MODEFLAG -s $SOURCE -t $TARGET -k $KEY -p $PIDFILE $FLAGS
|
|
done
|
|
}
|
|
|
|
spiped_stop()
|
|
{
|
|
local P PIDFILE
|
|
|
|
for P in ${spiped_pipes}; do
|
|
PIDFILE=/var/run/spiped_${P}.pid
|
|
if [ -f $PIDFILE ] ; then
|
|
rc_pid=$(check_pidfile $PIDFILE $command)
|
|
fi
|
|
if [ -z "$rc_pid" ]; then
|
|
[ -n "$rc_fast" ] && return 0
|
|
_run_rc_notrunning
|
|
return 1
|
|
fi
|
|
echo "Stopping ${name}."
|
|
kill $sig_stop $rc_pid
|
|
wait_for_pids $rc_pid
|
|
rm $PIDFILE
|
|
done
|
|
}
|
|
|
|
run_rc_command "$1"
|