[or-cvs] r6923: Far better test and handling of existing torrc (tor/trunk/contrib/osx)

phobos at seul.org phobos at seul.org
Thu Jul 27 17:19:32 UTC 2006


Author: phobos
Date: 2006-07-27 13:19:32 -0400 (Thu, 27 Jul 2006)
New Revision: 6923

Modified:
   tor/trunk/contrib/osx/TorPostflight
Log:
Far better test and handling of existing torrc


Modified: tor/trunk/contrib/osx/TorPostflight
===================================================================
--- tor/trunk/contrib/osx/TorPostflight	2006-07-27 17:16:10 UTC (rev 6922)
+++ tor/trunk/contrib/osx/TorPostflight	2006-07-27 17:19:32 UTC (rev 6923)
@@ -122,20 +122,21 @@
 fi
 
 # Determine how to start by OS Version
-if [ $OS = "tiger" ]; then
+if [ $OS = "tiger" || $OS = "leopard" ]; then
   if [ -f $PACKAGE_PATH/Contents/Resources/net.freehaven.tor.plist ]; then
      rm -rf /Library/StartupItems/Tor
      cp $PACKAGE_PATH/Contents/Resources/net.freehaven.tor.plist /System/Library/LaunchDaemons/net.freehaven.tor.plist
      chmod 644 /System/Library/LaunchDaemons/net.freehaven.tor.plist
-     echo "#--START required settings--" >> $TARGET/torrc
-     echo "RunAsDaemon 0" >> $TARGET/torrc
-     echo "Log notice file $TARGET/var/log/tor/tor.log" >> $TARGET/torrc
-     echo "DataDirectory $TARGET/var/lib/tor" >> $TARGET/torrc
-     echo "Group daemon" >> $TARGET/torrc
-     echo "User _tor" >> $TARGET/torrc
-     echo "PidFile /var/run/Tor.pid" >> $TARGET/torrc
-     echo "#--END required settings--" >> $TARGET/torrc
-  fi
+     if [ -f $TARGET/torrc ]; then
+     IFS=,
+     CONFIGVARS="#--START,RunAsDaemon 0,Log notice file $TARGET/var/log/tor/tor.log,DataDirectory $TARGET/var/lib/tor,Group daemon,User _tor,PidFile /var/run/Tor.pid,#--END"
+     for var in ${CONFIGVARS}
+     do
+	RC=`grep ^$var $TARGET/torrc`
+	if [ -z $RC ]; then
+	  echo "$var" >> $TARGET/torrc
+	fi
+     done
      /bin/launchctl load /System/Library/LaunchDaemons/net.freehaven.tor.plist
      /bin/launchctl start net.freehaven.tor
 else



More information about the tor-commits mailing list