Browse Source

Far better test and handling of existing torrc

svn:r6923
Andrew Lewman 18 years ago
parent
commit
3770685498
1 changed files with 11 additions and 10 deletions
  1. 11 10
      contrib/osx/TorPostflight

+ 11 - 10
contrib/osx/TorPostflight

@@ -122,20 +122,21 @@ if [ -f /tmp/TorSavedMe.tar.gz ]; then
 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