ports/93314: security/tor-devel

Peter Thoenen peter.thoenen at yahoo.com
Wed Feb 15 05:20:09 UTC 2006


The following reply was made to PR ports/93314; it has been noted by GNATS.

From: Peter Thoenen <peter.thoenen at yahoo.com>
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: ports/93314: security/tor-devel
Date: Tue, 14 Feb 2006 21:17:00 -0800 (PST)

 --0-1122628208-1139980620=:96936
 Content-Type: text/plain; charset=iso-8859-1
 Content-Transfer-Encoding: 8bit
 Content-Id: 
 Content-Disposition: inline
 
 Had the night off and motivated myself enough to write the rc.subr
 script finally.  Attached is a new unified diff .. ignore the previous one.
 --0-1122628208-1139980620=:96936
 Content-Type: text/plain; name="tor-devel.diff.txt"
 Content-Description: 3310809015-tor-devel.diff.txt
 Content-Disposition: inline; filename="tor-devel.diff.txt"
 
 diff -ruN tor-devel.orig/Makefile tor-devel/Makefile
 --- tor-devel.orig/Makefile	Sat Feb 11 11:09:25 2006
 +++ tor-devel/Makefile	Tue Feb 14 15:33:30 2006
 @@ -1,18 +1,18 @@
  # ports collection makefile for:	tor-devel
  # Date created:				2005.10.20
 -# Whom:					eol1 at yahoo.com
 +# Whom:					peter.thoenen at yahoo.com
  #
  # $FreeBSD: ports/security/tor-devel/Makefile,v 1.22 2006/01/16 00:13:31 pav Exp $
  #
  
  PORTNAME=	tor
 -PORTVERSION=	0.1.1.12
 +PORTVERSION=	0.1.1.13
  CATEGORIES=	security net
  MASTER_SITES=	http://tor.eff.org/dist/
  PKGNAMESUFFIX=	-devel
  DISTNAME=	${PORTNAME}-${PORTVERSION}-alpha
  
 -MAINTAINER=	eol1 at yahoo.com
 +MAINTAINER=	peter.thoenen at yahoo.com
  COMMENT=	An anonymizing overlay network for TCP
  
  RUN_DEPENDS=	tsocks:${PORTSDIR}/net/tsocks
 @@ -20,32 +20,31 @@
  
  GNU_CONFIGURE=	yes
  USE_OPENSSL=	yes
 -USE_REINPLACE=	yes
 -USE_RC_SUBR=	yes
  
  CONFLICTS=	tor-[0-9]*
  
  MANCOMPRESSED=	no
  MAN1=		tor.1 tor-resolve.1 torify.1
  
 +USE_RC_SUBR+=	tor
 +
  post-patch:
 +	@${SED} -e "s|%%PREFIX%%|${PREFIX}|g" \
 +		${FILESDIR}/pkg-message.in > ${PKGMESSAGE}
  	@${MV} ${WRKSRC}/contrib/tor-tsocks.conf \
  		${WRKSRC}/contrib/tor-tsocks.conf.sample
  	@${REINPLACE_CMD} -e "s|tor-tsocks.conf|tor-tsocks.conf.sample|g" \
  		${WRKSRC}/contrib/Makefile.in
 -	@${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" \
 -		${WRKSRC}/contrib/torctl.in
  	@${FIND} ${WRKSRC} -type f | ${XARGS} \
  		-n 10 ${REINPLACE_CMD} -E \
  		-e 's!-g -O2!!' \
  		-e 's!-O2!!'
  
  pre-install:
 -	PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
 +	@${SETENV} PKG_PREFIX=${PREFIX} ${SH} \
 +		${PKGINSTALL} ${PKGNAME} PRE-INSTALL
  
  post-install:
 -	${INSTALL_SCRIPT} ${WRKSRC}/contrib/tor.sh ${PREFIX}/etc/rc.d/tor.sh
 -	${INSTALL_SCRIPT} ${WRKSRC}/contrib/torctl ${PREFIX}/bin/torctl
  	@${MKDIR} /var/run/tor
  	@${CHOWN} _tor:_tor /var/run/tor
  	@${TOUCH} /var/log/tor
 diff -ruN tor-devel.orig/distinfo tor-devel/distinfo
 --- tor-devel.orig/distinfo	Sat Feb 11 11:09:25 2006
 +++ tor-devel/distinfo	Sat Feb 11 11:10:26 2006
 @@ -1,3 +1,3 @@
 -MD5 (tor-0.1.1.12-alpha.tar.gz) = 64439b11f18462bc0a9599940899240e
 -SHA256 (tor-0.1.1.12-alpha.tar.gz) = 125bfd5b3f6979ee02dca0fa8372f80bbf6e4907a569e890105fe3405dc03a95
 -SIZE (tor-0.1.1.12-alpha.tar.gz) = 751711
 +MD5 (tor-0.1.1.13-alpha.tar.gz) = 5cdf6c5ed20efd7048ee1257cbcc1b4e
 +SHA256 (tor-0.1.1.13-alpha.tar.gz) = cb15a83ed8ad87d67c0685b20a41096c32211f20ae321f39ed110d7ace38e29f
 +SIZE (tor-0.1.1.13-alpha.tar.gz) = 756583
 diff -ruN tor-devel.orig/files/patch-contrib-tor.sh.in tor-devel/files/patch-contrib-tor.sh.in
 --- tor-devel.orig/files/patch-contrib-tor.sh.in	Sat Feb 11 11:09:25 2006
 +++ tor-devel/files/patch-contrib-tor.sh.in	Thu Jan  1 03:00:00 1970
 @@ -1,85 +0,0 @@
 ---- contrib/tor.sh.in.orig	Mon Dec 26 04:28:12 2005
 -+++ contrib/tor.sh.in	Thu Jan 12 06:25:02 2006
 -@@ -9,26 +9,26 @@
 - # This particular script is written for Red Hat/Fedora Linux, and may
 - # also work on Mandrake, but not SuSE.
 - #
 --# These next couple of lines "declare" tor for the "chkconfig" program,
 --# originally from SGI, used on Red Hat/Fedora and probably elsewhere.
 --#
 --# chkconfig: 2345 90 10
 - # description: Onion Router - A low-latency anonymous proxy
 - #
 -+#
 -+# Add some of the following variables to /etc/rc.conf to configure stunnel:
 -+# tor_enable (bool):        Default "NO"
 -+#                               Set it to "YES" to enable stunnel.
 -+# tor_user (str):         Default "_tor"
 -+#                               Set it to the tor user
 -+# tor_group (str):        Default "_tor"
 -+#                               Set it to the tor group
 -+#
 - 
 --# Library functions
 --if [ -f /etc/rc.d/init.d/functions ]; then
 --   . /etc/rc.d/init.d/functions
 --elif [ -f /etc/init.d/functions ]; then
 --   . /etc/init.d/functions
 --fi
 -+tor_enable=${tor_enable-"NO"}
 - 
 --TORCTL=@BINDIR@/torctl
 -+TORCTL=%%PREFIX%%/bin/torctl
 - 
 - # torctl will use these environment variables
 --TORUSER=@TORUSER@
 -+TORUSER=${tor_user-"_tor"}
 - export TORUSER
 --TORGROUP=@TORGROUP@
 -+TORGROUP=${tor_group-"_tor"}
 - export TORGROUP
 - 
 - if [ -x /bin/su ] ; then
 -@@ -46,28 +46,32 @@
 - case "$1" in
 - 
 -     start)
 --    action $"Starting tor:" $TORCTL start
 --    RETVAL=$?
 -+      echo "Starting tor:"
 -+        $TORCTL start
 -+      RETVAL=$?
 -     ;;
 - 
 -     stop)
 --    action $"Stopping tor:" $TORCTL stop
 --    RETVAL=$?
 -+      echo "Stopping tor:" 
 -+        $TORCTL stop
 -+      RETVAL=$?
 -     ;;
 - 
 -     restart)
 --    action $"Restarting tor:" $TORCTL restart
 --    RETVAL=$?
 -+      echo "Restarting tor:"
 -+        $TORCTL restart
 -+      RETVAL=$?
 -     ;;
 - 
 -     reload)
 --    action $"Reloading tor:" $TORCTL reload
 --    RETVAL=$?
 -+      echo "Reloading tor:"
 -+        $TORCTL reload
 -+      RETVAL=$?
 -     ;;
 - 
 -     status)
 --    $TORCTL status
 --    RETVAL=$?
 -+      $TORCTL status
 -+      RETVAL=$?
 -     ;;
 - 
 -     *)
 diff -ruN tor-devel.orig/files/patch-contrib-torctl.in tor-devel/files/patch-contrib-torctl.in
 --- tor-devel.orig/files/patch-contrib-torctl.in	Sat Feb 11 11:09:25 2006
 +++ tor-devel/files/patch-contrib-torctl.in	Thu Jan  1 03:00:00 1970
 @@ -1,39 +0,0 @@
 ---- contrib/torctl.in.orig	Mon Dec 26 04:28:12 2005
 -+++ contrib/torctl.in	Fri Jan 13 09:12:42 2006
 -@@ -24,20 +24,20 @@
 - EXEC=tor
 - #
 - # the path to your binary, including options if necessary
 --TORBIN="@BINDIR@/$EXEC"
 -+TORBIN="/usr/local/bin/$EXEC"
 - #
 - # the path to the configuration file
 --TORCONF="@CONFDIR@/torrc"
 -+TORCONF="/usr/local/etc/tor/torrc"
 - #
 - # the path to your PID file
 --PIDFILE="@LOCALSTATEDIR@/run/tor/tor.pid"
 -+PIDFILE="/var/run/tor/tor.pid"
 - #
 - # The path to the log file
 --LOGFILE="@LOCALSTATEDIR@/log/tor/tor.log"
 -+LOGFILE="/var/log/tor"
 - #
 - # The path to the datadirectory
 --TORDATA="@LOCALSTATEDIR@/lib/tor"
 - #
 -+TORDATA="/var/db/tor/data"
 - TORARGS="--pidfile $PIDFILE --log \"notice file $LOGFILE\" --runasdaemon 1"
 - TORARGS="$TORARGS --datadirectory $TORDATA"
 - 
 -@@ -47,8 +47,8 @@
 - # let an unprivileged user run tor for her own use using this script,
 - # while still providing for it to be used as a system daemon.
 - if [ "x`id -u`" = "x0" ]; then
 --    TORUSER=@TORUSER@
 --    TORGROUP=@TORGROUP@
 -+    TORUSER="_tor"
 -+    TORGROUP="_tor"
 - fi
 - 
 - if [ "x$TORUSER" != "x" ]; then
 diff -ruN tor-devel.orig/files/pkg-message.in tor-devel/files/pkg-message.in
 --- tor-devel.orig/files/pkg-message.in	Thu Jan  1 03:00:00 1970
 +++ tor-devel/files/pkg-message.in	Tue Feb 14 14:33:23 2006
 @@ -0,0 +1,5 @@
 +=====================================================================================
 +Tor has been converted to used rc.subr.  To enable the tor server, set 
 +tor_enable="YES" in your /etc/rc.conf and edit %%PREFIX%%/etc/tor/torrc
 +=====================================================================================
 +
 diff -ruN tor-devel.orig/files/tor.in tor-devel/files/tor.in
 --- tor-devel.orig/files/tor.in	Thu Jan  1 03:00:00 1970
 +++ tor-devel/files/tor.in	Tue Feb 14 15:11:17 2006
 @@ -0,0 +1,50 @@
 +#!/bin/sh
 +#
 +# $FreeBSD$
 +#
 +# The Onion Router (Tor)
 +#
 +# Description: Tor is a connection-based low-latency anonymous communication 
 +#              system which addresses many of the flaws in the orginal onion
 +#              routing design.
 +
 +# REQUIRE: NETWORKING SERVERS USR
 +# BEFORE: LOGIN
 +# KEYWORD: FreeBSD
 +
 +# Add the following lines to /etc/rc.conf to enable tor
 +# tor_enable (bool):	Set to "NO" by default
 +#			Set it to "YES" to enable tor
 +# tor_conf (str):	Points to your tor conf file
 +#                       Default: %%PREFIX%%/etc/tor/torrc
 +# tor_user (str):	Tor Daemon user.  Default _tor
 +
 +. /etc/rc.subr
 +
 +name="tor"
 +rcvar=`set_rcvar`
 +
 +[ -z "${tor_enable}" ]	&& tor_enable="NO"
 +[ -z "${tor_conf}" ]	&& tor_conf="%%PREFIX%%/etc/tor/torrc"
 +[ -z "${tor_user}" ]	&& tor_user="_tor"
 +[ -z "${tor_group}" ]	&& tor_group="_tor"
 +
 +command="%%PREFIX%%/bin/${name}"
 +extra_commands="log"
 +log_cmd="${name}_log"
 +pidfile="/var/run/tor/tor.pid"
 +logfile="/var/log/tor"
 +datadir="/var/run/tor"
 +command_args="-f ${tor_conf} --pidfile ${pidfile} --runasdaemon 1 --datadirectory ${datadir} --user ${tor_user} --group ${tor_group}"
 +
 +load_rc_config $name
 +
 +required_files=${tor_conf}
 +required_dirs=${datadir}
 +
 +tor_log() {
 +	cat ${logfile}
 +}
 +
 +run_rc_command "$1"
 +
 diff -ruN tor-devel.orig/pkg-deinstall tor-devel/pkg-deinstall
 --- tor-devel.orig/pkg-deinstall	Thu Jan  1 03:00:00 1970
 +++ tor-devel/pkg-deinstall	Wed Feb 15 00:52:06 2006
 @@ -0,0 +1,62 @@
 +#! /bin/sh
 +#
 +# taken from net/cvsup-mirror
 +
 +PATH=/bin:/usr/sbin
 +
 +TOR_USER=${TOR_USER:-_tor}
 +TOR_GROUP=${TOR_GROUP:-_tor}
 +
 +ask() {
 +    local question default answer
 +
 +    question=$1
 +    default=$2
 +    if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then
 +	read -p "${question} [${default}]? " answer
 +    fi
 +    if [ x${answer} = x ]; then
 +	answer=${default}
 +    fi
 +    echo ${answer}
 +}
 +
 +yesno() {
 +    local dflt question answer
 +
 +    question=$1
 +    dflt=$2
 +    while :; do
 +	answer=$(ask "${question}" "${dflt}")
 +	case "${answer}" in
 +	[Yy]*)		return 0;;
 +	[Nn]*)		return 1;;
 +	esac
 +	echo "Please answer yes or no."
 +    done
 +}
 +
 +delete_account() {
 +    local u g home
 +
 +    u=$1
 +    g=$2
 +    if yesno "Do you want me to remove group \"${g}\"" y; then
 +	pw groupdel -n ${g}
 +	echo "Done."
 +    fi
 +    if yesno "Do you want me to remove user \"${u}\"" y; then
 +	eval home=~${u}
 +	pw userdel -n ${u}
 +	echo "Done."
 +	if [ -d "${home}" ]; then
 +	    echo "Please remember to remove the home directory \"${home}\""
 +	fi
 +    fi
 +}
 +
 +if [ x$2 != xDEINSTALL ]; then
 +    exit
 +fi
 +
 +delete_account ${TOR_USER} ${TOR_GROUP}
 diff -ruN tor-devel.orig/pkg-descr tor-devel/pkg-descr
 --- tor-devel.orig/pkg-descr	Sat Feb 11 11:09:25 2006
 +++ tor-devel/pkg-descr	Tue Feb 14 14:36:10 2006
 @@ -14,5 +14,3 @@
  NETWORK FOR ANONYMITY!
  
  WWW: http://tor.eff.org/
 -- rik
 -freebsd-ports at rikrose.net
 diff -ruN tor-devel.orig/pkg-install tor-devel/pkg-install
 --- tor-devel.orig/pkg-install	Sat Feb 11 11:09:25 2006
 +++ tor-devel/pkg-install	Wed Feb 15 00:51:40 2006
 @@ -1,35 +1,40 @@
 -#!/bin/sh
 +#! /bin/sh
 +#
 +# taken from devel/perforce
  
 -if [ x"$2" = xPRE-INSTALL ]; then
 -    USER="_tor"
 -    UID="256"
 -    GROUP="_tor"
 -    GID="256"
 -
 -   if /usr/sbin/pw groupshow "${GROUP}" 2>/dev/null; then
 -       echo "You already have a group \"${GROUP}\", so I will use it."
 -   else
 -       if /usr/sbin/pw groupadd ${GROUP} -g ${GID}; then
 -           echo "Added group \"${GROUP}\"."
 -       else
 -           echo "Adding group \"${GROUP}\" failed..."
 -           echo "Please create it, and try again."
 -           exit 1
 -       fi
 -   fi
 -
 -   if /usr/sbin/pw user show "${USER}" 2>/dev/null; then
 -       echo "You already have a user \"${USER}\", so I will use it."
 -   else
 -       if /usr/sbin/pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
 -           -d /var/db/tor \
 -           -s /bin/sh \
 -           -c "Tor anonymising router"; then
 -           echo "Added user \"${USER}\"."
 -       else
 -           echo "Adding user \"${USER}\" failed..."
 -           echo "Please create it, and try again."
 -           exit 1
 -       fi
 -   fi
 -fi
 +PATH=/bin:/usr/sbin
 +
 +TOR_USER=${TOR_USER:-_tor}
 +TOR_GROUP=${TOR_GROUP:-_tor}
 +
 +case $2 in
 +PRE-INSTALL)
 +	USER=${TOR_USER}
 +	GROUP=${TOR_GROUP}
 +
 +	if pw group show "${GROUP}" 2>/dev/null; then
 +		echo "You already have a group \"${GROUP}\", so I will use it."
 +	else
 +		if pw groupadd ${GROUP} ; then
 +			echo "Added group \"${GROUP}\"."
 +		else
 +			echo "Adding group \"${GROUP}\" failed..."
 +			exit 1
 +		fi
 +	fi
 +
 +	if pw user show "${USER}" 2>/dev/null; then
 +		echo "You already have a user \"${USER}\", so I will use it."
 +	else
 +		if pw useradd ${USER} -g ${GROUP} -h - \
 +			-d /nonexistent -c "Tor Daemon" -s /bin/sh
 +		then
 +			echo "Added user \"${USER}\"."
 +		else
 +			echo "Adding user \"${USER}\" failed..."
 +			exit 1
 +		fi
 +	fi
 +
 +	;;
 +esac
 diff -ruN tor-devel.orig/pkg-message tor-devel/pkg-message
 --- tor-devel.orig/pkg-message	Sat Feb 11 11:09:25 2006
 +++ tor-devel/pkg-message	Thu Jan  1 03:00:00 1970
 @@ -1,7 +0,0 @@
 -
 -*********************** WARNING! WARNING! WARNING! ***********************
 -The tor startup script has been converted to rc_subr format now.  You 
 -have to set at least the tor_enable variable if you want tor to be started 
 -automatically at boot time!
 -**************************************************************************
 -
 diff -ruN tor-devel.orig/pkg-plist tor-devel/pkg-plist
 --- tor-devel.orig/pkg-plist	Sat Feb 11 11:09:25 2006
 +++ tor-devel/pkg-plist	Wed Feb 15 08:08:12 2006
 @@ -1,6 +1,5 @@
  bin/tor
  bin/tor-resolve
 -bin/torctl
  bin/torify
  etc/rc.d/tor.sh
  etc/tor/tor-tsocks.conf.sample
 
 --0-1122628208-1139980620=:96936--



More information about the freebsd-ports-bugs mailing list