ports/159899: New port: sysutils/spiped secure pipe daemon

Colin Percival cperciva at FreeBSD.org
Fri Aug 19 04:40:09 UTC 2011


>Number:         159899
>Category:       ports
>Synopsis:       New port: sysutils/spiped secure pipe daemon
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Aug 19 04:40:09 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Colin Percival
>Release:        n/a
>Organization:
>Environment:
n/a
>Description:
Port of the spiped secure pipe daemon; this is essentially a replacement
for 'ssh -L', but using a pre-shared symmetric key (and not requiring SSH).

The only non-trivial component here is the rc.d script for creating
pipes; it is common for multiple instances of spiped to be required so
the rc.d script uses a list of pipes ($spiped_pipes) and options for
each pipe ($spiped_pipe_X_* for the pipe X).

I have a ports commit bit but don't use it often, and I'm not sure about
whether I got the rc.d script right in particular, so I'm submitting
this as a PR rather than committing it myself in the hopes that someone
with more ports-fu will make sure that I did things right. ;-)

>How-To-Repeat:
>Fix:

--- spiped.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	spiped
#	spiped/files
#	spiped/files/spiped.in
#	spiped/pkg-descr
#	spiped/distinfo
#	spiped/Makefile
#
echo c - spiped
mkdir -p spiped > /dev/null 2>&1
echo c - spiped/files
mkdir -p spiped/files > /dev/null 2>&1
echo x - spiped/files/spiped.in
sed 's/^X//' >spiped/files/spiped.in << '333e110c043b23aeda04713cf125df30'
X#!/bin/sh
X
X# $FreeBSD$
X#
X# PROVIDE: spiped
X# REQUIRE: LOGIN
X# KEYWORD: shutdown
X#
X# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
X# to enable this service:
X#
X# spiped_enable:	Set to YES to enable spiped.
X# spiped_pipes:		List of names of pipes to create.
X# spiped_pipe_X_mode:	"encrypt"/"client" or "decrypt"/"server".
X# spiped_pipe_X_source: Source address of pipe X.
X# spiped_pipe_X_target:	Target address of pipe X.
X# spiped_pipe_X_key:	Key file for pipe X.
X
X. /etc/rc.subr
X
Xname="spiped"
Xstart_cmd="${name}_start"
Xstop_cmd="${name}_stop"
Xrcvar=${name}_enable
X
Xcommand=%%PREFIX%%/bin/${name}
X
Xload_rc_config $name
X
X: ${spiped_enable="NO"}
X
Xspiped_start()
X{
X	for P in ${spiped_pipes}; do
X		PIDFILE=/var/run/spiped_$P.pid
X		eval MODE=\$spiped_pipe_${P}_mode
X		eval SOURCE=\$spiped_pipe_${P}_source
X		eval TARGET=\$spiped_pipe_${P}_target
X		eval KEY=\$spiped_pipe_${P}_key
X		case "$MODE" in
X		encrypt | client)
X			MODEFLAG="-e"
X			;;
X		decrypt | server)
X			MODEFLAG="-d"
X			;;
X		*)
X			echo Invalid value for spiped_pipe_$P}_mode: $MODE
X			continue
X		esac
X		${command} $MODEFLAG -s $SOURCE -t $TARGET -k $KEY -p $PIDFILE
X	done
X}
X
Xspiped_stop()
X{
X	for P in ${spiped_pipes}; do
X		PIDFILE=/var/run/spiped_$P.pid
X		if [ -f $PIDFILE ]; then
X			kill -TERM `cat $PIDFILE`
X			rm $PIDFILE
X		fi
X	done
X}
X
Xrun_rc_command "$1"
333e110c043b23aeda04713cf125df30
echo x - spiped/pkg-descr
sed 's/^X//' >spiped/pkg-descr << '6ba1786c45428fb88d462c43c1965fdf'
XSpiped (pronounced "ess-pipe-dee") is a utility for creating symmetrically
Xencrypted and authenticated pipes between socket addresses, so that one may
Xconnect to one address (e.g., a UNIX socket on localhost) and transparently
Xhave a connection established to another address (e.g., a UNIX socket on a
Xdifferent system). This is similar to 'ssh -L' functionality, but does not
Xuse SSH and requires a pre-shared symmetric key. 
X
XWWW: http://www.tarsnap.com/spiped.html
X
X- Colin Percival
Xcperciva at tarsnap.com
6ba1786c45428fb88d462c43c1965fdf
echo x - spiped/distinfo
sed 's/^X//' >spiped/distinfo << '994a20e8a7d012e332be9fbe0642de43'
XSHA256 (spiped-1.0.0.tgz) = 82df05533bf8d8580f57e6dbec7d7e2966eabd3ea7a0a0bb06f87000947969a3
XSIZE (spiped-1.0.0.tgz) = 46684
994a20e8a7d012e332be9fbe0642de43
echo x - spiped/Makefile
sed 's/^X//' >spiped/Makefile << '2ab3cd9813c7e6138398a6bbf18b262d'
X# New ports collection makefile for:		spiped secure pipe daemon
X# Date created:					2011-08-18
X# Whom:						Colin Percival
X#
X# $FreeBSD$
X#
X
XPORTNAME=	spiped
XPORTVERSION=	1.0.0
XCATEGORIES=	sysutils security
XMASTER_SITES=	http://www.tarsnap.com/spiped/
XEXTRACT_SUFX=	.tgz
X
XMAINTAINER=	cperciva at tarsnap.com
XCOMMENT=	Daemon for creating secure symmetric pipes
X
XPLIST_FILES=	bin/spiped
X
XUSE_RC_SUBR=	spiped
X
X.include <bsd.port.mk>
2ab3cd9813c7e6138398a6bbf18b262d
exit
--- spiped.shar ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list