From jason@shalott.net  Thu Feb  7 02:13:10 2002
Return-Path: <jason@shalott.net>
Received: from fantastica.shalott.net (charter-183-47.caltech.edu [131.215.183.47])
	by hub.freebsd.org (Postfix) with ESMTP id E7CA037B422
	for <FreeBSD-gnats-submit@freebsd.org>; Thu,  7 Feb 2002 02:13:09 -0800 (PST)
Received: (qmail 65864 invoked by uid 1000); 3 Feb 2002 14:03:29 -0000
Message-Id: <20020203140329.65863.qmail@moonchild.fantastica>
Date: 3 Feb 2002 14:03:29 -0000
From: Jason Stone <jason-fbsd-ports-sfs@shalott.net>
Reply-To: Jason Stone <jason-fbsd-ports-sfs@shalott.net>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: new port for sfs - the self-certifying filesystem
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         34691
>Category:       ports
>Synopsis:       new port for sfs - the self-certifying filesystem
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Feb 07 02:20:00 PST 2002
>Closed-Date:    Fri Jul 12 11:35:24 PDT 2002
>Last-Modified:  Fri Jul 12 11:35:24 PDT 2002
>Originator:     jason
>Release:        FreeBSD 4.5-RC i386
>Organization:
>Environment:
System: FreeBSD fantastica.shalott.net 4.5-RC FreeBSD 4.5-RC #0: Thu Jan 24 23:45:36 PST 2002 root@moonchild.fantastica:/usr/src/sys/compile/JKERN i386


	
>Description:
	Port of SFS, a secure, self-certifying, global filesystem
>How-To-Repeat:
	
>Fix:

	

--- sfs.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:
#
#	sfs/
#	sfs/pkg-deinstall
#	sfs/Makefile
#	sfs/distinfo
#	sfs/pkg-comment
#	sfs/pkg-descr
#	sfs/pkg-plist
#	sfs/pkg-install
#	sfs/pkg-message
#
echo c - sfs/
mkdir -p sfs/ > /dev/null 2>&1
echo x - sfs/pkg-deinstall
sed 's/^X//' >sfs/pkg-deinstall << 'END-of-sfs/pkg-deinstall'
X#!/bin/sh
X
Xif [ "$2" != "POST-DEINSTALL" ]; then
X    exit 0
Xfi
X
XUSER=sfs
XGROUP=sfs
X
Xpw del group ${GROUP}
Xpw del user ${USER}
X
Xexit 0
END-of-sfs/pkg-deinstall
echo x - sfs/Makefile
sed 's/^X//' >sfs/Makefile << 'END-of-sfs/Makefile'
X# New ports collection makefile for:	sfs
X# Date created:		2 Feb 2002
X# Whom:			Jason Stone <jason-fbsd-ports-sfs@shalott.net>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	sfs
XPORTVERSION=	0.5k
XPORTREVISION=	1
XCATEGORIES=	security
XMASTER_SITES=	http://www.fs.net/download/
XWRKSRC=		${WRKDIR}/${PORTNAME}-0.5
X
XMAINTAINER=	jason-fbsd-ports-sfs@shalott.net
X
XGNU_CONFIGURE=	yes
XCONFIGURE_ARGS=	--with-etcdir=${PREFIX}/etc -with-sfsuser=sfs -with-sfsgroup=sfs
X
XINSTALL_TARGET=	install-strip
X
Xpost-install:
X.if !defined(BATCH) && !defined(PACKAGE_BUILDING)
X	@${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
X	@${CAT} ${PKGMESSAGE}
X.endif
X	install-info ${PREFIX}/info/${PORTNAME}.info ${PREFIX}/info/dir
X
X.include <bsd.port.mk>
END-of-sfs/Makefile
echo x - sfs/distinfo
sed 's/^X//' >sfs/distinfo << 'END-of-sfs/distinfo'
XMD5 (sfs-0.5k.tar.gz) = 74d49ffa8472afb0e28b097bec3e7df5
END-of-sfs/distinfo
echo x - sfs/pkg-comment
sed 's/^X//' >sfs/pkg-comment << 'END-of-sfs/pkg-comment'
XSFS is a secure, global file system with completely decentralized control
END-of-sfs/pkg-comment
echo x - sfs/pkg-descr
sed 's/^X//' >sfs/pkg-descr << 'END-of-sfs/pkg-descr'
XSelf-certifying File System
X
XSFS is a secure, global file system with completely decentralized
Xcontrol.  SFS lets you access your files from anywhere and share them
Xwith anyone, anywhere. Anyone can set up an SFS server, and any user
Xcan access any server from any client. SFS lets you share files across
Xadministrative realms without involving administrators or
Xcertification authorities.
X
XWWW: http://www.fs.net/
END-of-sfs/pkg-descr
echo x - sfs/pkg-plist
sed 's/^X//' >sfs/pkg-plist << 'END-of-sfs/pkg-plist'
Xbin/dirsearch
Xbin/newaid
Xbin/rpcc
Xbin/sfsagent
Xbin/sfskey
Xbin/ssu
Xinclude/sfs
Xinclude/sfs-0.5/aclnt.h
Xinclude/sfs-0.5/aes.h
Xinclude/sfs-0.5/afsnode.h
Xinclude/sfs-0.5/agentconn.h
Xinclude/sfs-0.5/aiod.h
Xinclude/sfs-0.5/aiod_prot.h
Xinclude/sfs-0.5/aios.h
Xinclude/sfs-0.5/amisc.h
Xinclude/sfs-0.5/arc4.h
Xinclude/sfs-0.5/arena.h
Xinclude/sfs-0.5/arpc.h
Xinclude/sfs-0.5/array.h
Xinclude/sfs-0.5/asrv.h
Xinclude/sfs-0.5/async.h
Xinclude/sfs-0.5/autoconf.h
Xinclude/sfs-0.5/axprt.h
Xinclude/sfs-0.5/axprt_crypt.h
Xinclude/sfs-0.5/backoff.h
Xinclude/sfs-0.5/bbuddy.h
Xinclude/sfs-0.5/bench.h
Xinclude/sfs-0.5/bigint.h
Xinclude/sfs-0.5/bitvec.h
Xinclude/sfs-0.5/blowfish.h
Xinclude/sfs-0.5/callback.h
Xinclude/sfs-0.5/cbuf.h
Xinclude/sfs-0.5/crypt.h
Xinclude/sfs-0.5/crypt_prot.h
Xinclude/sfs-0.5/crypt_prot.x
Xinclude/sfs-0.5/crypthash.h
Xinclude/sfs-0.5/dns.h
Xinclude/sfs-0.5/dnsparse.h
Xinclude/sfs-0.5/err.h
Xinclude/sfs-0.5/esign.h
Xinclude/sfs-0.5/fdlim.h
Xinclude/sfs-0.5/getfh3.h
Xinclude/sfs-0.5/hashcash.h
Xinclude/sfs-0.5/ihash.h
Xinclude/sfs-0.5/init.h
Xinclude/sfs-0.5/itree.h
Xinclude/sfs-0.5/keyfunc.h
Xinclude/sfs-0.5/list.h
Xinclude/sfs-0.5/modalg.h
Xinclude/sfs-0.5/mount_prot.h
Xinclude/sfs-0.5/mount_prot.x
Xinclude/sfs-0.5/msb.h
Xinclude/sfs-0.5/nfs3_ext.x
Xinclude/sfs-0.5/nfs3_nonnul.h
Xinclude/sfs-0.5/nfs3_prot.h
Xinclude/sfs-0.5/nfs3_prot.x
Xinclude/sfs-0.5/nfs3exp_prot.h
Xinclude/sfs-0.5/nfs3exp_prot.x
Xinclude/sfs-0.5/nfs_prot.h
Xinclude/sfs-0.5/nfs_prot.x
Xinclude/sfs-0.5/nfsmounter.h
Xinclude/sfs-0.5/nfsmounter.x
Xinclude/sfs-0.5/nfsserv.h
Xinclude/sfs-0.5/nfstrans.h
Xinclude/sfs-0.5/opnew.h
Xinclude/sfs-0.5/parseopt.h
Xinclude/sfs-0.5/password.h
Xinclude/sfs-0.5/pcre.h
Xinclude/sfs-0.5/pmap_prot.h
Xinclude/sfs-0.5/pmap_prot.x
Xinclude/sfs-0.5/prime.h
Xinclude/sfs-0.5/prng.h
Xinclude/sfs-0.5/qhash.h
Xinclude/sfs-0.5/rabin.h
Xinclude/sfs-0.5/refcnt.h
Xinclude/sfs-0.5/rex.h
Xinclude/sfs-0.5/rex_prot.h
Xinclude/sfs-0.5/rex_prot.x
Xinclude/sfs-0.5/rpctypes.h
Xinclude/sfs-0.5/rwfd.h
Xinclude/sfs-0.5/rxx.h
Xinclude/sfs-0.5/seqno.h
Xinclude/sfs-0.5/serial.h
Xinclude/sfs-0.5/sfs-internal.h
Xinclude/sfs-0.5/sfs_prot.h
Xinclude/sfs-0.5/sfs_prot.x
Xinclude/sfs-0.5/sfsagent.h
Xinclude/sfs-0.5/sfsagent.x
Xinclude/sfs-0.5/sfsauth_prot.h
Xinclude/sfs-0.5/sfsauth_prot.x
Xinclude/sfs-0.5/sfscd_prot.h
Xinclude/sfs-0.5/sfscd_prot.x
Xinclude/sfs-0.5/sfsclient.h
Xinclude/sfs-0.5/sfsconnect.h
Xinclude/sfs-0.5/sfsmisc.h
Xinclude/sfs-0.5/sfsro_prot.h
Xinclude/sfs-0.5/sfsro_prot.x
Xinclude/sfs-0.5/sfsserv.h
Xinclude/sfs-0.5/sha1.h
Xinclude/sfs-0.5/srp.h
Xinclude/sfs-0.5/stllike.h
Xinclude/sfs-0.5/str.h
Xinclude/sfs-0.5/suio++.h
Xinclude/sfs-0.5/sysconf.h
Xinclude/sfs-0.5/tiger.h
Xinclude/sfs-0.5/union.h
Xinclude/sfs-0.5/uvfstrans.h
Xinclude/sfs-0.5/vatmpl.h
Xinclude/sfs-0.5/vec.h
Xinclude/sfs-0.5/wmstr.h
Xinclude/sfs-0.5/xdr_suio.h
Xinclude/sfs-0.5/xdrmisc.h
Xinclude/sfs-0.5/xhinfo.h
Xinclude/sfs.h
X@unexec install-info --delete %D/info/sfs.info %D/info/dir
Xinfo/sfs.info
Xinfo/sfs.info-1
Xinfo/sfs.info-2
X@exec install-info %D/info/sfs.info %D/info/dir
Xlib/libsfs.a
Xlib/sfs
Xlib/sfs-0.5/aiod
Xlib/sfs-0.5/libarpc.a
Xlib/sfs-0.5/libarpc.la
Xlib/sfs-0.5/libasync.a
Xlib/sfs-0.5/libasync.la
Xlib/sfs-0.5/libsfscrypt.a
Xlib/sfs-0.5/libsfscrypt.la
Xlib/sfs-0.5/libsfsmisc.a
Xlib/sfs-0.5/libsfsmisc.la
Xlib/sfs-0.5/libsvc.a
Xlib/sfs-0.5/libsvc.la
Xlib/sfs-0.5/mallock.o
Xlib/sfs-0.5/newaid
Xlib/sfs-0.5/nfsmounter
Xlib/sfs-0.5/pathinfo
Xlib/sfs-0.5/sfsauthd
Xlib/sfs-0.5/sfsrwcd
Xlib/sfs-0.5/sfsrwsd
Xlib/sfs-0.5/suidconnect
Xlib/sfs-0.5/xfer
Xsbin/funmount
Xsbin/sfscd
Xsbin/sfssd
Xshare/sfs/sfs_config
Xshare/sfs/sfs_srp_parms
Xshare/sfs/sfsauthd_config
Xshare/sfs/sfscd_config
Xshare/sfs/sfssd_config
X@dirrm include/sfs-0.5
X@dirrm lib/sfs-0.5
X@dirrm share/sfs
X@unexec rm -f /var/sfs/sockets/*.sock
X@unexec rm -f /var/sfs/random_seed
X@unexec rmdir /var/sfs/sockets
X@unexec rmdir /var/sfs
END-of-sfs/pkg-plist
echo x - sfs/pkg-install
sed 's/^X//' >sfs/pkg-install << 'END-of-sfs/pkg-install'
X#!/bin/sh
X
Xif [ -n "${PACKAGE_BUILDING}" ]; then
X	exit 0
Xfi
X
Xif [ "$2" = "POST-INSTALL" ]; then
X	USER=sfs
X	GROUP=${USER}
X	UID=51
X	GID=${UID}
X	PW=/usr/sbin/pw
X
X	if ${PW} group show "${GROUP}" 2>/dev/null; then
X		echo "You already have a group \"${GROUP}\", so I will use it."
X	else
X		if ${PW} groupadd ${GROUP} -g ${GID}; then
X			echo "Added group \"${GROUP}\"."
X		else
X			echo "Adding group \"${GROUP}\" failed..."
X			exit 1
X		fi
X	fi
X
X	if ${PW} user show "${USER}" 2>/dev/null; then
X		echo "You already have a user \"${USER}\", so I will use it."
X	else
X		if ${PW} useradd ${USER} -u ${UID} -g ${GROUP} -h - \
X			-d "/nonexistent" -s /nonexistent -c "sfs"
X		then
X			echo "Added user \"${USER}\"."
X		else
X			echo "Adding user \"${USER}\" failed..."
X			exit 1
X		fi
X	fi
X
X	chgrp ${GROUP} ${PKG_PREFIX}/lib/sfs-0.5/suidconnect
X	chmod 2551 ${PKG_PREFIX}/lib/sfs-0.5/suidconnect
X	mkdir /var/sfs
X	mkdir /var/sfs/sockets
X	chmod 755 /var/sfs
X	chmod 750 /var/sfs/sockets
X	chgrp ${USER}:${GROUP} /var/sfs
X	chgrp ${USER}:${GROUP} /var/sfs/sockets
X	exit 0
Xfi
END-of-sfs/pkg-install
echo x - sfs/pkg-message
sed 's/^X//' >sfs/pkg-message << 'END-of-sfs/pkg-message'
XThe sfs base system is now installed - after it is installed, try running
X"sfscd ; cat /sfs/sfs.fs.net:eu4cvv6wcnzscer98yn4qjpjnn9iv6pi/CONGRATULATIONS"
XIf you see the text "You have set up a working SFS client." then you have, as
Xit says, correctly installed the sfs client.
X
XIf you want to set up an sfs server, you'll have to generate keys with sfskey
Xand set up exports.  Exporting files involves first exporting them to localhost
Xvia nfs, and then configuring sfssd to export them by editing
X${PREFIX}/etc/sfsrwsd_config.  Read the info documentation for more details 
X("info sfs").
X
XUsers will have to run sfskey on the server to generate their own keys and
Xsfsagent on the client to use remote filesystems.
X
X---SECURITY NOTE---
X
XIf you run the sfs server, make sure that you set weak_mountd_authentication=NO
Xand nfs_reserved_port_only=YES in your /etc/rc.conf - if you think that you need
Xthose options to be set otherwise, be sure to read the sfs documentation and
Xunderstand the risks.
END-of-sfs/pkg-message
exit
--- sfs.shar ends here ---


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->analyzed 
State-Changed-By: kris 
State-Changed-When: Sat May 25 04:09:33 PDT 2002 
State-Changed-Why:  
Port does not currently build on FreeBSD 4.x 

http://www.freebsd.org/cgi/query-pr.cgi?pr=34691 

From: Kris Kennaway <kris@obsecurity.org>
To: freebsd-gnats-submit@FreeBSD.org,
	jason-fbsd-ports-sfs@shalott.net
Cc:  
Subject: Re: ports/34691: new port for sfs - the self-certifying filesystem
Date: Sat, 25 May 2002 04:09:28 -0700

 I'd love to get this committed, but unfortunately it doesn't build on
 4.6:
 
 Making all in sfsmisc
 c++ -DHAVE_CONFIG_H -I. -I. -I..   -I.. -I../async -I../arpc -I../crypt -I../sfsmisc -I../sfsrodb -I../adb -I../svc -I../svc -DEXECDIR=\"/usr/local/lib/sfs-0.5\" -DETCDIR=\"/usr/local/etc\" -DDATADIR=\"/usr/local/share/sfs\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O -pipe -march=pentiumpro -Wall -Werror  -c mallock.C
 mallock.C: In function `char * morecore(int)':
 mallock.C:1592: ANSI C++ forbids using pointer of type `void *' in arithmetic
 mallock.C:1592: ANSI C++ forbids implicit conversion from `void *' in assignment
 *** Error code 1
 
 Stop in /a/asami/portbuild/4/ports/security/sfs/work/sfs-0.5/sfsmisc.
 *** Error code 1
 
 Stop in /a/asami/portbuild/4/ports/security/sfs/work/sfs-0.5.
 *** Error code 1
 
 Stop in /a/asami/portbuild/4/ports/security/sfs/work/sfs-0.5.
 *** Error code 1
 
 Stop in /a/asami/portbuild/4/ports/security/sfs.
 
 Kris
 

From: Jason Stone <jason-fbsd-ports-sfs@shalott.net>
To: Kris Kennaway <kris@obsecurity.org>
Cc: <freebsd-gnats-submit@FreeBSD.org>
Subject: Re: ports/34691: new port for sfs - the self-certifying filesystem
Date: Sat, 25 May 2002 05:11:14 -0700 (PDT)

 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
 - -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
 On Sat, 25 May 2002, Kris Kennaway wrote:
 
 > I'd love to get this committed, but unfortunately it doesn't build on
 > 4.6:
 
 The following should work on current RELENG_4 installs (4.5, 4.6-PRE), and
 also fixes a couple typos in the pkg-install script:
 
 
 #!/bin/sh
 # 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:
 #
 #	sfs
 #	sfs/pkg-deinstall
 #	sfs/Makefile
 #	sfs/distinfo
 #	sfs/pkg-comment
 #	sfs/pkg-descr
 #	sfs/pkg-plist
 #	sfs/pkg-install
 #	sfs/pkg-message
 #	sfs/files
 #	sfs/files/patch-aa
 #
 echo c - sfs
 mkdir -p sfs > /dev/null 2>&1
 echo x - sfs/pkg-deinstall
 sed 's/^X//' >sfs/pkg-deinstall << 'END-of-sfs/pkg-deinstall'
 X#!/bin/sh
 X
 Xif [ "$2" != "POST-DEINSTALL" ]; then
 X    exit 0
 Xfi
 X
 XUSER=sfs
 XGROUP=sfs
 X
 Xpw del group ${GROUP}
 Xpw del user ${USER}
 X
 Xexit 0
 END-of-sfs/pkg-deinstall
 echo x - sfs/Makefile
 sed 's/^X//' >sfs/Makefile << 'END-of-sfs/Makefile'
 X# New ports collection makefile for:	sfs
 X# Date created:		2 Feb 2002
 X# Whom:			Jason Stone <jason-fbsd-ports-sfs@shalott.net>
 X#
 X# $FreeBSD$
 X#
 X
 XPORTNAME=	sfs
 XPORTVERSION=	0.5k
 XPORTREVISION=	1
 XCATEGORIES=	security
 XMASTER_SITES=	http://www.fs.net/download/
 XWRKSRC=		${WRKDIR}/${PORTNAME}-0.5
 X
 XMAINTAINER=	jason-fbsd-ports-sfs@shalott.net
 X
 XGNU_CONFIGURE=	yes
 XCONFIGURE_ARGS=	--with-etcdir=${PREFIX}/etc -with-sfsuser=sfs -with-sfsgroup=sfs
 X
 XINSTALL_TARGET=	install-strip
 X
 Xpost-install:
 X.if !defined(BATCH) && !defined(PACKAGE_BUILDING)
 X	@${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
 X	@${CAT} ${PKGMESSAGE}
 X.endif
 X	install-info ${PREFIX}/info/${PORTNAME}.info ${PREFIX}/info/dir
 X
 X.include <bsd.port.mk>
 END-of-sfs/Makefile
 echo x - sfs/distinfo
 sed 's/^X//' >sfs/distinfo << 'END-of-sfs/distinfo'
 XMD5 (sfs-0.5k.tar.gz) = 74d49ffa8472afb0e28b097bec3e7df5
 END-of-sfs/distinfo
 echo x - sfs/pkg-comment
 sed 's/^X//' >sfs/pkg-comment << 'END-of-sfs/pkg-comment'
 XSFS is a secure, global file system with completely decentralized control
 END-of-sfs/pkg-comment
 echo x - sfs/pkg-descr
 sed 's/^X//' >sfs/pkg-descr << 'END-of-sfs/pkg-descr'
 XSelf-certifying File System
 X
 XSFS is a secure, global file system with completely decentralized
 Xcontrol.  SFS lets you access your files from anywhere and share them
 Xwith anyone, anywhere. Anyone can set up an SFS server, and any user
 Xcan access any server from any client. SFS lets you share files across
 Xadministrative realms without involving administrators or
 Xcertification authorities.
 X
 XWWW: http://www.fs.net/
 END-of-sfs/pkg-descr
 echo x - sfs/pkg-plist
 sed 's/^X//' >sfs/pkg-plist << 'END-of-sfs/pkg-plist'
 Xbin/dirsearch
 Xbin/newaid
 Xbin/rpcc
 Xbin/sfsagent
 Xbin/sfskey
 Xbin/ssu
 Xinclude/sfs
 Xinclude/sfs-0.5/aclnt.h
 Xinclude/sfs-0.5/aes.h
 Xinclude/sfs-0.5/afsnode.h
 Xinclude/sfs-0.5/agentconn.h
 Xinclude/sfs-0.5/aiod.h
 Xinclude/sfs-0.5/aiod_prot.h
 Xinclude/sfs-0.5/aios.h
 Xinclude/sfs-0.5/amisc.h
 Xinclude/sfs-0.5/arc4.h
 Xinclude/sfs-0.5/arena.h
 Xinclude/sfs-0.5/arpc.h
 Xinclude/sfs-0.5/array.h
 Xinclude/sfs-0.5/asrv.h
 Xinclude/sfs-0.5/async.h
 Xinclude/sfs-0.5/autoconf.h
 Xinclude/sfs-0.5/axprt.h
 Xinclude/sfs-0.5/axprt_crypt.h
 Xinclude/sfs-0.5/backoff.h
 Xinclude/sfs-0.5/bbuddy.h
 Xinclude/sfs-0.5/bench.h
 Xinclude/sfs-0.5/bigint.h
 Xinclude/sfs-0.5/bitvec.h
 Xinclude/sfs-0.5/blowfish.h
 Xinclude/sfs-0.5/callback.h
 Xinclude/sfs-0.5/cbuf.h
 Xinclude/sfs-0.5/crypt.h
 Xinclude/sfs-0.5/crypt_prot.h
 Xinclude/sfs-0.5/crypt_prot.x
 Xinclude/sfs-0.5/crypthash.h
 Xinclude/sfs-0.5/dns.h
 Xinclude/sfs-0.5/dnsparse.h
 Xinclude/sfs-0.5/err.h
 Xinclude/sfs-0.5/esign.h
 Xinclude/sfs-0.5/fdlim.h
 Xinclude/sfs-0.5/getfh3.h
 Xinclude/sfs-0.5/hashcash.h
 Xinclude/sfs-0.5/ihash.h
 Xinclude/sfs-0.5/init.h
 Xinclude/sfs-0.5/itree.h
 Xinclude/sfs-0.5/keyfunc.h
 Xinclude/sfs-0.5/list.h
 Xinclude/sfs-0.5/modalg.h
 Xinclude/sfs-0.5/mount_prot.h
 Xinclude/sfs-0.5/mount_prot.x
 Xinclude/sfs-0.5/msb.h
 Xinclude/sfs-0.5/nfs3_ext.x
 Xinclude/sfs-0.5/nfs3_nonnul.h
 Xinclude/sfs-0.5/nfs3_prot.h
 Xinclude/sfs-0.5/nfs3_prot.x
 Xinclude/sfs-0.5/nfs3exp_prot.h
 Xinclude/sfs-0.5/nfs3exp_prot.x
 Xinclude/sfs-0.5/nfs_prot.h
 Xinclude/sfs-0.5/nfs_prot.x
 Xinclude/sfs-0.5/nfsmounter.h
 Xinclude/sfs-0.5/nfsmounter.x
 Xinclude/sfs-0.5/nfsserv.h
 Xinclude/sfs-0.5/nfstrans.h
 Xinclude/sfs-0.5/opnew.h
 Xinclude/sfs-0.5/parseopt.h
 Xinclude/sfs-0.5/password.h
 Xinclude/sfs-0.5/pcre.h
 Xinclude/sfs-0.5/pmap_prot.h
 Xinclude/sfs-0.5/pmap_prot.x
 Xinclude/sfs-0.5/prime.h
 Xinclude/sfs-0.5/prng.h
 Xinclude/sfs-0.5/qhash.h
 Xinclude/sfs-0.5/rabin.h
 Xinclude/sfs-0.5/refcnt.h
 Xinclude/sfs-0.5/rex.h
 Xinclude/sfs-0.5/rex_prot.h
 Xinclude/sfs-0.5/rex_prot.x
 Xinclude/sfs-0.5/rpctypes.h
 Xinclude/sfs-0.5/rwfd.h
 Xinclude/sfs-0.5/rxx.h
 Xinclude/sfs-0.5/seqno.h
 Xinclude/sfs-0.5/serial.h
 Xinclude/sfs-0.5/sfs-internal.h
 Xinclude/sfs-0.5/sfs_prot.h
 Xinclude/sfs-0.5/sfs_prot.x
 Xinclude/sfs-0.5/sfsagent.h
 Xinclude/sfs-0.5/sfsagent.x
 Xinclude/sfs-0.5/sfsauth_prot.h
 Xinclude/sfs-0.5/sfsauth_prot.x
 Xinclude/sfs-0.5/sfscd_prot.h
 Xinclude/sfs-0.5/sfscd_prot.x
 Xinclude/sfs-0.5/sfsclient.h
 Xinclude/sfs-0.5/sfsconnect.h
 Xinclude/sfs-0.5/sfsmisc.h
 Xinclude/sfs-0.5/sfsro_prot.h
 Xinclude/sfs-0.5/sfsro_prot.x
 Xinclude/sfs-0.5/sfsserv.h
 Xinclude/sfs-0.5/sha1.h
 Xinclude/sfs-0.5/srp.h
 Xinclude/sfs-0.5/stllike.h
 Xinclude/sfs-0.5/str.h
 Xinclude/sfs-0.5/suio++.h
 Xinclude/sfs-0.5/sysconf.h
 Xinclude/sfs-0.5/tiger.h
 Xinclude/sfs-0.5/union.h
 Xinclude/sfs-0.5/uvfstrans.h
 Xinclude/sfs-0.5/vatmpl.h
 Xinclude/sfs-0.5/vec.h
 Xinclude/sfs-0.5/wmstr.h
 Xinclude/sfs-0.5/xdr_suio.h
 Xinclude/sfs-0.5/xdrmisc.h
 Xinclude/sfs-0.5/xhinfo.h
 Xinclude/sfs.h
 X@unexec install-info --delete %D/info/sfs.info %D/info/dir
 Xinfo/sfs.info
 Xinfo/sfs.info-1
 Xinfo/sfs.info-2
 X@exec install-info %D/info/sfs.info %D/info/dir
 Xlib/libsfs.a
 Xlib/sfs
 Xlib/sfs-0.5/aiod
 Xlib/sfs-0.5/libarpc.a
 Xlib/sfs-0.5/libarpc.la
 Xlib/sfs-0.5/libasync.a
 Xlib/sfs-0.5/libasync.la
 Xlib/sfs-0.5/libsfscrypt.a
 Xlib/sfs-0.5/libsfscrypt.la
 Xlib/sfs-0.5/libsfsmisc.a
 Xlib/sfs-0.5/libsfsmisc.la
 Xlib/sfs-0.5/libsvc.a
 Xlib/sfs-0.5/libsvc.la
 Xlib/sfs-0.5/mallock.o
 Xlib/sfs-0.5/newaid
 Xlib/sfs-0.5/nfsmounter
 Xlib/sfs-0.5/pathinfo
 Xlib/sfs-0.5/sfsauthd
 Xlib/sfs-0.5/sfsrwcd
 Xlib/sfs-0.5/sfsrwsd
 Xlib/sfs-0.5/suidconnect
 Xlib/sfs-0.5/xfer
 Xsbin/funmount
 Xsbin/sfscd
 Xsbin/sfssd
 Xshare/sfs/sfs_config
 Xshare/sfs/sfs_srp_parms
 Xshare/sfs/sfsauthd_config
 Xshare/sfs/sfscd_config
 Xshare/sfs/sfssd_config
 X@dirrm include/sfs-0.5
 X@dirrm lib/sfs-0.5
 X@dirrm share/sfs
 X@unexec rm -f /var/sfs/sockets/*.sock
 X@unexec rm -f /var/sfs/random_seed
 X@unexec rmdir /var/sfs/sockets
 X@unexec rmdir /var/sfs
 END-of-sfs/pkg-plist
 echo x - sfs/pkg-install
 sed 's/^X//' >sfs/pkg-install << 'END-of-sfs/pkg-install'
 X#!/bin/sh
 X
 Xif [ -n "${PACKAGE_BUILDING}" ]; then
 X	exit 0
 Xfi
 X
 Xif [ "$2" = "POST-INSTALL" ]; then
 X	USER=sfs
 X	GROUP=${USER}
 X	UID=51
 X	GID=${UID}
 X	PW=/usr/sbin/pw
 X
 X	if ${PW} group show "${GROUP}" 2>/dev/null; then
 X		echo "You already have a group \"${GROUP}\", so I will use it."
 X	else
 X		if ${PW} groupadd ${GROUP} -g ${GID}; then
 X			echo "Added group \"${GROUP}\"."
 X		else
 X			echo "Adding group \"${GROUP}\" failed..."
 X			exit 1
 X		fi
 X	fi
 X
 X	if ${PW} user show "${USER}" 2>/dev/null; then
 X		echo "You already have a user \"${USER}\", so I will use it."
 X	else
 X		if ${PW} useradd ${USER} -u ${UID} -g ${GROUP} -h - \
 X			-d "/nonexistent" -s /nonexistent -c "sfs"
 X		then
 X			echo "Added user \"${USER}\"."
 X		else
 X			echo "Adding user \"${USER}\" failed..."
 X			exit 1
 X		fi
 X	fi
 X
 X	chgrp ${GROUP} ${PKG_PREFIX}/lib/sfs-0.5/suidconnect
 X	chmod 2551 ${PKG_PREFIX}/lib/sfs-0.5/suidconnect
 X	mkdir /var/sfs
 X	mkdir /var/sfs/sockets
 X	chmod 755 /var/sfs
 X	chmod 750 /var/sfs/sockets
 X	chown ${USER}:${GROUP} /var/sfs
 X	chown ${USER}:${GROUP} /var/sfs/sockets
 X	exit 0
 Xfi
 END-of-sfs/pkg-install
 echo x - sfs/pkg-message
 sed 's/^X//' >sfs/pkg-message << 'END-of-sfs/pkg-message'
 XThe sfs base system is now installed - after it is installed, try running
 X"sfscd ; cat /sfs/sfs.fs.net:eu4cvv6wcnzscer98yn4qjpjnn9iv6pi/CONGRATULATIONS"
 XIf you see the text "You have set up a working SFS client." then you have, as
 Xit says, correctly installed the sfs client.
 X
 XIf you want to set up an sfs server, you'll have to generate keys with sfskey
 Xand set up exports.  Exporting files involves first exporting them to localhost
 Xvia nfs, and then configuring sfssd to export them by editing
 X${PREFIX}/etc/sfsrwsd_config.  Read the info documentation for more details
 X("info sfs").
 X
 XUsers will have to run sfskey on the server to generate their own keys and
 Xsfsagent on the client to use remote filesystems.
 X
 X---SECURITY NOTE---
 X
 XIf you run the sfs server, make sure that you set weak_mountd_authentication=NO
 Xand nfs_reserved_port_only=YES in your /etc/rc.conf - if you think that you need
 Xthose options to be set otherwise, be sure to read the sfs documentation and
 Xunderstand the risks.
 END-of-sfs/pkg-message
 echo c - sfs/files
 mkdir -p sfs/files > /dev/null 2>&1
 echo x - sfs/files/patch-aa
 sed 's/^X//' >sfs/files/patch-aa << 'END-of-sfs/files/patch-aa'
 X--- sfsmisc/mallock.C.orig	Fri May 10 02:46:02 2002
 X+++ sfsmisc/mallock.C	Fri May 10 02:46:21 2002
 X@@ -1589,7 +1589,7 @@
 X {
 X   char *ret;
 X   if (size < 0) {
 X-    ret = sbrk (0) - size;
 X+    ret = (char *)sbrk(0) - size;
 X     if (ret < maxpinned) {
 X       if (munlock (ret, maxpinned - ret) < 0)
 X 	fprintf (stderr, "mallock: munlock heap failed (%d)\n", errno);
 END-of-sfs/files/patch-aa
 exit
 
 
  -Jason
 
  -----------------------------------------------------------------------
  I worry about my child and the Internet all the time, even though she's
  too young to have logged on yet.  Here's what I worry about.  I worry
  that 10 or 15 years from now, she will come to me and say "Daddy, where
  were you when they took freedom of the press away from the Internet?"
 	-- Mike Godwin
 
 - -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: See https://private.idealab.com/public/jason/jason.gpg
 
 iD4DBQE87384swXMWWtptckRArKUAJ9Tft1fqRijC35pbJxaPGLCASWFAwCXazJ/
 MQE0BZjwK+Zp3cKmGolX+Q==
 =G7E3
 - -----END PGP SIGNATURE-----
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: See https://private.idealab.com/public/jason/jason.gpg
 
 iD8DBQE8739iswXMWWtptckRAiKHAKCvDJzmQCxqg1dAOT01ghJsj3qrgQCgohBb
 qOeTUKlotef+ePcGUIL8cJE=
 =M4A9
 -----END PGP SIGNATURE-----
 

From: Jason Stone <jason-fbsd-ports-sfs@shalott.net>
To: Kris Kennaway <kris@obsecurity.org>
Cc: <freebsd-gnats-submit@FreeBSD.org>
Subject: Re: ports/34691: new port for sfs - the self-certifying filesystem
Date: Sat, 25 May 2002 05:17:11 -0700 (PDT)

 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
 On Sat, 25 May 2002, Kris Kennaway wrote:
 
 > I'd love to get this committed, but unfortunately it doesn't build on
 > 4.6:
 
 The following should work on current RELENG_4 installs (4.5, 4.6-PRE), and
 also fixes a couple typos in the pkg-install script:
 
 
 #!/bin/sh
 # 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:
 #
 #	sfs
 #	sfs/pkg-deinstall
 #	sfs/Makefile
 #	sfs/distinfo
 #	sfs/pkg-comment
 #	sfs/pkg-descr
 #	sfs/pkg-plist
 #	sfs/pkg-install
 #	sfs/pkg-message
 #	sfs/files
 #	sfs/files/patch-aa
 #
 echo c - sfs
 mkdir -p sfs > /dev/null 2>&1
 echo x - sfs/pkg-deinstall
 sed 's/^X//' >sfs/pkg-deinstall << 'END-of-sfs/pkg-deinstall'
 X#!/bin/sh
 X
 Xif [ "$2" != "POST-DEINSTALL" ]; then
 X    exit 0
 Xfi
 X
 XUSER=sfs
 XGROUP=sfs
 X
 Xpw del group ${GROUP}
 Xpw del user ${USER}
 X
 Xexit 0
 END-of-sfs/pkg-deinstall
 echo x - sfs/Makefile
 sed 's/^X//' >sfs/Makefile << 'END-of-sfs/Makefile'
 X# New ports collection makefile for:	sfs
 X# Date created:		2 Feb 2002
 X# Whom:			Jason Stone <jason-fbsd-ports-sfs@shalott.net>
 X#
 X# $FreeBSD$
 X#
 X
 XPORTNAME=	sfs
 XPORTVERSION=	0.5k
 XPORTREVISION=	1
 XCATEGORIES=	security
 XMASTER_SITES=	http://www.fs.net/download/
 XWRKSRC=		${WRKDIR}/${PORTNAME}-0.5
 X
 XMAINTAINER=	jason-fbsd-ports-sfs@shalott.net
 X
 XGNU_CONFIGURE=	yes
 XCONFIGURE_ARGS=	--with-etcdir=${PREFIX}/etc -with-sfsuser=sfs -with-sfsgroup=sfs
 X
 XINSTALL_TARGET=	install-strip
 X
 Xpost-install:
 X.if !defined(BATCH) && !defined(PACKAGE_BUILDING)
 X	@${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
 X	@${CAT} ${PKGMESSAGE}
 X.endif
 X	install-info ${PREFIX}/info/${PORTNAME}.info ${PREFIX}/info/dir
 X
 X.include <bsd.port.mk>
 END-of-sfs/Makefile
 echo x - sfs/distinfo
 sed 's/^X//' >sfs/distinfo << 'END-of-sfs/distinfo'
 XMD5 (sfs-0.5k.tar.gz) = 74d49ffa8472afb0e28b097bec3e7df5
 END-of-sfs/distinfo
 echo x - sfs/pkg-comment
 sed 's/^X//' >sfs/pkg-comment << 'END-of-sfs/pkg-comment'
 XSFS is a secure, global file system with completely decentralized control
 END-of-sfs/pkg-comment
 echo x - sfs/pkg-descr
 sed 's/^X//' >sfs/pkg-descr << 'END-of-sfs/pkg-descr'
 XSelf-certifying File System
 X
 XSFS is a secure, global file system with completely decentralized
 Xcontrol.  SFS lets you access your files from anywhere and share them
 Xwith anyone, anywhere. Anyone can set up an SFS server, and any user
 Xcan access any server from any client. SFS lets you share files across
 Xadministrative realms without involving administrators or
 Xcertification authorities.
 X
 XWWW: http://www.fs.net/
 END-of-sfs/pkg-descr
 echo x - sfs/pkg-plist
 sed 's/^X//' >sfs/pkg-plist << 'END-of-sfs/pkg-plist'
 Xbin/dirsearch
 Xbin/newaid
 Xbin/rpcc
 Xbin/sfsagent
 Xbin/sfskey
 Xbin/ssu
 Xinclude/sfs
 Xinclude/sfs-0.5/aclnt.h
 Xinclude/sfs-0.5/aes.h
 Xinclude/sfs-0.5/afsnode.h
 Xinclude/sfs-0.5/agentconn.h
 Xinclude/sfs-0.5/aiod.h
 Xinclude/sfs-0.5/aiod_prot.h
 Xinclude/sfs-0.5/aios.h
 Xinclude/sfs-0.5/amisc.h
 Xinclude/sfs-0.5/arc4.h
 Xinclude/sfs-0.5/arena.h
 Xinclude/sfs-0.5/arpc.h
 Xinclude/sfs-0.5/array.h
 Xinclude/sfs-0.5/asrv.h
 Xinclude/sfs-0.5/async.h
 Xinclude/sfs-0.5/autoconf.h
 Xinclude/sfs-0.5/axprt.h
 Xinclude/sfs-0.5/axprt_crypt.h
 Xinclude/sfs-0.5/backoff.h
 Xinclude/sfs-0.5/bbuddy.h
 Xinclude/sfs-0.5/bench.h
 Xinclude/sfs-0.5/bigint.h
 Xinclude/sfs-0.5/bitvec.h
 Xinclude/sfs-0.5/blowfish.h
 Xinclude/sfs-0.5/callback.h
 Xinclude/sfs-0.5/cbuf.h
 Xinclude/sfs-0.5/crypt.h
 Xinclude/sfs-0.5/crypt_prot.h
 Xinclude/sfs-0.5/crypt_prot.x
 Xinclude/sfs-0.5/crypthash.h
 Xinclude/sfs-0.5/dns.h
 Xinclude/sfs-0.5/dnsparse.h
 Xinclude/sfs-0.5/err.h
 Xinclude/sfs-0.5/esign.h
 Xinclude/sfs-0.5/fdlim.h
 Xinclude/sfs-0.5/getfh3.h
 Xinclude/sfs-0.5/hashcash.h
 Xinclude/sfs-0.5/ihash.h
 Xinclude/sfs-0.5/init.h
 Xinclude/sfs-0.5/itree.h
 Xinclude/sfs-0.5/keyfunc.h
 Xinclude/sfs-0.5/list.h
 Xinclude/sfs-0.5/modalg.h
 Xinclude/sfs-0.5/mount_prot.h
 Xinclude/sfs-0.5/mount_prot.x
 Xinclude/sfs-0.5/msb.h
 Xinclude/sfs-0.5/nfs3_ext.x
 Xinclude/sfs-0.5/nfs3_nonnul.h
 Xinclude/sfs-0.5/nfs3_prot.h
 Xinclude/sfs-0.5/nfs3_prot.x
 Xinclude/sfs-0.5/nfs3exp_prot.h
 Xinclude/sfs-0.5/nfs3exp_prot.x
 Xinclude/sfs-0.5/nfs_prot.h
 Xinclude/sfs-0.5/nfs_prot.x
 Xinclude/sfs-0.5/nfsmounter.h
 Xinclude/sfs-0.5/nfsmounter.x
 Xinclude/sfs-0.5/nfsserv.h
 Xinclude/sfs-0.5/nfstrans.h
 Xinclude/sfs-0.5/opnew.h
 Xinclude/sfs-0.5/parseopt.h
 Xinclude/sfs-0.5/password.h
 Xinclude/sfs-0.5/pcre.h
 Xinclude/sfs-0.5/pmap_prot.h
 Xinclude/sfs-0.5/pmap_prot.x
 Xinclude/sfs-0.5/prime.h
 Xinclude/sfs-0.5/prng.h
 Xinclude/sfs-0.5/qhash.h
 Xinclude/sfs-0.5/rabin.h
 Xinclude/sfs-0.5/refcnt.h
 Xinclude/sfs-0.5/rex.h
 Xinclude/sfs-0.5/rex_prot.h
 Xinclude/sfs-0.5/rex_prot.x
 Xinclude/sfs-0.5/rpctypes.h
 Xinclude/sfs-0.5/rwfd.h
 Xinclude/sfs-0.5/rxx.h
 Xinclude/sfs-0.5/seqno.h
 Xinclude/sfs-0.5/serial.h
 Xinclude/sfs-0.5/sfs-internal.h
 Xinclude/sfs-0.5/sfs_prot.h
 Xinclude/sfs-0.5/sfs_prot.x
 Xinclude/sfs-0.5/sfsagent.h
 Xinclude/sfs-0.5/sfsagent.x
 Xinclude/sfs-0.5/sfsauth_prot.h
 Xinclude/sfs-0.5/sfsauth_prot.x
 Xinclude/sfs-0.5/sfscd_prot.h
 Xinclude/sfs-0.5/sfscd_prot.x
 Xinclude/sfs-0.5/sfsclient.h
 Xinclude/sfs-0.5/sfsconnect.h
 Xinclude/sfs-0.5/sfsmisc.h
 Xinclude/sfs-0.5/sfsro_prot.h
 Xinclude/sfs-0.5/sfsro_prot.x
 Xinclude/sfs-0.5/sfsserv.h
 Xinclude/sfs-0.5/sha1.h
 Xinclude/sfs-0.5/srp.h
 Xinclude/sfs-0.5/stllike.h
 Xinclude/sfs-0.5/str.h
 Xinclude/sfs-0.5/suio++.h
 Xinclude/sfs-0.5/sysconf.h
 Xinclude/sfs-0.5/tiger.h
 Xinclude/sfs-0.5/union.h
 Xinclude/sfs-0.5/uvfstrans.h
 Xinclude/sfs-0.5/vatmpl.h
 Xinclude/sfs-0.5/vec.h
 Xinclude/sfs-0.5/wmstr.h
 Xinclude/sfs-0.5/xdr_suio.h
 Xinclude/sfs-0.5/xdrmisc.h
 Xinclude/sfs-0.5/xhinfo.h
 Xinclude/sfs.h
 X@unexec install-info --delete %D/info/sfs.info %D/info/dir
 Xinfo/sfs.info
 Xinfo/sfs.info-1
 Xinfo/sfs.info-2
 X@exec install-info %D/info/sfs.info %D/info/dir
 Xlib/libsfs.a
 Xlib/sfs
 Xlib/sfs-0.5/aiod
 Xlib/sfs-0.5/libarpc.a
 Xlib/sfs-0.5/libarpc.la
 Xlib/sfs-0.5/libasync.a
 Xlib/sfs-0.5/libasync.la
 Xlib/sfs-0.5/libsfscrypt.a
 Xlib/sfs-0.5/libsfscrypt.la
 Xlib/sfs-0.5/libsfsmisc.a
 Xlib/sfs-0.5/libsfsmisc.la
 Xlib/sfs-0.5/libsvc.a
 Xlib/sfs-0.5/libsvc.la
 Xlib/sfs-0.5/mallock.o
 Xlib/sfs-0.5/newaid
 Xlib/sfs-0.5/nfsmounter
 Xlib/sfs-0.5/pathinfo
 Xlib/sfs-0.5/sfsauthd
 Xlib/sfs-0.5/sfsrwcd
 Xlib/sfs-0.5/sfsrwsd
 Xlib/sfs-0.5/suidconnect
 Xlib/sfs-0.5/xfer
 Xsbin/funmount
 Xsbin/sfscd
 Xsbin/sfssd
 Xshare/sfs/sfs_config
 Xshare/sfs/sfs_srp_parms
 Xshare/sfs/sfsauthd_config
 Xshare/sfs/sfscd_config
 Xshare/sfs/sfssd_config
 X@dirrm include/sfs-0.5
 X@dirrm lib/sfs-0.5
 X@dirrm share/sfs
 X@unexec rm -f /var/sfs/sockets/*.sock
 X@unexec rm -f /var/sfs/random_seed
 X@unexec rmdir /var/sfs/sockets
 X@unexec rmdir /var/sfs
 END-of-sfs/pkg-plist
 echo x - sfs/pkg-install
 sed 's/^X//' >sfs/pkg-install << 'END-of-sfs/pkg-install'
 X#!/bin/sh
 X
 Xif [ -n "${PACKAGE_BUILDING}" ]; then
 X	exit 0
 Xfi
 X
 Xif [ "$2" = "POST-INSTALL" ]; then
 X	USER=sfs
 X	GROUP=${USER}
 X	UID=51
 X	GID=${UID}
 X	PW=/usr/sbin/pw
 X
 X	if ${PW} group show "${GROUP}" 2>/dev/null; then
 X		echo "You already have a group \"${GROUP}\", so I will use it."
 X	else
 X		if ${PW} groupadd ${GROUP} -g ${GID}; then
 X			echo "Added group \"${GROUP}\"."
 X		else
 X			echo "Adding group \"${GROUP}\" failed..."
 X			exit 1
 X		fi
 X	fi
 X
 X	if ${PW} user show "${USER}" 2>/dev/null; then
 X		echo "You already have a user \"${USER}\", so I will use it."
 X	else
 X		if ${PW} useradd ${USER} -u ${UID} -g ${GROUP} -h - \
 X			-d "/nonexistent" -s /nonexistent -c "sfs"
 X		then
 X			echo "Added user \"${USER}\"."
 X		else
 X			echo "Adding user \"${USER}\" failed..."
 X			exit 1
 X		fi
 X	fi
 X
 X	chgrp ${GROUP} ${PKG_PREFIX}/lib/sfs-0.5/suidconnect
 X	chmod 2551 ${PKG_PREFIX}/lib/sfs-0.5/suidconnect
 X	mkdir /var/sfs
 X	mkdir /var/sfs/sockets
 X	chmod 755 /var/sfs
 X	chmod 750 /var/sfs/sockets
 X	chown ${USER}:${GROUP} /var/sfs
 X	chown ${USER}:${GROUP} /var/sfs/sockets
 X	exit 0
 Xfi
 END-of-sfs/pkg-install
 echo x - sfs/pkg-message
 sed 's/^X//' >sfs/pkg-message << 'END-of-sfs/pkg-message'
 XThe sfs base system is now installed - after it is installed, try running
 X"sfscd ; cat /sfs/sfs.fs.net:eu4cvv6wcnzscer98yn4qjpjnn9iv6pi/CONGRATULATIONS"
 XIf you see the text "You have set up a working SFS client." then you have, as
 Xit says, correctly installed the sfs client.
 X
 XIf you want to set up an sfs server, you'll have to generate keys with sfskey
 Xand set up exports.  Exporting files involves first exporting them to localhost
 Xvia nfs, and then configuring sfssd to export them by editing
 X${PREFIX}/etc/sfsrwsd_config.  Read the info documentation for more details
 X("info sfs").
 X
 XUsers will have to run sfskey on the server to generate their own keys and
 Xsfsagent on the client to use remote filesystems.
 X
 X---SECURITY NOTE---
 X
 XIf you run the sfs server, make sure that you set weak_mountd_authentication=NO
 Xand nfs_reserved_port_only=YES in your /etc/rc.conf - if you think that you need
 Xthose options to be set otherwise, be sure to read the sfs documentation and
 Xunderstand the risks.
 END-of-sfs/pkg-message
 echo c - sfs/files
 mkdir -p sfs/files > /dev/null 2>&1
 echo x - sfs/files/patch-aa
 sed 's/^X//' >sfs/files/patch-aa << 'END-of-sfs/files/patch-aa'
 X--- sfsmisc/mallock.C.orig	Fri May 10 02:46:02 2002
 X+++ sfsmisc/mallock.C	Fri May 10 02:46:21 2002
 X@@ -1589,7 +1589,7 @@
 X {
 X   char *ret;
 X   if (size < 0) {
 X-    ret = sbrk (0) - size;
 X+    ret = (char *)sbrk(0) - size;
 X     if (ret < maxpinned) {
 X       if (munlock (ret, maxpinned - ret) < 0)
 X 	fprintf (stderr, "mallock: munlock heap failed (%d)\n", errno);
 END-of-sfs/files/patch-aa
 exit
 
 
  -Jason
 
  -----------------------------------------------------------------------
  I worry about my child and the Internet all the time, even though she's
  too young to have logged on yet.  Here's what I worry about.  I worry
  that 10 or 15 years from now, she will come to me and say "Daddy, where
  were you when they took freedom of the press away from the Internet?"
 	-- Mike Godwin
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.0.6 (FreeBSD)
 Comment: See https://private.idealab.com/public/jason/jason.gpg
 
 iD4DBQE87384swXMWWtptckRArKUAJ9Tft1fqRijC35pbJxaPGLCASWFAwCXazJ/
 MQE0BZjwK+Zp3cKmGolX+Q==
 =G7E3
 -----END PGP SIGNATURE-----
 
State-Changed-From-To: analyzed->closed 
State-Changed-By: mdodd 
State-Changed-When: Fri Jul 12 11:34:52 PDT 2002 
State-Changed-Why:  
An SFS port was committed. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=34691 
>Unformatted:
