mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-19 09:50:29 +01:00
Merge remote branch 'origin/maint-0.2.2'
Conflicts: configure.in
This commit is contained in:
commit
2b4ed1d07e
10
.gitignore
vendored
10
.gitignore
vendored
@ -64,16 +64,6 @@
|
||||
/contrib/tor.logrotate
|
||||
/contrib/tor.wxs
|
||||
|
||||
# /contrib/osx/
|
||||
/contrib/osx/Makefile
|
||||
/contrib/osx/Makefile.in
|
||||
/contrib/osx/TorBundleDesc.plist
|
||||
/contrib/osx/TorBundleInfo.plist
|
||||
/contrib/osx/TorDesc.plist
|
||||
/contrib/osx/TorInfo.plist
|
||||
/contrib/osx/TorStartupDesc.plist
|
||||
/contrib/osx/net.freehaven.tor.plist
|
||||
|
||||
# /contrib/suse/
|
||||
/contrib/suse/tor.sh
|
||||
/contrib/suse/Makefile.in
|
||||
|
19
Makefile.am
19
Makefile.am
@ -35,25 +35,6 @@ dist-rpm:
|
||||
mv $$RPM_BUILD_DIR/RPMS/* .; \
|
||||
rm -rf $$RPM_BUILD_DIR
|
||||
|
||||
dist-osx:
|
||||
@if [ "x$(prefix)" != 'x/Library/Tor' ]; then \
|
||||
echo "Configure with --prefix=/Library/Tor, please"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
if [ "x$(bindir)" != 'x/Library/Tor' ]; then \
|
||||
echo "Configure with --bindir=/Library/Tor, please"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
if [ "x$(sysconfdir)" != 'x/Library' ]; then \
|
||||
echo "Configure with --sysconfdir=/Library, please"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
if [ "x$(CONFDIR)" != 'x/Library/Tor' ]; then \
|
||||
echo "Configure with CONFDIR=/Library/Tor, please"; \
|
||||
fi
|
||||
$(MAKE) all
|
||||
VERSION=$(VERSION) sh ./contrib/osx/package.sh
|
||||
|
||||
dist: check
|
||||
|
||||
doxygen:
|
||||
|
5
changes/remove_osx_expert
Normal file
5
changes/remove_osx_expert
Normal file
@ -0,0 +1,5 @@
|
||||
o Removed features:
|
||||
- Remove everything related to building the expert bundle for OS X. It
|
||||
has confused many users, doesn't work right on OS X 10.6, and is hard
|
||||
to get rid of once installed. Resolves bug 1274.
|
||||
|
@ -1034,7 +1034,8 @@ fi
|
||||
|
||||
CPPFLAGS="$CPPFLAGS $TOR_CPPFLAGS_libevent $TOR_CPPFLAGS_openssl $TOR_CPPFLAGS_zlib"
|
||||
|
||||
AC_CONFIG_FILES([Makefile tor.spec Doxyfile contrib/tor.sh contrib/torctl contrib/torify contrib/tor.logrotate contrib/Makefile contrib/osx/Makefile contrib/osx/TorBundleDesc.plist contrib/osx/TorBundleInfo.plist contrib/osx/TorDesc.plist contrib/osx/TorInfo.plist contrib/osx/TorStartupDesc.plist src/config/torrc.sample src/Makefile doc/Makefile doc/spec/Makefile src/config/Makefile src/common/Makefile src/or/Makefile src/test/Makefile src/win32/Makefile src/tools/Makefile src/tools/tor-fw-helper/Makefile contrib/suse/Makefile contrib/suse/tor.sh])
|
||||
AC_CONFIG_FILES([Makefile tor.spec Doxyfile contrib/tor.sh contrib/torctl contrib/torify contrib/tor.logrotate contrib/Makefile src/config/torrc.sample src/Makefile doc/Makefile doc/spec/Makefile src/config/Makefile src/common/Makefile src/or/Makefile src/test/Makefile src/win32/Makefile src/tools/Makefile src/tools/tor-fw-helper/Makefile contrib/suse/Makefile contrib/suse/tor.sh])
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
if test -x /usr/bin/perl && test -x ./contrib/updateVersions.pl ; then
|
||||
|
@ -1,5 +1,5 @@
|
||||
SUBDIRS = osx suse
|
||||
DIST_SUBDIRS = osx suse
|
||||
SUBDIRS = suse
|
||||
DIST_SUBDIRS = suse
|
||||
|
||||
confdir = $(sysconfdir)/tor
|
||||
|
||||
|
@ -1,9 +0,0 @@
|
||||
# XXX Is this define necessary, or is it redundant with the
|
||||
# one from the top-level configure? -RD
|
||||
confdir = $(sysconfdir)/Tor
|
||||
|
||||
EXTRA_DIST = ReadMe.rtf StartupParameters.plist Tor TorBundleDesc.plist.in \
|
||||
TorBundleInfo.plist.in TorBundleWelcome.rtf TorDesc.plist.in \
|
||||
TorInfo.plist.in TorStartupDesc.plist.in TorStartupInfo.plist \
|
||||
package.sh TorPostflight addsysuser Tor_Uninstaller.applescript \
|
||||
uninstall_tor_bundle.sh package_list.txt tor_logo.gif TorPreFlight
|
@ -1,7 +0,0 @@
|
||||
{\rtf1\mac\ansicpg10000\cocoartf102
|
||||
{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
|
||||
{\colortbl;\red255\green255\blue255;}
|
||||
\margl1440\margr1440\vieww9000\viewh9000\viewkind0
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
|
||||
|
||||
\f0\fs24 \cf0 Tor is a toolset for a wide range of organizations and people who want to improve their safety and security on the Internet. Using Tor can help you anonymize web browsing and publishing, instant messaging, IRC, SSH, and more. Tor also provides a platform on which software developers can build new applications with built-in anonymity, safety, and privacy features.}
|
@ -1,13 +0,0 @@
|
||||
{
|
||||
Description = "Tor";
|
||||
Provides = ("tor");
|
||||
Requires = ("Network");
|
||||
Uses = ("Network");
|
||||
OrderPreference = "Last";
|
||||
Messages =
|
||||
{
|
||||
start = "Starting Tor";
|
||||
stop = "Stopping Tor";
|
||||
};
|
||||
}
|
||||
|
@ -1,87 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TORLOC=/Library/StartupItems/Tor/Tor.loc
|
||||
|
||||
if [ -f $TORLOC ]; then
|
||||
TORDIR=`cat /Library/StartupItems/Tor/Tor.loc`
|
||||
if [ "x$TORDIR" = "x" -o ! -d $TORDIR -o ! -x $TORDIR/tor ]; then
|
||||
TORDIR=/Library/Tor
|
||||
fi
|
||||
else
|
||||
TORDIR=/Library/Tor
|
||||
fi
|
||||
TORCONF=$TORDIR/torrc
|
||||
TORDATA=$TORDIR/var/lib/tor
|
||||
TORPID=/var/run/Tor.pid
|
||||
TORUSER=_tor
|
||||
TORGROUP=daemon
|
||||
TORCMD=$TORDIR/tor
|
||||
TORLOG=/var/log/tor.log
|
||||
|
||||
## Determine OSX Version
|
||||
# map version to name
|
||||
if [ -x /usr/bin/sw_vers ]; then
|
||||
# This is poor, yet functional. We don't care about the 3rd number in
|
||||
# the OS version
|
||||
OSVER=`/usr/bin/sw_vers | grep ProductVersion | cut -f2 | cut -d"." -f1,2`
|
||||
case "$OSVER" in
|
||||
"10.6") ARCH="i386";;
|
||||
"10.5") ARCH="i386";;
|
||||
"10.4") ARCH="i386";;
|
||||
"10.3") ARCH="ppc";;
|
||||
"10.2") ARCH="ppc";;
|
||||
"10.1") ARCH="ppc";;
|
||||
"10.0") ARCH="ppc";;
|
||||
esac
|
||||
else
|
||||
ARCH="unknown"
|
||||
fi
|
||||
|
||||
if [ $ARCH != "i386" ]; then
|
||||
export EVENT_NOKQUEUE=1
|
||||
fi
|
||||
|
||||
##
|
||||
# Tor Service
|
||||
##
|
||||
|
||||
. /etc/rc.common
|
||||
|
||||
StartService ()
|
||||
{
|
||||
|
||||
if [ -f $TORCMD ]; then
|
||||
if pid=$(GetPID Tor); then
|
||||
return 0
|
||||
else
|
||||
ConsoleMessage "Starting Tor Service"
|
||||
# Tentative
|
||||
# Making sure it is not running (I know it is not a best approarch)
|
||||
killall tor 2>/dev/null
|
||||
$TORCMD -f "$TORCONF" --runasdaemon 1 --pidfile "$TORPID" --datadirectory "$TORDATA" --user "$TORUSER" --group "$TORGROUP" --log "notice file $TORLOG" &
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
StopService ()
|
||||
{
|
||||
if pid=$(GetPID Tor); then
|
||||
ConsoleMessage "Stopping Tor Service"
|
||||
kill -TERM "${pid}"
|
||||
# Just for sanity (sometimes necessary.)
|
||||
killall tor 2>/dev/null
|
||||
else
|
||||
ConsoleMessage "Tor Service not responding."
|
||||
# Just for sanity (sometimes necessary.)
|
||||
killall tor 2>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
RestartService () { StopService; StartService; }
|
||||
|
||||
if [ "$#" = 0 ]; then
|
||||
echo "Syntax: tor {start|stop}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
RunService "$1"
|
@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IFPkgDescriptionDeleteWarning</key>
|
||||
<string></string>
|
||||
<key>IFPkgDescriptionDescription</key>
|
||||
<string>Bundled package of Tor @VERSION@.</string>
|
||||
<key>IFPkgDescriptionTitle</key>
|
||||
<string>Tor Expert Bundle</string>
|
||||
<key>IFPkgDescriptionVersion</key>
|
||||
<string>@VERSION@</string>
|
||||
</dict>
|
||||
</plist>
|
@ -1,33 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleName</key>
|
||||
<string>Tor Bundle</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Tor Bundle @VERSION@</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.torproject.torbundle</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>@VERSION@</string>
|
||||
<key>IFPkgFlagComponentDirectory</key>
|
||||
<string>../.contained_packages</string>
|
||||
<key>IFPkgFlagPackageList</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>IFPkgFlagPackageLocation</key>
|
||||
<string>Tor.pkg</string>
|
||||
<key>IFPkgFlagPackageSelection</key>
|
||||
<string>required</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>IFPkgFlagPackageLocation</key>
|
||||
<string>torstartup.pkg</string>
|
||||
<key>IFPkgFlagPackageSelection</key>
|
||||
<string>selected</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>IFPkgFormatVersion</key>
|
||||
<real>0.10000000149011612</real>
|
||||
</dict>
|
||||
</plist>
|
@ -1,20 +0,0 @@
|
||||
{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
|
||||
{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Oblique;\f2\fswiss\fcharset77 Helvetica-Bold;
|
||||
}
|
||||
{\colortbl;\red255\green255\blue255;}
|
||||
\paperw11900\paperh16840\margl1440\margr1440\vieww9000\viewh9000\viewkind0
|
||||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
|
||||
|
||||
\f0\fs24 \cf0 Welcome to the Tor Expert installer.\
|
||||
This will install Tor in your computer.\
|
||||
\
|
||||
|
||||
\f0\b0 \
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
|
||||
|
||||
\f2\b \cf0 Tor
|
||||
\f0\b0 is a system for using the Internet anonymously, and allowing\
|
||||
others to do so.\
|
||||
\
|
||||
For more information, please visit https://www.torproject.org/\
|
||||
\
|
@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IFPkgDescriptionTitle</key>
|
||||
<string>Tor</string>
|
||||
<key>IFPkgDescriptionVersion</key>
|
||||
<string>@VERSION@</string>
|
||||
</dict>
|
||||
</plist>
|
@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>Tor @VERSION@</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Tor @VERSION@</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Tor</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>@VERSION@</string>
|
||||
<key>IFPkgFlagAllowBackRev</key>
|
||||
<true/>
|
||||
<key>IFPkgFlagAuthorizationAction</key>
|
||||
<string>RootAuthorization</string>
|
||||
<key>IFPkgFlagFollowLinks</key>
|
||||
<true/>
|
||||
<key>IFPkgFlagIsRequired</key>
|
||||
<true/>
|
||||
<key>IFPkgFlagRootVolumeOnly</key>
|
||||
<true/>
|
||||
<key>IfPkgFlagBackgroundScaling</key>
|
||||
<string>proportional</string>
|
||||
<key>IFPkgFlagBackgroundAlignment</key>
|
||||
<string>bottomleft</string>
|
||||
</dict>
|
||||
</plist>
|
@ -1,123 +0,0 @@
|
||||
#!/bin/sh
|
||||
# ====================================================================
|
||||
# TorPostFlight is distributed under this license
|
||||
#
|
||||
# Copyright (c) 2006 Andrew Lewman
|
||||
# Copyright (c) 2008 The Tor Project
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the following disclaimer
|
||||
# in the documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
#
|
||||
# * Neither the names of the copyright owners nor the names of its
|
||||
# contributors may be used to endorse or promote products derived from
|
||||
# this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
# ======================================================================
|
||||
|
||||
# TorPostflight gets invoked after any install or upgrade.
|
||||
|
||||
ADDSYSUSER=$RECEIPT_PATH/addsysuser
|
||||
if [ ! -x "$ADDSYSUSER" ]; then
|
||||
echo "Could not find addsysuser script."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TORUSER=_tor
|
||||
TORGROUP=daemon
|
||||
TARGET=$2/Library/Tor
|
||||
TORDIR=$TARGET/var/lib/tor
|
||||
LOGFILE=/var/log/tor.log
|
||||
|
||||
# Check defaults for TARGET
|
||||
if [ "$TARGET" == "//Library/Tor" ]; then
|
||||
TARGET=/Library/Tor
|
||||
fi
|
||||
|
||||
# Create user $TORUSER in group daemon. If it's already there, great.
|
||||
$ADDSYSUSER $TORUSER "Tor System user" $TORDIR
|
||||
|
||||
# Create the tor directory, if it doesn't exist.
|
||||
if [ ! -d $TORDIR ]; then
|
||||
mkdir -p $TORDIR
|
||||
fi
|
||||
# Check its permissions.
|
||||
chown $TORUSER $TORDIR
|
||||
chgrp daemon $TORDIR
|
||||
chmod 700 $TORDIR
|
||||
|
||||
if [ ! -f $LOGFILE ]; then
|
||||
touch $LOGFILE
|
||||
chown $TORUSER $LOGFILE
|
||||
chgrp daemon $LOGFILE
|
||||
chmod 660 $LOGFILE
|
||||
fi
|
||||
|
||||
# Create the configuration file only if there wasn't one already.
|
||||
if [ ! -f $TARGET/torrc ]; then
|
||||
cp $TARGET/torrc.sample $TARGET/torrc
|
||||
fi
|
||||
|
||||
# Put the geoip database into the datadir
|
||||
if [ ! -f $TORDIR/geoip ]; then
|
||||
cp $PACKAGE_PATH/Contents/Resources/geoip $TORDIR/geoip
|
||||
fi
|
||||
|
||||
# Ensure symbolic links
|
||||
cd /usr/bin
|
||||
if [ -e /usr/bin/tor -a ! -L /usr/bin/tor ]; then
|
||||
mv tor tor_old
|
||||
fi
|
||||
if [ -e /usr/bin/tor-resolve -a ! -L /usr/bin/tor-resolve ]; then
|
||||
mv tor-resolve tor-resolve_old
|
||||
fi
|
||||
ln -sf $TARGET/tor .
|
||||
ln -sf $TARGET/tor-resolve .
|
||||
|
||||
cd /usr/share/man/man1
|
||||
MAN1=$TARGET/share/man/man1
|
||||
#ln -sf $MAN1/*.1 .
|
||||
|
||||
# Copy Documentation
|
||||
if [ -d $PACKAGE_PATH/Contents/Resources/documents ];then
|
||||
cp -r $PACKAGE_PATH/Contents/Resources/documents $TARGET/documents
|
||||
fi
|
||||
|
||||
# Copy Uninstaller
|
||||
if [ -f $PACKAGE_PATH/Contents/Resources/Tor_Uninstaller.applescript ]; then
|
||||
cp $PACKAGE_PATH/Contents/Resources/Tor_Uninstaller.applescript $TARGET/Tor_Uninstaller.applescript
|
||||
chmod 550 $TARGET/Tor_Uninstaller.applescript
|
||||
fi
|
||||
|
||||
if [ -f $PACKAGE_PATH/Contents/Resources/uninstall_tor_bundle.sh ]; then
|
||||
cp $PACKAGE_PATH/Contents/Resources/uninstall_tor_bundle.sh $TARGET/uninstall_tor_bundle.sh
|
||||
chmod 550 $TARGET/uninstall_tor_bundle.sh
|
||||
fi
|
||||
|
||||
if [ -f $PACKAGE_PATH/Contents/Resources/package_list.txt ]; then
|
||||
cp $PACKAGE_PATH/Contents/Resources/package_list.txt $TARGET/package_list.txt
|
||||
fi
|
||||
|
||||
if [ -d /Library/StartupItems/Tor ]; then
|
||||
rm -f /Library/StartupItems/Tor/Tor.loc
|
||||
echo "$TARGET" > /Library/StartupItems/Tor/Tor.loc
|
||||
fi
|
@ -1,51 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# ===================================================================
|
||||
#
|
||||
# TorPreFlight is distributed under this license:
|
||||
#
|
||||
# Copyright (c) 2006 Andrew Lewman
|
||||
# Copyright (c) 2008 The Tor Project, Inc.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the following disclaimer
|
||||
# in the documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
#
|
||||
# * Neither the names of the copyright owners nor the names of its
|
||||
# contributors may be used to endorse or promote products derived from
|
||||
# this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#===============================================================================
|
||||
|
||||
# TorPreFlight is invoked before the install begins
|
||||
|
||||
# Figure out where Tor is installed
|
||||
if [ -f /Library/StartupItems/Tor/Tor.loc ]; then
|
||||
TORPATH=`cat /Library/StartupItems/Tor/Tor.loc`
|
||||
else
|
||||
TORPATH="/Library/Tor/"
|
||||
fi
|
||||
|
||||
# Backup all of Tor, just in case
|
||||
if [ -d $TORPATH ]; then
|
||||
cp $TORPATH/torrc $TORPATH/torrc.installer-saved
|
||||
fi
|
@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IFPkgDescriptionTitle</key>
|
||||
<string>Tor Startup Script</string>
|
||||
<key>IFPkgDescriptionVersion</key>
|
||||
<string>@VERSION@</string>
|
||||
</dict>
|
||||
</plist>
|
@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>Tor Startup Script</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Tor Startup Script</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Tor Startup Script</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.1</string>
|
||||
<key>IFPkgFlagAllowBackRev</key>
|
||||
<true/>
|
||||
<key>IFPkgFlagAuthorizationAction</key>
|
||||
<string>RootAuthorization</string>
|
||||
<key>IFPkgFlagRestartAction</key>
|
||||
<string>NoRestart</string>
|
||||
<key>IFPkgFlagFollowLinks</key>
|
||||
<true/>
|
||||
<key>IFPkgFlagIsRequired</key>
|
||||
<false/>
|
||||
<key>IFPkgFlagRootVolumeOnly</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
@ -1,68 +0,0 @@
|
||||
-- Tor Uninstaller.applescript
|
||||
-- Tor Uninstaller
|
||||
|
||||
-- ===============================================================================
|
||||
-- Tor Uninstaller is distributed under this license:
|
||||
--
|
||||
-- Copyright (c) 2005 Andrew Lewman ( pgp key: 31B0974B )
|
||||
--
|
||||
-- Redistribution and use in source and binary forms, with or without
|
||||
-- modification, are permitted provided that the following conditions are
|
||||
-- met:
|
||||
--
|
||||
-- * Redistributions of source code must retain the above copyright
|
||||
-- notice, this list of conditions and the following disclaimer.
|
||||
--
|
||||
-- * Redistributions in binary form must reproduce the above
|
||||
-- copyright notice, this list of conditions and the following disclaimer
|
||||
-- in the documentation and/or other materials provided with the
|
||||
-- distribution.
|
||||
--
|
||||
-- * Neither the names of the copyright owners nor the names of its
|
||||
-- contributors may be used to endorse or promote products derived from
|
||||
-- this software without specific prior written permission.
|
||||
--
|
||||
-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
-- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
-- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
-- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
-- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
-- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
-- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
-- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
-- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
-- ===============================================================================
|
||||
|
||||
on run
|
||||
|
||||
-- Validate & find disk paths
|
||||
set boot_disk to (path to startup disk) as string
|
||||
set default_tor_path to boot_disk & "Library:Tor"
|
||||
set default_privoxy_path to boot_disk & "Library:Privoxy"
|
||||
set default_tor_startup_path to boot_disk & "Library:StartupItems:Tor"
|
||||
set default_privoxy_startup_path to boot_disk & "Library:StartupItems:Privoxy"
|
||||
set shell_script to default_tor_path & ":uninstall_tor_bundle.sh"
|
||||
set doomed_path_list to {default_tor_path, default_privoxy_path, default_tor_startup_path, default_privoxy_startup_path}
|
||||
|
||||
-- Display what we're removing and ask for validation
|
||||
-- this is the simplest way to do this
|
||||
set remove_me to display dialog "Welcome to the Tor + Privoxy Uninstaller. This program will remove:" & return & return & POSIX path of default_tor_path & return & POSIX path of default_privoxy_path & return & POSIX path of default_tor_startup_path & return & POSIX path of default_privoxy_startup_path & return & return & "If this looks correct, choose Yes. Otherwise, choose No." buttons {"Yes", "No"} default button "No"
|
||||
|
||||
-- Run a shell script to do all the unix work since applescript can't see it at all
|
||||
if button returned of result is "Yes" then
|
||||
try
|
||||
do shell script (POSIX path of shell_script) with administrator privileges
|
||||
on error
|
||||
display dialog "Too many errors, quitting." buttons {"Quit"} default button "Quit" with icon stop giving up after 3
|
||||
quit
|
||||
end try
|
||||
-- So Long and Thanks for all the Fish!
|
||||
display dialog "Thank you for using tor!" buttons {"Ok"} giving up after 3
|
||||
else
|
||||
display dialog "Thank you for your continued use of Tor & Privoxy" buttons {"You're welcome."} giving up after 3
|
||||
end if
|
||||
|
||||
end run
|
||||
-- We're done
|
@ -1,83 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Original adduser 05 Feb 2002 by Jon L. Gardner
|
||||
#
|
||||
# Modified for Tor installer by Nick Mathewson
|
||||
# 2007-06-12 Modified for leopard by Andrew Lewman
|
||||
# Copyright (c) 2007 Andrew Lewman
|
||||
#
|
||||
|
||||
|
||||
ROOTPROP=/
|
||||
|
||||
if [ "`whoami`" != "root" ]; then
|
||||
echo "You must be root to execute this script."
|
||||
exit
|
||||
fi
|
||||
if [ "x$3" = "x" ]; then
|
||||
echo 'Usage: addsysuser <username> "<full name>" <homedir>'
|
||||
exit 0
|
||||
fi
|
||||
|
||||
username=$1
|
||||
realname=$2
|
||||
homedir=$3
|
||||
|
||||
if [ -x /usr/bin/dscl ]; then
|
||||
# Determine the gid of the daemon group
|
||||
gid=`dscl . -read /groups/daemon gid`
|
||||
if [ "x`dscl . -list /users|cut -f2 -d' '|grep $username`" != "x" ]; then
|
||||
echo The account $username already exists.
|
||||
exit 0
|
||||
fi
|
||||
if [ -x /usr/bin/nidump ]; then
|
||||
uiddef=`nidump passwd / | cut -d: -f3 | sort -n | grep -v '^[56789]..' |grep -v '^....$' | tail -n 1`
|
||||
else
|
||||
_tmp=/tmp/_dsexport_tmp.txt.$$
|
||||
rm -f $_tmp
|
||||
dsexport $_tmp '/Local/Default' 'dsRecTypeStandard:Users' > /dev/null 2>&1
|
||||
uiddef=`cat $_tmp | sed 's/\\\://g' | cut -d: -f6 | grep '^[0-9]' | sort -n | grep -v '^[56789]..' | grep -v '^....$' | tail -n 1`
|
||||
rm -f $_tmp
|
||||
fi
|
||||
uiddef=`echo $uiddef + 1 | bc`
|
||||
dscl . -create /users/$username uid $uiddef
|
||||
# home is the local path to the home directory
|
||||
home=/Users/$username
|
||||
echo Creating account for $username...
|
||||
dscl . -create /users/$username
|
||||
dscl . -create /users/$username _writers_tim_passwd $username
|
||||
dscl . -create /users/$username realname $realname
|
||||
dscl . -create /users/$username _writers_passwd $username
|
||||
dscl . -create /users/$username gid $gid
|
||||
dscl . -create /users/$username home $homedir
|
||||
dscl . -create /users/$username name $username
|
||||
dscl . -create /users/$username passwd '*'
|
||||
dscl . -create /users/$username shell /dev/null
|
||||
else
|
||||
# Determine the gid of the daemon group
|
||||
gid=`niutil -readprop $ROOTPROP /groups/daemon gid`
|
||||
if [ "x`niutil -list $ROOTPROP /users|cut -f2 -d' '|grep $username`" != "x" ]; then
|
||||
echo The account $username already exists.
|
||||
exit 0
|
||||
fi
|
||||
# home is the local path to the home directory
|
||||
home=/Users/$username
|
||||
# defhome is what goes into NetInfo
|
||||
defhome="/Network/Servers/MyServer/Users"
|
||||
#echo "Determining next available system uid (please be patient)..."
|
||||
# Uids over 500 are for system users.
|
||||
uiddef=`nidump passwd / | cut -d: -f3 | sort -n | grep -v '^[56789]..' |grep -v '^....$' | tail -n 1`
|
||||
uiddef=`echo $uiddef + 1 |bc`
|
||||
echo Creating account for $username...
|
||||
niutil -create $ROOTPROP /users/$username
|
||||
niutil -createprop $ROOTPROP /users/$username _writers_tim_passwd $username
|
||||
niutil -createprop $ROOTPROP /users/$username realname $realname
|
||||
niutil -createprop $ROOTPROP /users/$username _writers_passwd $username
|
||||
niutil -createprop $ROOTPROP /users/$username uid $uiddef
|
||||
#niutil -createprop $ROOTPROP /users/$username home_loc "<home_dir><url>afp://afp.server.com/Users/</url><path>$username</path></home_dir>"
|
||||
niutil -createprop $ROOTPROP /users/$username gid $gid
|
||||
niutil -createprop $ROOTPROP /users/$username home $homedir
|
||||
niutil -createprop $ROOTPROP /users/$username name $username
|
||||
niutil -createprop $ROOTPROP /users/$username passwd '*'
|
||||
niutil -createprop $ROOTPROP /users/$username shell /dev/null
|
||||
fi
|
@ -1,26 +0,0 @@
|
||||
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
|
||||
<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\"
|
||||
\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
|
||||
<plist version=\"1.0\">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>org.torproject.tor</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/usr/bin/tor</string>
|
||||
<string>-f</string>
|
||||
<string>/Library/Tor/torrc</string>
|
||||
</array>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
<key>OnDemand</key>
|
||||
<false/>
|
||||
|
||||
<key>UserName</key>
|
||||
<string>_tor</string>
|
||||
<key>GroupName</key>
|
||||
<string>daemon</string>
|
||||
|
||||
</dict>
|
||||
|
||||
</plist>
|
@ -1,153 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 2004-2005 Nick Mathewson.
|
||||
# Copyright 2005-2007 Andrew Lewman
|
||||
# Copyright 2008 The Tor Project, Inc.
|
||||
# See LICENSE in Tor distribution for licensing information.
|
||||
|
||||
# This script builds a Macintosh OS X metapackage containing 2 packages:
|
||||
# - One for Tor.
|
||||
# - One for Startup script for Tor.
|
||||
#
|
||||
# This script expects to be run from the toplevel makefile, with VERSION
|
||||
# set to the latest Tor version, and Tor already built.
|
||||
#
|
||||
|
||||
# Read the documentation located in tor/doc/tor-osx-dmg-creation.txt on
|
||||
# how to build Tor for OSX
|
||||
|
||||
###
|
||||
# Helpful info on OS X packaging:
|
||||
# http://developer.apple.com/documentation/DeveloperTools/Conceptual/SoftwareDistribution/index.html
|
||||
# man packagemaker
|
||||
|
||||
# Make sure VERSION is set, so we don't name the package
|
||||
# "Tor--$ARCH-Bundle.dmg"
|
||||
if [ "XX$VERSION" = 'XX' ]; then
|
||||
echo "VERSION not set."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
## Determine OSX Version
|
||||
# map version to name
|
||||
if [ -x /usr/bin/sw_vers ]; then
|
||||
# This is poor, yet functional. We don't care about the 3rd number in
|
||||
# the OS version
|
||||
OSVER=`/usr/bin/sw_vers | grep ProductVersion | cut -f2 | cut -d"." -f1,2`
|
||||
case "$OSVER" in
|
||||
"10.6") ARCH="i386";;
|
||||
"10.5") ARCH="i386";;
|
||||
"10.4") ARCH="i386";;
|
||||
"10.3") ARCH="ppc";;
|
||||
"10.2") ARCH="ppc";;
|
||||
"10.1") ARCH="ppc";;
|
||||
"10.0") ARCH="ppc";;
|
||||
*) ARCH="unknown";;
|
||||
esac
|
||||
else
|
||||
ARCH="unknown"
|
||||
fi
|
||||
|
||||
# Where will we put our temporary files?
|
||||
BUILD_DIR=/tmp/tor-osx-$$
|
||||
# Path to PackageMaker app.
|
||||
PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
|
||||
|
||||
umask 022
|
||||
|
||||
echo I might ask you for your password now, so you can sudo.
|
||||
|
||||
sudo rm -rf $BUILD_DIR
|
||||
mkdir $BUILD_DIR || exit 1
|
||||
for subdir in tor_packageroot tor_resources \
|
||||
torstartup_packageroot \
|
||||
torbundle_resources \
|
||||
output; do
|
||||
mkdir $BUILD_DIR/$subdir
|
||||
done
|
||||
|
||||
### Make Tor package.
|
||||
|
||||
make install DESTDIR=$BUILD_DIR/tor_packageroot
|
||||
cp contrib/osx/ReadMe.rtf $BUILD_DIR/tor_resources
|
||||
chmod 755 contrib/osx/TorPostflight
|
||||
cp contrib/osx/TorPostflight $BUILD_DIR/tor_resources/postflight
|
||||
cp contrib/osx/addsysuser $BUILD_DIR/tor_resources/addsysuser
|
||||
cp contrib/osx/Tor_Uninstaller.applescript $BUILD_DIR/tor_resources/Tor_Uninstaller.applescript
|
||||
cp contrib/osx/uninstall_tor_bundle.sh $BUILD_DIR/tor_resources/uninstall_tor_bundle.sh
|
||||
cp contrib/osx/package_list.txt $BUILD_DIR/tor_resources/package_list.txt
|
||||
cp contrib/osx/tor_logo.gif $BUILD_DIR/tor_resources/background.gif
|
||||
cp src/config/geoip $BUILD_DIR/tor_resources/geoip
|
||||
cat <<EOF > $BUILD_DIR/tor_resources/Welcome.txt
|
||||
Tor: an anonymous Internet communication system
|
||||
|
||||
Tor is a system for using the internet anonymously, and allowing
|
||||
others to do so.
|
||||
EOF
|
||||
|
||||
### Assemble documentation
|
||||
|
||||
DOC=$BUILD_DIR/tor_resources/documents
|
||||
mkdir $DOC
|
||||
mkdir $DOC/howto
|
||||
groff doc/tor.1.in -T ps -m man | pstopdf -i -o $DOC/tor-reference.pdf
|
||||
groff doc/tor-resolve.1 -T ps -m man | pstopdf -i -o $DOC/tor-resolve.pdf
|
||||
mkdir $DOC/Advanced
|
||||
cp doc/spec/*.txt $DOC/Advanced
|
||||
cp doc/HACKING $DOC/Advanced/HACKING.txt
|
||||
cp ChangeLog $DOC/Advanced/ChangeLog.txt
|
||||
|
||||
find $BUILD_DIR/tor_packageroot -print0 |sudo xargs -0 chown root:wheel
|
||||
|
||||
$PACKAGEMAKER -build \
|
||||
-p $BUILD_DIR/output/Tor.pkg \
|
||||
-f $BUILD_DIR/tor_packageroot \
|
||||
-r $BUILD_DIR/tor_resources \
|
||||
-i contrib/osx/TorInfo.plist \
|
||||
-d contrib/osx/TorDesc.plist
|
||||
|
||||
### Make Startup Script package
|
||||
|
||||
mkdir -p $BUILD_DIR/torstartup_packageroot/Library/StartupItems/Tor
|
||||
cp contrib/osx/Tor contrib/osx/StartupParameters.plist \
|
||||
$BUILD_DIR/torstartup_packageroot/Library/StartupItems/Tor
|
||||
|
||||
find $BUILD_DIR/torstartup_packageroot -print0 | sudo xargs -0 chown root:wheel
|
||||
|
||||
$PACKAGEMAKER -build \
|
||||
-p $BUILD_DIR/output/torstartup.pkg \
|
||||
-f $BUILD_DIR/torstartup_packageroot \
|
||||
-i contrib/osx/TorStartupInfo.plist \
|
||||
-d contrib/osx/TorStartupDesc.plist
|
||||
|
||||
### Assemble the metapackage. Packagemaker won't buld metapackages from
|
||||
# the command line, so we need to do it by hand.
|
||||
|
||||
MPKG=$BUILD_DIR/output/Tor-$VERSION-$ARCH-Bundle.mpkg
|
||||
mkdir -p "$MPKG/Contents/Resources"
|
||||
echo -n "pmkrpkg1" > "$MPKG/Contents/PkgInfo"
|
||||
cp contrib/osx/ReadMe.rtf "$MPKG/Contents/Resources"
|
||||
cp contrib/osx/TorBundleInfo.plist "$MPKG/Contents/Info.plist"
|
||||
cp contrib/osx/TorBundleWelcome.rtf "$MPKG/Contents/Resources/Welcome.rtf"
|
||||
cp contrib/osx/TorBundleDesc.plist "$MPKG/Contents/Resources/Description.plist"
|
||||
cp contrib/osx/tor_logo.gif "$MPKG/Contents/Resources/background.gif"
|
||||
|
||||
# Move all the subpackages into place.
|
||||
mkdir $BUILD_DIR/output/.contained_packages
|
||||
mv $BUILD_DIR/output/*.pkg $BUILD_DIR/OUTPUT/.contained_packages
|
||||
( cd $BUILD_DIR/output/.contained_packages )
|
||||
|
||||
### Copy readmes and licenses into toplevel.
|
||||
cp contrib/osx/ReadMe.rtf $BUILD_DIR/output/Tor\ ReadMe.rtf
|
||||
cp LICENSE $BUILD_DIR/output/Tor\ License.txt
|
||||
|
||||
### Package it all into a DMG
|
||||
|
||||
find $BUILD_DIR/output -print0 | sudo xargs -0 chown root:wheel
|
||||
|
||||
sudo mv $BUILD_DIR/output "$BUILD_DIR/Tor-$VERSION-$ARCH-Bundle"
|
||||
rm -f "Tor-$VERSION-$ARCH-Bundle.dmg"
|
||||
USER="`whoami`"
|
||||
sudo hdiutil create -format UDZO -imagekey zlib-level=9 -srcfolder "$BUILD_DIR/Tor-$VERSION-$ARCH-Bundle" "Tor-$VERSION-$ARCH-Bundle.dmg"
|
||||
sudo chown "$USER" "Tor-$VERSION-$ARCH-Bundle.dmg"
|
||||
|
||||
sudo rm -rf $BUILD_DIR
|
@ -1,2 +0,0 @@
|
||||
Tor
|
||||
torstartup
|
Binary file not shown.
Before Width: | Height: | Size: 12 KiB |
@ -1,140 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# not a psueber-pretty uninstall script for the Tor bundle package
|
||||
# . this currently leaves ~/.tor, /var/log/tor and empty
|
||||
# directories /Library/Tor, /Library/Privoxy (see comment below)
|
||||
# . this relies on the fact that the startup items directories (if any)
|
||||
# will be named the same as the package name (ie. Tor)
|
||||
#
|
||||
#
|
||||
# version history
|
||||
# initial version - 21 may, 2005 - loki der quaeler
|
||||
#
|
||||
#
|
||||
# comments
|
||||
# loki: because of the way the Tor package installs itself (the root directory
|
||||
# is the filesystem root, as opposed to the much nicer way that privoxy
|
||||
# installs itself with the privoxy home (/Library/Privoxy) as its
|
||||
# install root directory), i thought it more prudent to leave empty
|
||||
# directories laying around rather than try to incorrectly intuit from
|
||||
# the bom contents what directories should exist and which ones could be
|
||||
# deleted (ie, the Tor package has /Library listed in its bom --
|
||||
# obviously this is a Bad Thing(tm) to delete).
|
||||
# + when the Tor installer is changed, this uninstaller could be modified.
|
||||
# loki: /bin/ps, when run from a terminal window in osX, restricts information
|
||||
# based on the width of the window. an 80 col window will stupidly cause
|
||||
# the grep search for the privoxy pid to not find the pid, whereas the grep
|
||||
# in a wider window succeeds. consider using killall. in the meantime,
|
||||
# advise uninstall runners to drag wide their terminal window.. ugh
|
||||
#
|
||||
|
||||
|
||||
### this is the location of a file which contains all the actual package names
|
||||
## (ie "Tor", "torstartup", ...) the list should be new-line-delimited.
|
||||
PACKAGE_LIST_SRC=/Library/Tor/package_list.txt
|
||||
|
||||
### this is the name of the user created in the install process of Tor
|
||||
TOR_USER=_tor
|
||||
|
||||
### these should be constant across all osX installs (so leave them be)
|
||||
STARTUP_ITEMS_DIR=/Library/StartupItems
|
||||
PKG_RCPT_BASE_DIR=/Library/Receipts
|
||||
BOM_INTERMEDIATE_DIR=Contents/Resources
|
||||
INFO_INTERMEDIATE_DIR=$BOM_INTERMEDIATE_DIR/English.lproj
|
||||
TEMP_BOM_CONTENTS=/tmp/tor_uninst_scratch
|
||||
|
||||
### make sure the script is being run as root, barf if not
|
||||
if [ "`whoami`" != "root" ]; then
|
||||
echo "Must be root to run the uninstall script."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
|
||||
### check to see if tor is currently running, kill it if it is
|
||||
## we grep on 'Tor/tor ' because 'tor' is too common (like in 'directory')
|
||||
## -- this relies on the fact that tor has been started with command
|
||||
## line arguments.. :-/
|
||||
TOR_PID=`ps -uax | grep 'Tor/tor ' | grep -v grep | awk '{print $2;}'`
|
||||
if [ ${#TOR_PID} -gt 0 ]; then
|
||||
echo ". Killing currently running tor process, pid is $TOR_PID"
|
||||
kill -9 $TOR_PID
|
||||
else
|
||||
echo ". tor process appears to already be stopped"
|
||||
fi
|
||||
|
||||
|
||||
### check to see if privoxy is currently running, kill it if it is
|
||||
PRIVOXY_PID=`ps -uax | grep privoxy | grep -v grep | awk '{print $2;}'`
|
||||
if [ ${#PRIVOXY_PID} -gt 0 ]; then
|
||||
echo ". Killing currently running privoxy process, pid is $PRIVOXY_PID"
|
||||
kill -9 $PRIVOXY_PID
|
||||
else
|
||||
echo ". privoxy process appears to already be stopped"
|
||||
fi
|
||||
|
||||
|
||||
## grab each package name from the package list file
|
||||
while read LINE; do
|
||||
if [ ${#LINE} -gt 0 ]; then
|
||||
PACKAGE_NAME=$LINE.pkg
|
||||
PACKAGE_PATH=$PKG_RCPT_BASE_DIR/$PACKAGE_NAME
|
||||
echo ". Uninstalling $PACKAGE_NAME"
|
||||
if [ ! -d $PACKAGE_PATH ]; then
|
||||
echo " . No receipt exists for this package -- skipping."
|
||||
|
||||
continue
|
||||
fi
|
||||
|
||||
|
||||
## get rid of the startup item if it exists
|
||||
STARTUP_DIR=$STARTUP_ITEMS_DIR/$LINE
|
||||
if [ -d $STARTUP_DIR ]; then
|
||||
echo " . Deleting startup item $STARTUP_DIR"
|
||||
rm -rf $STARTUP_DIR
|
||||
fi
|
||||
|
||||
|
||||
## determine the root directory of the the relative paths specified in the bom
|
||||
DEFAULT_LOC=`grep DefaultLocation $PACKAGE_PATH/$INFO_INTERMEDIATE_DIR/$LINE.info | awk '{print $2;}'`
|
||||
if [ ${#DEFAULT_LOC} -eq 0 ]; then
|
||||
echo "!! Could not find default location for $LINE package -- skipping package."
|
||||
|
||||
continue
|
||||
fi
|
||||
|
||||
## examine the list of installed items desribed in the bom
|
||||
BOM_FILE=$PACKAGE_PATH/$BOM_INTERMEDIATE_DIR/$LINE.bom
|
||||
lsbom $BOM_FILE > $TEMP_BOM_CONTENTS
|
||||
while read BOM_ITEM; do
|
||||
## 3 column items describe just directories, 5 column items describe actual files
|
||||
COL_COUNT=$(echo $BOM_ITEM | awk '{print NF;}')
|
||||
if [ "$COL_COUNT" -eq 5 ]; then
|
||||
FILE_NAME=$DEFAULT_LOC/$(echo $BOM_ITEM | awk '{print $1;}')
|
||||
|
||||
echo " . Removing $FILE_NAME"
|
||||
rm -rf $FILE_NAME
|
||||
fi
|
||||
done < $TEMP_BOM_CONTENTS
|
||||
|
||||
## remove package receipt
|
||||
echo " . Removing package receipt $PACKAGE_PATH"
|
||||
rm -rf $PACKAGE_PATH
|
||||
fi
|
||||
done < $PACKAGE_LIST_SRC
|
||||
|
||||
|
||||
## nuke the user created by the install process.
|
||||
echo ". Removing created user $TOR_USER"
|
||||
if [ -x /usr/bin/dscl ]; then
|
||||
dscl . -delete /users/$TOR_USER
|
||||
else
|
||||
niutil -destroy . /users/$TOR_USER
|
||||
fi
|
||||
|
||||
## clean up
|
||||
echo ". Cleaning up"
|
||||
rm -rf $TEMP_BOM_CONTENTS
|
||||
rm -rf /Library/Privoxy/ /Library/StartupItems/Privoxy/ /Library/Tor/ /Library/StartupItems/Tor/ /Library/Torbutton/ /Library/Receipts/Privoxy.pkg /Library/Receipts/torbutton.pkg /Library/Receipts/Tor.pkg /Library/Receipts/Vidalia.pkg /Library/Receipts/TorStartup.pkg
|
||||
|
||||
echo ". Finished"
|
||||
|
@ -1,103 +0,0 @@
|
||||
PREFIX = /Library/Polipo
|
||||
BINDIR = $(PREFIX)/bin
|
||||
MANDIR = $(PREFIX)/man
|
||||
INFODIR = $(PREFIX)/info
|
||||
LOCAL_ROOT = $(PREFIX)/www
|
||||
DISK_CACHE_ROOT = $(PREFIX)/cache
|
||||
|
||||
CC = gcc
|
||||
# CDEBUGFLAGS = -Os -g -Wall -std=gnu99
|
||||
CDEBUGFLAGS = -Os -g -Wall
|
||||
|
||||
FILE_DEFINES = -DLOCAL_ROOT=\"$(LOCAL_ROOT)/\" \
|
||||
-DDISK_CACHE_ROOT=\"$(DISK_CACHE_ROOT)/\"
|
||||
|
||||
# You may optionally also add any of the following to DEFINES:
|
||||
#
|
||||
# -DNO_DISK_CACHE to compile out the on-disk cache and local web server;
|
||||
# -DNO_IPv6 to avoid using the RFC 3493 API and stick to stock
|
||||
# Berkeley sockets;
|
||||
# -DHAVE_IPv6 to force the use of the RFC 3493 API on systems other
|
||||
# than GNU/Linux and BSD (let me know if it works);
|
||||
# -DNO_FANCY_RESOLVER to compile out the asynchronous name resolution
|
||||
# code;
|
||||
# -DNO_STANDARD_RESOLVER to compile out the code that falls back to
|
||||
# gethostbyname/getaddrinfo when DNS requests fail;
|
||||
# -DNO_TUNNEL to compile out the code that handles CONNECT requests;
|
||||
# -DNO_SOCKS to compile out the SOCKS gateway code.
|
||||
# -DNO_FORBIDDEN to compile out the all of the forbidden URL code
|
||||
# -DNO_REDIRECTOR to compile out the Squid-style redirector code
|
||||
|
||||
DEFINES = $(FILE_DEFINES) $(PLATFORM_DEFINES)
|
||||
|
||||
# Uncomment the UNIVERSAL, LDFLAGS, CFLAGS lines if you want universal binaries, otherwise
|
||||
# you'll produce a binary only for your architecture and version of OSX
|
||||
# UNIVERSAL = -O -g -mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc
|
||||
# LDFLAGS = -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk
|
||||
# CFLAGS = $(MD5INCLUDES) $(CDEBUGFLAGS) $(DEFINES) $(EXTRA_DEFINES) $(UNIVERSAL)
|
||||
# If you uncommented the above CFLAGS, remove this next one.
|
||||
CFLAGS = $(MD5INCLUDES) $(CDEBUGFLAGS) $(DEFINES) $(EXTRA_DEFINES)
|
||||
|
||||
SRCS = util.c event.c io.c chunk.c atom.c object.c log.c diskcache.c main.c \
|
||||
config.c local.c http.c client.c server.c auth.c tunnel.c \
|
||||
http_parse.c parse_time.c dns.c forbidden.c \
|
||||
md5import.c md5.c ftsimport.c fts_compat.c socks.c
|
||||
|
||||
OBJS = util.o event.o io.o chunk.o atom.o object.o log.o diskcache.o main.o \
|
||||
config.o local.o http.o client.o server.o auth.o tunnel.o \
|
||||
http_parse.o parse_time.o dns.o forbidden.o \
|
||||
md5import.o ftsimport.o socks.o
|
||||
|
||||
polipo: $(OBJS)
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -o polipo $(OBJS) $(MD5LIBS) $(LDLIBS)
|
||||
|
||||
ftsimport.o: ftsimport.c fts_compat.c
|
||||
|
||||
md5import.o: md5import.c md5.c
|
||||
|
||||
.PHONY: all install install.binary install.man
|
||||
|
||||
all: polipo
|
||||
|
||||
install: install.binary install.man
|
||||
|
||||
install.binary: all
|
||||
mkdir -p $(TARGET)$(BINDIR)
|
||||
mkdir -p $(TARGET)$(LOCAL_ROOT)
|
||||
mkdir -p $(TARGET)$(LOCAL_ROOT)/doc
|
||||
mkdir -p $(TARGET)$(DISK_CACHE_ROOT)
|
||||
cp -f polipo $(TARGET)$(BINDIR)/
|
||||
cp -f localindex.html $(TARGET)$(LOCAL_ROOT)/index.html
|
||||
cp -f config.osx $(TARGET)$(LOCAL_ROOT)/config
|
||||
texi2html polipo.texi && cp -f polipo.html $(TARGET)$(LOCAL_ROOT)/doc/index.html
|
||||
groff polipo.man -T ps -m man | pstopdf -i -o $(TARGET)/polipo.pdf
|
||||
mkdir -p /Library/StartupItems/Polipo
|
||||
cp -f contrib/Polipo /Library/StartupItems/Polipo/
|
||||
cp -f contrib/StartupParameters.plist /Library/StartupItems/Polipo/
|
||||
echo "POLIPO=-YES-" >> /etc/hostconfig
|
||||
|
||||
install.man: all
|
||||
mkdir -p $(TARGET)$(MANDIR)/man1
|
||||
cp -f polipo.man $(TARGET)$(MANDIR)/man1/polipo.1
|
||||
|
||||
TAGS: $(SRCS)
|
||||
etags $(SRCS)
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
clean:
|
||||
-rm -f polipo *.o *~ core TAGS gmon.out
|
||||
-rm -f polipo.cp polipo.fn polipo.log polipo.vr
|
||||
-rm -f polipo.cps polipo.info* polipo.pg polipo.toc polipo.vrs
|
||||
-rm -f polipo.aux polipo.dvi polipo.ky polipo.ps polipo.tp
|
||||
-rm -f polipo.dvi polipo.ps polipo.ps.gz polipo.pdf polipo.html
|
||||
-rm -rf ./html/
|
||||
-rm -f polipo.man.html
|
||||
|
||||
.PHONY: uninstall
|
||||
|
||||
uninstall:
|
||||
rm -rf /Library/Polipo
|
||||
rm -rf /Library/StartupItems/Polipo
|
||||
cp -f /etc/hostconfig /etc/hostconfig.polipo.saved
|
||||
cat /etc/hostconfig.polipo.saved | grep -v POLIPO > /etc/hostconfig
|
@ -1,97 +0,0 @@
|
||||
PREFIX = /Library/Polipo
|
||||
BINDIR = $(PREFIX)/bin
|
||||
MANDIR = $(PREFIX)/man
|
||||
INFODIR = $(PREFIX)/info
|
||||
LOCAL_ROOT = $(PREFIX)/www
|
||||
DISK_CACHE_ROOT = $(PREFIX)/cache
|
||||
|
||||
CC = gcc
|
||||
# CDEBUGFLAGS = -Os -g -Wall -std=gnu99
|
||||
CDEBUGFLAGS = -Os -g -Wall
|
||||
|
||||
FILE_DEFINES = -DLOCAL_ROOT=\"$(LOCAL_ROOT)/\" \
|
||||
-DDISK_CACHE_ROOT=\"$(DISK_CACHE_ROOT)/\"
|
||||
|
||||
# You may optionally also add any of the following to DEFINES:
|
||||
#
|
||||
# -DNO_DISK_CACHE to compile out the on-disk cache and local web server;
|
||||
# -DNO_IPv6 to avoid using the RFC 3493 API and stick to stock
|
||||
# Berkeley sockets;
|
||||
# -DHAVE_IPv6 to force the use of the RFC 3493 API on systems other
|
||||
# than GNU/Linux and BSD (let me know if it works);
|
||||
# -DNO_FANCY_RESOLVER to compile out the asynchronous name resolution
|
||||
# code;
|
||||
# -DNO_STANDARD_RESOLVER to compile out the code that falls back to
|
||||
# gethostbyname/getaddrinfo when DNS requests fail;
|
||||
# -DNO_TUNNEL to compile out the code that handles CONNECT requests;
|
||||
# -DNO_SOCKS to compile out the SOCKS gateway code.
|
||||
# -DNO_FORBIDDEN to compile out the all of the forbidden URL code
|
||||
# -DNO_REDIRECTOR to compile out the Squid-style redirector code
|
||||
|
||||
DEFINES = $(FILE_DEFINES) $(PLATFORM_DEFINES)
|
||||
|
||||
CFLAGS = $(MD5INCLUDES) $(CDEBUGFLAGS) $(DEFINES) $(EXTRA_DEFINES)
|
||||
|
||||
SRCS = util.c event.c io.c chunk.c atom.c object.c log.c diskcache.c main.c \
|
||||
config.c local.c http.c client.c server.c auth.c tunnel.c \
|
||||
http_parse.c parse_time.c dns.c forbidden.c \
|
||||
md5import.c md5.c ftsimport.c fts_compat.c socks.c
|
||||
|
||||
OBJS = util.o event.o io.o chunk.o atom.o object.o log.o diskcache.o main.o \
|
||||
config.o local.o http.o client.o server.o auth.o tunnel.o \
|
||||
http_parse.o parse_time.o dns.o forbidden.o \
|
||||
md5import.o ftsimport.o socks.o
|
||||
|
||||
polipo: $(OBJS)
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -o polipo $(OBJS) $(MD5LIBS) $(LDLIBS)
|
||||
|
||||
ftsimport.o: ftsimport.c fts_compat.c
|
||||
|
||||
md5import.o: md5import.c md5.c
|
||||
|
||||
.PHONY: all install install.binary install.man
|
||||
|
||||
all: polipo
|
||||
|
||||
install: install.binary install.man
|
||||
|
||||
install.binary: all
|
||||
mkdir -p $(TARGET)$(BINDIR)
|
||||
mkdir -p $(TARGET)$(LOCAL_ROOT)
|
||||
mkdir -p $(TARGET)$(LOCAL_ROOT)/doc
|
||||
mkdir -p $(TARGET)$(DISK_CACHE_ROOT)
|
||||
cp -f polipo $(TARGET)$(BINDIR)/
|
||||
cp -f localindex.html $(TARGET)$(LOCAL_ROOT)/index.html
|
||||
cp -f config.osx $(TARGET)$(LOCAL_ROOT)/config
|
||||
texi2html polipo.texi && cp -f polipo.html $(TARGET)$(LOCAL_ROOT)/doc/index.html
|
||||
groff polipo.man -T ps -m man | pstopdf -i -o $(TARGET)/polipo.pdf
|
||||
mkdir -p /Library/StartupItems/Polipo
|
||||
cp -f contrib/Polipo /Library/StartupItems/Polipo/
|
||||
cp -f contrib/StartupParameters.plist /Library/StartupItems/Polipo/
|
||||
echo "POLIPO=-YES-" >> /etc/hostconfig
|
||||
|
||||
install.man: all
|
||||
mkdir -p $(TARGET)$(MANDIR)/man1
|
||||
cp -f polipo.man $(TARGET)$(MANDIR)/man1/polipo.1
|
||||
|
||||
TAGS: $(SRCS)
|
||||
etags $(SRCS)
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
clean:
|
||||
-rm -f polipo *.o *~ core TAGS gmon.out
|
||||
-rm -f polipo.cp polipo.fn polipo.log polipo.vr
|
||||
-rm -f polipo.cps polipo.info* polipo.pg polipo.toc polipo.vrs
|
||||
-rm -f polipo.aux polipo.dvi polipo.ky polipo.ps polipo.tp
|
||||
-rm -f polipo.dvi polipo.ps polipo.ps.gz polipo.pdf polipo.html
|
||||
-rm -rf ./html/
|
||||
-rm -f polipo.man.html
|
||||
|
||||
.PHONY: uninstall
|
||||
|
||||
uninstall:
|
||||
rm -rf /Library/Polipo
|
||||
rm -rf /Library/StartupItems/Polipo
|
||||
cp -f /etc/hostconfig /etc/hostconfig.polipo.saved
|
||||
cat /etc/hostconfig.polipo.saved | grep -v POLIPO > /etc/hostconfig
|
@ -1,40 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
##
|
||||
# Polipo
|
||||
##
|
||||
|
||||
. /etc/rc.common
|
||||
|
||||
StartService ()
|
||||
{
|
||||
if [ -f /Library/Polipo/bin/polipo ]; then
|
||||
if pid=$(GetPID polipo); then
|
||||
return 0
|
||||
else if [ "${POLIPO:=-NO-}" = "-YES-" ]; then
|
||||
ConsoleMessage "Starting Polipo"
|
||||
/Library/Polipo/bin/polipo -c /Library/Polipo/www/config
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
StopService ()
|
||||
{
|
||||
if pid=$(GetPID polipo); then
|
||||
ConsoleMessage "Stopping Polipo"
|
||||
kill -TERM "${pid}"
|
||||
else
|
||||
ConsoleMessage "Polipo not responding."
|
||||
# Just for sanity (sometimes necessary.)
|
||||
killall tor 2>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
RestartService ()
|
||||
{
|
||||
StopService
|
||||
StartService
|
||||
}
|
||||
|
||||
RunService "$1"
|
@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IFPkgDescriptionTitle</key>
|
||||
<string>Polipo</string>
|
||||
<key>IFPkgDescriptionVersion</key>
|
||||
<string>1.0.4</string>
|
||||
</dict>
|
||||
</plist>
|
@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>Polipo 1.0.4</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Polipo 1.0.4</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Polipo</string>
|
||||
<key>CFBundleSortVersionString</key>
|
||||
<string>1.0.4</string>
|
||||
<key>IFPkgFlagAllowBackRev</key>
|
||||
<true/>
|
||||
<key>IFPkgFlagAuthorizationAction</key>
|
||||
<string>RootAuthorization</string>
|
||||
<key>IFPkgFlagFollowLinks</key>
|
||||
<true/>
|
||||
<key>IFPkgFlagIsRequired</key>
|
||||
<true/>
|
||||
<key>IFPkgFlagRootVolumeOnly</key>
|
||||
<true/>
|
||||
<key>IfPkgFlagBackgroundScaling</key>
|
||||
<string>proportional</string>
|
||||
<key>IFPkgFlagBackgroundAlignment</key>
|
||||
<string>bottomleft</string>
|
||||
</dict>
|
||||
</plist>
|
@ -1,50 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# PolipoPostflight gets invoked after any install or upgrade.
|
||||
|
||||
ADDSYSUSER=$RECEIPT_PATH/addsysuser
|
||||
if [ ! -x "$ADDSYSUSER" ]; then
|
||||
echo "Could not find addsysuser script."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
POLIPOUSER=_polipo
|
||||
POLIPOGROUP=daemon
|
||||
TARGET=/Library/Polipo
|
||||
LOGDIR=$TARGET/log
|
||||
|
||||
# Create user $POLIPOUSER in group daemon. If it's already there, great.
|
||||
$ADDSYSUSER $POLIPOUSER "Polipo System user" $POLIPODIR
|
||||
|
||||
# Create the polipo direcpolipoy, if it doesn't exist.
|
||||
if [ ! -d $POLIPODIR ]; then
|
||||
mkdir -p $POLIPODIR
|
||||
fi
|
||||
if [ ! -d $LOGDIR ]; then
|
||||
mkdir -p $LOGDIR
|
||||
fi
|
||||
# Check its permissions.
|
||||
chown $POLIPOUSER $POLIPODIR
|
||||
chgrp daemon $POLIPODIR
|
||||
chmod 700 $POLIPODIR
|
||||
chown $POLIPOUSER $LOGDIR
|
||||
chgrp daemon $LOGDIR
|
||||
chmod 700 $LOGDIR
|
||||
|
||||
# Create the configuration file only if there wasn't one already.
|
||||
if [ ! -f $TARGET/config]; then
|
||||
cp $TARGET/config.osx $TARGET/config
|
||||
fi
|
||||
|
||||
cd /usr/share/man/man1
|
||||
MAN1=$TARGET/share/man/man1
|
||||
|
||||
if [ -d /Library/StartupItems/Polipo ]; then
|
||||
find /Library/StartupItems/Polipo -print0 | xargs -0 chown root:wheel
|
||||
fi
|
||||
|
||||
# Copy Uninstaller
|
||||
if [ -f $PACKAGE_PATH/Contents/Resources/uninstall_polipo_bundle.sh ]; then
|
||||
cp $PACKAGE_PATH/Contents/Resources/uninstall_polipo_bundle.sh $TARGET/uninstall_polipo_bundle.sh
|
||||
chmod 755 $TARGET/uninstall_polipo_bundle.sh
|
||||
fi
|
@ -6,14 +6,14 @@ General Comments
|
||||
----------------
|
||||
|
||||
These are some hacks for making polipo work and install a package native
|
||||
to OSX or Windows.
|
||||
to Windows.
|
||||
|
||||
They need some work before they can be committed upstream:
|
||||
- Merge the three makefiles into one with specific builds such as "make
|
||||
dist-osx" or "make dist-win32"
|
||||
- Change the Makefile so it has a specific build such as "make
|
||||
dist-win32"
|
||||
- Configure the options for tor in polipo config, just leave them
|
||||
commented out for easy activation.
|
||||
- Work out better polipo config options for Tor.
|
||||
- Work out better polipo config options for Tor.
|
||||
|
||||
As always, I'm happy to accept patches.
|
||||
|
||||
@ -45,14 +45,3 @@ choose Compile NSIS Script. You'll then create a polipo installer.
|
||||
The Polipo NSI installer assumes libgnurx-0.dll is in the same directory as polipo.exe.
|
||||
You'll need to copy libgnurx-0.dll into "./" in order to make the
|
||||
installation package.
|
||||
|
||||
---------------------------------------------
|
||||
OSX Universal Binary and Installation package
|
||||
---------------------------------------------
|
||||
You'll need the contrib/polipo directory from Tor's source distribution.
|
||||
1) Copy Makefile.osx over Makefile.
|
||||
2) Run 'make'.
|
||||
3) Copy the contents of contrib/polipo into a directory named "contrib".
|
||||
4) Run 'chmod +x ./contrib/package.sh'
|
||||
5) Run './contrib/package.sh'
|
||||
6) You should have a Polipo-version.dmg ready for installation.
|
||||
|
@ -1,11 +0,0 @@
|
||||
{
|
||||
Description = "Polipo";
|
||||
Provides = ("Polipo");
|
||||
Requires = ("NetworkExtensions","Resolver");
|
||||
OrderPreference = "Late";
|
||||
Messages =
|
||||
{
|
||||
start = "Starting Polipo";
|
||||
stop = "Stopping Polipo";
|
||||
};
|
||||
}
|
@ -1,68 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Original adduser 05 Feb 2002 by Jon L. Gardner
|
||||
#
|
||||
# Modified for Tor installer by Nick Mathewson
|
||||
# 2007-06-12 Modified for leopard by Andrew Lewman
|
||||
|
||||
|
||||
ROOTPROP=/
|
||||
|
||||
if [ "`whoami`" != "root" ]; then
|
||||
echo "You must be root to execute this script."
|
||||
exit
|
||||
fi
|
||||
if [ "x$3" = "x" ]; then
|
||||
echo 'Usage: addsysuser <username> "<full name>" <homedir>'
|
||||
exit 0
|
||||
fi
|
||||
username=$1
|
||||
realname=$2
|
||||
homedir=$3
|
||||
if [ -x /usr/bin/dscl ]; then
|
||||
# Determine the gid of the daemon group
|
||||
gid=`dscl . -read /groups/daemon gid`
|
||||
if [ "x`dscl . -list /users|cut -f2 -d' '|grep $username`" != "x" ]; then
|
||||
echo The account $username already exists.
|
||||
exit 0
|
||||
fi
|
||||
# home is the local path to the home directory
|
||||
home=/Users/$username
|
||||
echo Creating account for $username...
|
||||
dscl . -create /users/$username
|
||||
dscl . -create /users/$username _writers_tim_passwd $username
|
||||
dscl . -create /users/$username realname $realname
|
||||
dscl . -create /users/$username _writers_passwd $username
|
||||
dscl . -create /users/$username gid $gid
|
||||
dscl . -create /users/$username home $homedir
|
||||
dscl . -create /users/$username name $username
|
||||
dscl . -create /users/$username passwd '*'
|
||||
dscl . -create /users/$username shell /dev/null
|
||||
else
|
||||
# Determine the gid of the daemon group
|
||||
gid=`niutil -readprop $ROOTPROP /groups/daemon gid`
|
||||
if [ "x`niutil -list $ROOTPROP /users|cut -f2 -d' '|grep $username`" != "x" ]; then
|
||||
echo The account $username already exists.
|
||||
exit 0
|
||||
fi
|
||||
# home is the local path to the home directory
|
||||
home=/Users/$username
|
||||
# defhome is what goes into NetInfo
|
||||
defhome="/Network/Servers/MyServer/Users"
|
||||
#echo "Determining next available system uid (please be patient)..."
|
||||
# Uids over 500 are for system users.
|
||||
uiddef=`nidump passwd / | cut -d: -f3 | sort -n | grep -v '^[56789]..' |grep -v '^....$' | tail -n 1`
|
||||
uiddef=`echo $uiddef + 1 |bc`
|
||||
echo Creating account for $username...
|
||||
niutil -create $ROOTPROP /users/$username
|
||||
niutil -createprop $ROOTPROP /users/$username _writers_tim_passwd $username
|
||||
niutil -createprop $ROOTPROP /users/$username realname $realname
|
||||
niutil -createprop $ROOTPROP /users/$username _writers_passwd $username
|
||||
niutil -createprop $ROOTPROP /users/$username uid $uiddef
|
||||
#niutil -createprop $ROOTPROP /users/$username home_loc "<home_dir><url>afp://afp.server.com/Users/</url><path>$username</path></home_dir>"
|
||||
niutil -createprop $ROOTPROP /users/$username gid $gid
|
||||
niutil -createprop $ROOTPROP /users/$username home $homedir
|
||||
niutil -createprop $ROOTPROP /users/$username name $username
|
||||
niutil -createprop $ROOTPROP /users/$username passwd '*'
|
||||
niutil -createprop $ROOTPROP /users/$username shell /dev/null
|
||||
fi
|
@ -1,87 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 2004-2005 Nick Mathewson & Andrew Lewman.
|
||||
# Copyright 2005-2008 Andrew Lewman
|
||||
# This is licensed under the Modified BSD License.
|
||||
|
||||
###
|
||||
# Helpful info on OS X packaging:
|
||||
# http://developer.apple.com/documentation/DeveloperTools/Conceptual/SoftwareDistribution/index.html
|
||||
# man packagemaker
|
||||
|
||||
VERSION="1.0.4"
|
||||
|
||||
## Determine OSX Version
|
||||
# map version to name
|
||||
if [ -x /usr/bin/sw_vers ]; then
|
||||
# This is poor, yet functional. We don't care about the 3rd number in
|
||||
# the OS version
|
||||
OSVER=`/usr/bin/sw_vers | grep ProductVersion | cut -f2 | cut -d"." -f1,2`
|
||||
case "$OSVER" in
|
||||
"10.6") ARCH="i386";;
|
||||
"10.5") ARCH="i386";;
|
||||
"10.4") ARCH="i386";;
|
||||
"10.3") ARCH="ppc";;
|
||||
"10.2") ARCH="ppc";;
|
||||
"10.1") ARCH="ppc";;
|
||||
"10.0") ARCH="ppc";;
|
||||
*) ARCH="unknown";;
|
||||
esac
|
||||
else
|
||||
ARCH="unknown"
|
||||
fi
|
||||
|
||||
# Where will we put our temporary files?
|
||||
BUILD_DIR=/tmp/polipo-osx-$$
|
||||
# Path to PackageMaker app.
|
||||
PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
|
||||
|
||||
umask 022
|
||||
|
||||
echo I might ask you for your password now, so you can sudo.
|
||||
|
||||
sudo rm -rf $BUILD_DIR
|
||||
mkdir $BUILD_DIR || exit 1
|
||||
for subdir in polipo_packageroot output; do
|
||||
mkdir $BUILD_DIR/$subdir
|
||||
done
|
||||
|
||||
### Make Polipo package.
|
||||
chmod 755 contrib/PolipoPostflight
|
||||
mkdir -p $BUILD_DIR/polipo_packageroot/Library/Polipo/
|
||||
cp polipo $BUILD_DIR/polipo_packageroot/polipo
|
||||
cp config.sample $BUILD_DIR/polipo_packageroot/config
|
||||
cp contrib/PolipoPostflight $BUILD_DIR/polipo_packageroot/postflight
|
||||
cp contrib/addsysuser $BUILD_DIR/polipo_packageroot/addsysuser
|
||||
cp contrib/uninstall_polipo_bundle.sh $BUILD_DIR/polipo_packageroot/uninstall_polipo_bundle.sh
|
||||
cp localindex.html $BUILD_DIR/polipo_packageroot/index.html
|
||||
cat <<EOF > $BUILD_DIR/polipo_packageroot/Welcome.txt
|
||||
Polipo: a caching web proxy
|
||||
|
||||
Polipo is a small and fast caching web proxy (a web cache, an HTTP
|
||||
proxy, a proxy server).
|
||||
EOF
|
||||
|
||||
### Assemble documentation
|
||||
|
||||
groff polipo.man -T ps -m man | /usr/bin/pstopdf -i -o $BUILD_DIR/polipo_packageroot/polipo.pdf
|
||||
texi2html polipo.texi && cp polipo.html $BUILD_DIR/polipo_packageroot/polipo.html
|
||||
|
||||
find $BUILD_DIR/polipo_packageroot -print0 |sudo xargs -0 chown root:wheel
|
||||
|
||||
$PACKAGEMAKER -build \
|
||||
-p $BUILD_DIR/output/Polipo.pkg \
|
||||
-f $BUILD_DIR/polipo_packageroot \
|
||||
-i contrib/PolipoInfo.plist \
|
||||
-d contrib/PolipoDesc.plist
|
||||
|
||||
### Package it all into a DMG
|
||||
|
||||
find $BUILD_DIR/output -print0 | sudo xargs -0 chown root:wheel
|
||||
|
||||
sudo mv $BUILD_DIR/output "$BUILD_DIR/Polipo-$VERSION-$ARCH"
|
||||
sudo rm -f "Polipo-$VERSION-$ARCH-Bundle.dmg"
|
||||
USER="`whoami`"
|
||||
sudo hdiutil create -format UDZO -srcfolder "$BUILD_DIR/Polipo-$VERSION-$ARCH" "Polipo-$VERSION-$ARCH.dmg"
|
||||
sudo chown "$USER" "Polipo-$VERSION-$ARCH.dmg"
|
||||
|
||||
#sudo rm -rf $BUILD_DIR
|
@ -1,100 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Original version 2005 by loki der quaeler
|
||||
# Copyright 2007-2008 Andrew Lewman
|
||||
# This is licensed under a Modified BSD license.
|
||||
|
||||
|
||||
### this is the location of a file which contains all the actual package names
|
||||
## (ie "Polipo", "polipostartup", ...) the list should be new-line-delimited.
|
||||
PACKAGE_LIST_SRC="Polipo polipostartup"
|
||||
|
||||
### this is the name of the user created in the install process of Polipo
|
||||
POLIPO_USER=_polipo
|
||||
|
||||
### these should be constant across all osX installs (so leave them be)
|
||||
STARTUP_ITEMS_DIR=/Library/StartupItems
|
||||
PKG_RCPT_BASE_DIR=/Library/Receipts
|
||||
BOM_INTERMEDIATE_DIR=Contents/Resources
|
||||
INFO_INTERMEDIATE_DIR=$BOM_INTERMEDIATE_DIR/English.lproj
|
||||
TEMP_BOM_CONTENTS=/tmp/polipo_uninst_scratch
|
||||
|
||||
|
||||
### make sure the script is being run as root, barf if not
|
||||
if [ "`whoami`" != "root" ]; then
|
||||
echo "Must be root to run the uninstall script."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
### check to see if polipo is currently running, kill it if it is
|
||||
## we grep on 'Polipo/polipo ' because 'polipo' is too common (like in 'direcpolipoy')
|
||||
## -- this relies on the fact that polipo has been started with command
|
||||
## line arguments.. :-/
|
||||
POLIPO_PID=`ps -uax | grep 'Polipo/polipo ' | grep -v grep | awk '{print $2;}'`
|
||||
if [ ${#POLIPO_PID} -gt 0 ]; then
|
||||
echo ". Killing currently running polipo process, pid is $POLIPO_PID"
|
||||
kill -9 $POLIPO_PID
|
||||
else
|
||||
echo ". polipo process appears to already be stopped"
|
||||
fi
|
||||
|
||||
|
||||
## grab each package name from the package list file
|
||||
while read LINE; do
|
||||
if [ ${#LINE} -gt 0 ]; then
|
||||
PACKAGE_NAME=$LINE.pkg
|
||||
PACKAGE_PATH=$PKG_RCPT_BASE_DIR/$PACKAGE_NAME
|
||||
echo ". Uninstalling $PACKAGE_NAME"
|
||||
if [ ! -d $PACKAGE_PATH ]; then
|
||||
echo " . No receipt exists for this package -- skipping."
|
||||
|
||||
continue
|
||||
fi
|
||||
|
||||
|
||||
## get rid of the startup item if it exists
|
||||
STARTUP_DIR=$STARTUP_ITEMS_DIR/$LINE
|
||||
if [ -d $STARTUP_DIR ]; then
|
||||
echo " . Deleting startup item $STARTUP_DIR"
|
||||
rm -rf $STARTUP_DIR
|
||||
fi
|
||||
|
||||
|
||||
## determine the root direcpolipoy of the the relative paths specified in the bom
|
||||
DEFAULT_LOC=`grep DefaultLocation $PACKAGE_PATH/$INFO_INTERMEDIATE_DIR/$LINE.info | awk '{print $2;}'`
|
||||
if [ ${#DEFAULT_LOC} -eq 0 ]; then
|
||||
echo "!! Could not find default location for $LINE package -- skipping package."
|
||||
|
||||
continue
|
||||
fi
|
||||
|
||||
## examine the list of installed items desribed in the bom
|
||||
BOM_FILE=$PACKAGE_PATH/$BOM_INTERMEDIATE_DIR/$LINE.bom
|
||||
lsbom $BOM_FILE > $TEMP_BOM_CONTENTS
|
||||
while read BOM_ITEM; do
|
||||
## 3 column items describe just direcpolipoies, 5 column items describe actual files
|
||||
COL_COUNT=$(echo $BOM_ITEM | awk '{print NF;}')
|
||||
if [ "$COL_COUNT" -eq 5 ]; then
|
||||
FILE_NAME=$DEFAULT_LOC/$(echo $BOM_ITEM | awk '{print $1;}')
|
||||
|
||||
echo " . Removing $FILE_NAME"
|
||||
rm -rf $FILE_NAME
|
||||
fi
|
||||
done < $TEMP_BOM_CONTENTS
|
||||
|
||||
## remove package receipt
|
||||
echo " . Removing package receipt $PACKAGE_PATH"
|
||||
rm -rf $PACKAGE_PATH
|
||||
fi
|
||||
done < $PACKAGE_LIST_SRC
|
||||
|
||||
## nuke the user created by the install process.
|
||||
echo ". Removing created user $POLIPO_USER"
|
||||
niutil -destroy . /users/$POLIPO_USER
|
||||
|
||||
## clean up
|
||||
echo ". Cleaning up"
|
||||
rm -rf $TEMP_BOM_CONTENTS
|
||||
rm -rf /Library/Polipo/ /Library/StartupItems/Polipo/
|
||||
echo ". Finished"
|
||||
|
@ -35,7 +35,7 @@ endif
|
||||
|
||||
EXTRA_DIST = HACKING asciidoc-helper.sh \
|
||||
$(html_in) $(man_in) $(txt_in) \
|
||||
tor-osx-dmg-creation.txt tor-rpm-creation.txt \
|
||||
tor-rpm-creation.txt \
|
||||
tor-win32-mingw-creation.txt
|
||||
|
||||
docdir = @docdir@
|
||||
|
@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
# working patch and options from pnx in #tor
|
||||
|
||||
patch -N << "EOF"
|
||||
--- GNUmakefile.in.orig 2007-11-15 02:39:01.000000000 +0100
|
||||
+++ GNUmakefile.in 2007-11-15 02:39:12.000000000 +0100
|
||||
@@ -246,7 +246,7 @@
|
||||
CFLAGS = @CFLAGS@ @CPPFLAGS@ $(OTHER_CFLAGS) $(SPECIAL_CFLAGS) -Wall \
|
||||
@STATIC_PCRE_ONLY@ -Ipcre
|
||||
|
||||
-LDFLAGS = $(DEBUG_CFLAGS) $(SPECIAL_CFLAGS)
|
||||
+LDFLAGS = @LDFLAGS@ $(DEBUG_CFLAGS) $(SPECIAL_CFLAGS)
|
||||
|
||||
|
||||
#############################################################################
|
||||
EOF
|
||||
|
||||
autoheader && autoconf && CFLAGS="-O2 -mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" LDFLAGS="-mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" ./configure --prefix=/Library/Privoxy/ --disable-dynamic-pcrs --sysconfdir=/Library/Privoxy/ --mandir=/Library/Privoxy/ --disable-dependency-tracking && make
|
@ -1,175 +0,0 @@
|
||||
## Instructions for building the official dmgs for OSX.
|
||||
##
|
||||
## The loose table of contents:
|
||||
## Single Architecture Binaries for PowerPc or i386 architecture, not both.
|
||||
## Backwards compatible single-architecture binaries for OSX i386 10.4 from
|
||||
## newer versions of OS X.
|
||||
## Universal Binaries for OSX PPC and i386
|
||||
## Each section is delineated by ###.
|
||||
|
||||
#######################################
|
||||
#
|
||||
# Section 1
|
||||
#
|
||||
# Single Architecture Binaries for PPC or i386, not both.
|
||||
# This method works in all versions of OSX 10.3 through 10.6
|
||||
#######################################
|
||||
|
||||
## Compiling libevent ##
|
||||
|
||||
1) Download the latest stable libevent from
|
||||
http://www.monkey.org/~provos/libevent/
|
||||
|
||||
2) The first step of compiling libevent is to configure it as
|
||||
follows:
|
||||
./configure --enable-static --disable-shared
|
||||
|
||||
3) Complete the "make" and "make install". You will need to be root,
|
||||
or sudo -s, to complete the "make install".
|
||||
|
||||
## Compiling Tor ##
|
||||
|
||||
4) Get your preferred version of the tor source from
|
||||
https://www.torproject.org/dist/ or
|
||||
http://archive.torproject.org/tor-package-archive/. Extract the tarball.
|
||||
|
||||
5) In the top level, this means /path/to/tor/, not tor/contrib/osx,
|
||||
do a configure with these parameters:
|
||||
|
||||
CONFDIR=/Library/Tor ./configure --prefix=/Library/Tor \
|
||||
--bindir=/Library/Tor --sysconfdir=/Library
|
||||
|
||||
6) In same top level dir, do a "make dist-osx". There now exists a
|
||||
.dmg file in the same directory. Install from this dmg.
|
||||
|
||||
#######################################
|
||||
#
|
||||
# Section 2
|
||||
# Backwards compatible single-architecture binaries for OSX x86 10.4 from
|
||||
# newer versions of OS X.
|
||||
#
|
||||
#######################################
|
||||
|
||||
1) Install the latest XCode updates available from http://developer.apple.com.
|
||||
|
||||
## Compiling libevent ##
|
||||
|
||||
2) Download latest stable libevent from
|
||||
http://www.monkey.org/~provos/libevent/
|
||||
|
||||
3) The first step of compiling libevent is to configure it as
|
||||
follows:
|
||||
|
||||
CFLAGS="-O -g -mmacosx-version-min=10.4 -isysroot \
|
||||
/Developer/SDKs/MacOSX10.4u.sdk -arch i386" \
|
||||
LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" \
|
||||
./configure --enable-static --disable-shared --disable-dependency-tracking \
|
||||
CC="gcc-4.0"
|
||||
|
||||
4) Complete the "make" and "make install". You will need to be root,
|
||||
or sudo -s, to complete the "make install".
|
||||
|
||||
5) Check for a successful universal binary of libevent.a in, by default,
|
||||
/usr/local/lib by using the following command:
|
||||
|
||||
"file /usr/local/lib/libevent.a"
|
||||
|
||||
Your output should be:
|
||||
|
||||
"/usr/local/lib/libevent.a (for architecture i386):
|
||||
current ar archive random library"
|
||||
|
||||
6) Get your preferred version of the tor source from
|
||||
https://www.torproject.org/dist/ or
|
||||
http://archive.torproject.org/tor-package-archive/.
|
||||
Extract the tarball.
|
||||
|
||||
7) In the top level, this means /path/to/tor/, not tor/contrib/osx,
|
||||
do a configure with these parameters:
|
||||
|
||||
CFLAGS="-O -g -mmacosx-version-min=10.4 -isysroot \
|
||||
/Developer/SDKs/MacOSX10.4u.sdk -arch i386" \
|
||||
LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" \
|
||||
CONFDIR=/Library/Tor \
|
||||
./configure --prefix=/Library/Tor --bindir=/Library/Tor \
|
||||
--sysconfdir=/Library --disable-dependency-tracking CC="gcc-4.0"
|
||||
|
||||
8) "make dist-osx"
|
||||
|
||||
9) Confirm you have created a universal binary by issuing the follow command:
|
||||
"file src/or/tor". Its output should be as follows:
|
||||
src/or/tor (for architecture i386): Mach-O executable i386
|
||||
|
||||
10) There should exist in the top-level directory a
|
||||
Tor-$VERSION-i386-Bundle.dmg
|
||||
|
||||
11) Congrats. You have a backwards-compatible binary.
|
||||
You are now ready to install Tor.
|
||||
|
||||
####################################################################
|
||||
#
|
||||
# Section 3
|
||||
#
|
||||
# Universal Binaries for OSX PPC and X86
|
||||
# This method works in OSX 10.4 (Tiger) and newer OSX versions.
|
||||
#
|
||||
####################################################################
|
||||
|
||||
1) Install the latest XCode updates available from http://developer.apple.com.
|
||||
|
||||
## Compiling libevent ##
|
||||
|
||||
2) Download latest stable libevent from
|
||||
http://www.monkey.org/~provos/libevent/
|
||||
|
||||
3) The first step of compiling libevent is to configure it as
|
||||
follows:
|
||||
CFLAGS="-O -g -mmacosx-version-min=10.4 -isysroot \
|
||||
/Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" \
|
||||
LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" \
|
||||
./configure --enable-static --disable-shared --disable-dependency-tracking \
|
||||
CC="gcc-4.0"
|
||||
|
||||
4) Complete the "make" and "make install". You will need to be root,
|
||||
or sudo -s, to complete the "make install".
|
||||
|
||||
5) Check for a successful universal binary of libevent.a in, by default,
|
||||
/usr/local/lib by using the following command:
|
||||
"file /usr/local/lib/libevent.a"
|
||||
|
||||
Your output should be:
|
||||
|
||||
/usr/local/lib/libevent.a: Mach-O fat file with 2 architectures
|
||||
/usr/local/lib/libevent.a (for architecture i386):
|
||||
current ar archive random library
|
||||
/usr/local/lib/libevent.a (for architecture ppc):
|
||||
current ar archive
|
||||
|
||||
6) Get your preferred version of the tor source from
|
||||
https://www.torproject.org/dist/ or
|
||||
http://archive.torproject.org/tor-package-archive/.
|
||||
Extract the tarball.
|
||||
|
||||
7) In the top level, this means /path/to/tor/, not tor/contrib/osx,
|
||||
do a configure with these parameters:
|
||||
|
||||
CFLAGS="-O -g -mmacosx-version-min=10.4 -isysroot \
|
||||
/Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" \
|
||||
LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" \
|
||||
CONFDIR=/Library/Tor \
|
||||
./configure --prefix=/Library/Tor --bindir=/Library/Tor \
|
||||
--sysconfdir=/Library --disable-dependency-tracking CC="gcc-4.0"
|
||||
|
||||
8) "make dist-osx"
|
||||
|
||||
9) Confirm you have created a universal binary by issuing the follow command:
|
||||
"file src/or/tor". Its output should be as follows:
|
||||
|
||||
src/or/tor: Mach-O fat file with 2 architectures
|
||||
src/or/tor (for architecture i386): Mach-O executable i386
|
||||
src/or/tor (for architecture ppc): Mach-O executable ppc
|
||||
|
||||
10) There should exist in the top-level directory a
|
||||
Tor-$VERSION-universal-Bundle.dmg
|
||||
|
||||
11) Congrats. You have a universal binary. You are now ready to install Tor.
|
Loading…
Reference in New Issue
Block a user