Date: 3 Feb 2002 14:03:29 -0000 From: Jason Stone <jason-fbsd-ports-sfs@shalott.net> To: FreeBSD-gnats-submit@freebsd.org Subject: ports/34691: new port for sfs - the self-certifying filesystem Message-ID: <20020203140329.65863.qmail@moonchild.fantastica>
next in thread | raw e-mail | index | archive | help
>Number: 34691 >Category: ports >Synopsis: new port for sfs - the self-certifying filesystem >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu Feb 07 02:20:00 PST 2002 >Closed-Date: >Last-Modified: >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: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020203140329.65863.qmail>