| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | #!/bin/sh# TorPostflight gets invoked after any install or upgrade.ADDSYSUSER=$RECEIPT_PATH/addsysuserif [ ! -x "$ADDSYSUSER" ]; then  echo "Could not find addsysuser script."  exit 1fiTORUSER=_torTORGROUP=daemonTARGET=$2/Library/TorTORDIR=$TARGET/var/lib/torLOGDIR=$TARGET/var/log/tor# Check defaults for TARGETif [ "$TARGET" == "//Library/Tor" ]; then	TARGET=/Library/Torfi# 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 $TORDIRfiif [ ! -d $LOGDIR ]; then  mkdir -p $LOGDIRfi# Check its permissions.chown $TORUSER $TORDIRchgrp daemon $TORDIRchmod 700 $TORDIRchown $TORUSER $LOGDIRchgrp daemon $LOGDIRchmod 700 $LOGDIR# Create the configuration file only if there wasn't one already.if [ ! -f $TARGET/torrc ]; then  cp $TARGET/torrc.sample $TARGET/torrcfi# Ensure symbolic linkscd /usr/binif [ -e /usr/bin/tor -a ! -L /usr/bin/tor ]; then  mv tor tor_oldfiif [ -e /usr/bin/tor-resolve -a ! -L /usr/bin/tor-resolve ]; then  mv tor-resolve tor-resolve_oldfiln -sf $TARGET/tor .ln -sf $TARGET/tor-resolve .cd /usr/share/man/man1MAN1=$TARGET/man/man1ln -sf $MAN1/*.1 .if [ ! -e /var/log/tor -o -L /var/log/tor ]; then  cd /var/log  rm -f tor  ln -sf $LOGDIR torfiif [ -d /Library/StartupItems/Privoxy ]; then  find /Library/StartupItems/Privoxy -print0 | xargs -0 chown root:wheelfi# Copy Documentationif [ -d $PACKAGE_PATH/Contents/Resources/documents ];then   cp -r $PACKAGE_PATH/Contents/Resources/documents $TARGET/documentsfi# Copy Uninstallerif [ -f $PACKAGE_PATH/Contents/Resources/Tor_Uninstaller.applescript ]; then    cp $PACKAGE_PATH/Contents/Resources/Tor_Uninstaller.applescript $TARGET/Tor_Uninstaller.applescript   chmod 755 $TARGET/Tor_Uninstaller.applescriptfiif [ -f $PACKAGE_PATH/Contents/Resources/Tor_Uninstaller.app.tar.gz ]; then    cp $PACKAGE_PATH/Contents/Resources/Tor_Uninstaller.app.tar.gz $TARGET/Tor_Uninstaller.app.tar.gz   cd $TARGET && tar zxf Tor_Uninstaller.app.tar.gz    chmod -R 755 $TARGET/Tor_Uninstaller.app   chown -R _tor:_tor Tor_Uninstaller.app   rm $TARGET/Tor_Uninstaller.app.tar.gzfiif [ -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 755 $TARGET/uninstall_tor_bundle.shfiif [ -f $PACKAGE_PATH/Contents/Resources/package_list.txt ]; then   cp $PACKAGE_PATH/Contents/Resources/package_list.txt $TARGET/package_list.txtfi# If the pre-install script did it's thing, it should have saved the# config and server keys; put these back and clean upif [ -f /tmp/TorSavedMe.tar.gz ]; then   tar zxf /tmp/TorSavedMe.tar.gz -C /   rm /tmp/TorSavedMe.tar.gzfiif [ -d /Library/StartupItems/Tor ]; then   rm -f /Library/StartupItems/Tor/Tor.loc   echo "$TARGET" > /Library/StartupItems/Tor/Tor.locfi
 |