| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 | %define  rellevel 1%define  relbase std.%{rellevel}%define  rhrel %([ -f /etc/redhat-release ] && (sed -e 's/^Red Hat Linux release //' -e 's/ .*$//' -e 's/\\./_/g' -e 's/^.*$/.rh&/' < /etc/redhat-release))%define  blddate %(date -u +"%Y%m%d%H%M")%define  release %{relbase}%{rhrel}.%{blddate}%define  initdir /etc/rc.d/init.dSummary: tor: anonymizing overlay network for TCPName: torVersion: 0.0.2pre20Vendor: R. Dingledine <arma@seul.org>Release: %{release}License: BSD-likeGroup: Applications/InternetURL: http://freehaven.net/torSource0: http://freehaven.net/tor/dist/tor-0.0.2pre19.tar.gzRequires(pre): shadow-utils, /usr/bin/id, /bin/date, /bin/shRequires(pre): %{_sbindir}/useradd, %{_sbindir}/groupaddBuildRoot: %{_tmppath}/%{name}-%{version}-%{relbase}-root%descriptionTor is a connection-based low-latency anonymous communication system whichaddresses many flaws in the original onion routing design.In brief, Onion Routing is a connection-oriented anonymizing communicationservice. Users choose a source-routed path through a set of nodes, andnegotiate a "virtual circuit" through the network, in which each nodeknows its predecessor and successor, but no others. Traffic flowing downthe circuit is unwrapped by a symmetric key at each node, which revealsthe downstream node.Basically Tor provides a distributed network of servers ("onionrouters"). Users bounce their tcp streams (web traffic, ftp, ssh, etc)around the routers, and recipients, observers, and even the routersthemselves have difficulty tracking the source of the stream.Note that Tor does no protocol cleaning.  That means there is a danger thatapplication protocols and associated programs can be induced to revealinformation about the initiator.  Tor depends on Privoxy and similar protocolcleaners to solve this problem.Client applications can use the Tor network by connecting to the localonion proxy.  If the application itself does not come with socks supportyou can use a socks client such as tsocks.  Some web browsers like mozillaand web proxies like privoxy come with socks support, so you don't need anextra socks client if you want to use Tor with them.Remember that this is alpha code, and the network is very small -- Tor willnot provide anonymity currently.This package provides the "tor" program, which serves as both a clientand a relay node. Scripts will automatically create a "tor" user andgroup, set tor up to run as a daemon, and automatically start it atinstallation time.%prep%setup -q# Patch the startup script to use the right user and group IDs, store# the PID in a subdirectory of /var/run (so tor doesn't have to start# as root) and add in a control line for chkconfig. This (BSD? Debian?)# script will work, but doesn't use all the weird Red Hat macros to make# the boot sequence look pretty.ed -s tor.sh.in << '/EOF/' > /dev/null# Change the PID file location,s/^TORPID=\(.*\)\/run\/tor.pid/TORPID=\1\/run\/tor\/tor.pid/## Set user to "tor" before starting tor,s/^\([ 	]*\)\(\$TORBIN.*\)$/\1\/bin\/su -s \/bin\/sh -c "\2" tor/## Add user and group to command line. Suspenders and belt.,s/^TORARGS="\(.*\)"/TORARGS="\1 --user tor --group tor"/## Add control lines for chkconfig1a# chkconfig: 2345 90 10# description: Onion router.## Save and exit edwq/EOF/%build%configure%__make%install%makeinstall# Install init script.%__mkdir_p ${RPM_BUILD_ROOT}%{initdir}%__install -m 755 tor.sh ${RPM_BUILD_ROOT}%{initdir}/tor# Directories that don't have any preinstalled files%__mkdir_p -m 700 ${RPM_BUILD_ROOT}/var/lib/tor%__mkdir_p -m 755 ${RPM_BUILD_ROOT}/var/run/tor%__mkdir_p -m 755 ${RPM_BUILD_ROOT}/var/log/tor%clean[ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT}%pre[ -f %{initdir}/tor  ] && /sbin/service tor stopif [ ! -n "`/usr/bin/id -g tor 2>/dev/null`" ]; then    # One would like to default the GID, but doing that properly would    # require thought.    %{_sbindir}/groupadd tor 2> /dev/nullfiif [ ! -n "`/usr/bin/id -u tor 2>/dev/null`" ]; then    # One would also like to default the UID, but doing that properly would    # also require thought.    if [ -x /sbin/nologin ]; then        %{_sbindir}/useradd -g tor -d / -s /sbin/nologin tor 2> /dev/null    else        %{_sbindir}/useradd -g tor -d / -s /bin/false tor 2> /dev/null    fifi%post/sbin/chkconfig --add tor/sbin/service tor start%preun/sbin/service tor stop/sbin/chkconfig --del tor%files%defattr(-,root,root)%doc AUTHORS INSTALL LICENSE README%{_mandir}/man*/*%{_bindir}/tor%{initdir}/tor%dir %{_sysconfdir}/tor/%config(noreplace) %{_sysconfdir}/tor/torrc%config(noreplace) %{_sysconfdir}/tor/dirservers%attr(-,tor,tor) %dir /var/lib/tor%attr(-,tor,tor) %dir /var/run/tor%attr(-,tor,tor) %dir /var/log/tor%changelog* Sat Jan 17 2004 John Bashinski <jbash@velvet.com>- Basic spec file; tested with Red Hat 9.
 |