#!/bin/bash
# From Remote Deployment Tool v3.5.4

LOGGED_IN_USER_ID=`id -u "${USER}"`

# unpack the scanning engine
cd /usr/local/
/usr/bin/ditto -x /Applications/ClamXAV.app/Contents/Resources/ClamXAV_Scanning_Engine.cpgz /usr/local/

# set permissions
/usr/sbin/chown -R root:wheel /usr/local/ClamXAV3/etc
/bin/chmod 0775 /usr/local/ClamXAV3/etc
/bin/chmod 0664 /usr/local/ClamXAV3/etc/*

/usr/sbin/chown -R root:wheel /usr/local/ClamXAV3/bin
/bin/chmod 0755 /usr/local/ClamXAV3/bin
/bin/chmod 0755 /usr/local/ClamXAV3/bin/*
/usr/sbin/chown clamav /usr/local/ClamXAV3/bin/freshclam
/bin/chmod u+s /usr/local/ClamXAV3/bin/freshclam
/usr/sbin/chown -R clamav:clamav /usr/local/ClamXAV3/share/clamav
/bin/chmod 0775 /usr/local/ClamXAV3/share/clamav
/bin/chmod 0664 /usr/local/ClamXAV3/share/clamav/*
/usr/bin/touch /usr/local/ClamXAV3/share/clamav/freshclam.log
/bin/chmod a+rw /usr/local/ClamXAV3/share/clamav/freshclam.log

	#Reset other permissions to what they should be for OS X
/usr/sbin/chown root /usr
chgrp wheel /usr
/bin/chmod 755 /usr
/usr/sbin/chown root /usr/local
chgrp wheel /usr/local
/bin/chmod 755 /usr/local

	#create the symlink to lib clam unrar to avoid the "unable to unrar" warning
ln -s /usr/local/ClamXAV3/lib/libclamunrar_iface.so /usr/lib/libclamunrar_iface.so

# mv /usr/local/ClamXAV3/uk.co.canimaansoftware.ClamXAV.Engine.plist /Library/LaunchDaemons/uk.co.canimaansoftware.ClamXAV.Engine.plist

if [ -e /Library/LaunchDaemons/uk.co.canimaansoftware.ClamXAV.Engine.plist ]
then
    echo "loading clamd launchdaemon"
    chown root:wheel /Library/LaunchDaemons/uk.co.canimaansoftware.ClamXAV.Engine.plist
	chmod 0644 /Library/LaunchDaemons/uk.co.canimaansoftware.ClamXAV.Engine.plist
    /bin/launchctl load -w /Library/LaunchDaemons/uk.co.canimaansoftware.ClamXAV.Engine.plist
else
    echo "No clamd launchdaemon found"
fi

if [ -e /Library/LaunchDaemons/uk.co.canimaansoftware.ClamXAV.Satellite.plist ]
then
    echo "loading satellite launchdaemon"
    chown root:wheel /Library/LaunchDaemons/uk.co.canimaansoftware.ClamXAV.Satellite.plist
	chmod 0644 /Library/LaunchDaemons/uk.co.canimaansoftware.ClamXAV.Satellite.plist
    /bin/launchctl load -w /Library/LaunchDaemons/uk.co.canimaansoftware.ClamXAV.Satellite.plist
else
    echo "No satellite launchdaemon found"
fi

if [ -e "/usr/local/ClamXAV3/bin/ClamXAV UI Helper.app" ]
then
    /bin/rm -rf "/usr/local/ClamXAV3/bin/ClamXAV UI Helper.app"
else
    echo "No old UI Helper launchdaemon found"
fi

# set correct permissions on Application Support folder
chown -R root:admin "/Library/Application Support/ClamXAV"
chmod 0700 "/Library/Application Support/ClamXAV/Settings/Licence"
chmod 0600 "/Library/Application Support/ClamXAV/Settings/Licence/Licence.ClamXAV"

# set correct permissions on launchd plists

chown root:wheel /Library/LaunchDaemons/uk.co.canimaansoftware.ClamXAV.HelperTool.plist
chmod 0544 /Library/LaunchDaemons/uk.co.canimaansoftware.ClamXAV.HelperTool.plist

chown root:wheel /Library/LaunchDaemons/uk.co.canimaansoftware.ClamXAV.HelperToolUpdater.plist
chmod 0544 /Library/LaunchDaemons/uk.co.canimaansoftware.ClamXAV.HelperToolUpdater.plist

# remove com.apple.quarantine bit if it's still somehow set on anything
xattr -r -d com.apple.quarantine /usr/local/ClamXAV3
xattr -r -d com.apple.quarantine /Applications/ClamXAV.app
xattr -d com.apple.quarantine /Library/PrivilegedHelperTools/uk.co.canimaansoftware.ClamXAV.HelperTool
xattr -d com.apple.quarantine /Library/PrivilegedHelperTools/uk.co.canimaansoftware.ClamXAV.HelperToolUpdater

# load new Privileged Helper launchDaemons
chown root:wheel /Library/PrivilegedHelperTools/uk.co.canimaansoftware.ClamXAV.HelperTool
chmod 0544 /Library/PrivilegedHelperTools/uk.co.canimaansoftware.ClamXAV.HelperTool
/bin/launchctl load -w /Library/LaunchDaemons/uk.co.canimaansoftware.ClamXAV.HelperTool.plist

chown root:wheel /Library/PrivilegedHelperTools/uk.co.canimaansoftware.ClamXAV.HelperToolUpdater
chmod 0544 /Library/PrivilegedHelperTools/uk.co.canimaansoftware.ClamXAV.HelperToolUpdater
/bin/launchctl load -w /Library/LaunchDaemons/uk.co.canimaansoftware.ClamXAV.HelperToolUpdater.plist


cp -Rp "/Applications/ClamXAV.app/Contents/MacOS/ClamXAV UI Helper.app" "/usr/local/ClamXAV3/bin/ClamXAV UI Helper.app"


cp -Rp /Applications/ClamXAV.app/Contents/Resources/uk.co.canimaansoftware.ClamXAV.UI-Helper.plist /Library/LaunchAgents/uk.co.canimaansoftware.ClamXAV.UI-Helper.plist

/usr/sbin/chown root:wheel /Library/LaunchAgents/uk.co.canimaansoftware.ClamXAV.UI-Helper.plist
/bin/chmod 0644 /Library/LaunchAgents/uk.co.canimaansoftware.ClamXAV.UI-Helper.plist

/usr/sbin/chown "${USER}":admin /Applications/ClamXAV.app


# sometimes the /Library/LaunchDaemons/ directory loses its read permissions - let's reset them
chmod a+rx /Library/LaunchDaemons/

# If this is NOT a command line install - ie the user is installing via Apple's Installer.app
if [ "${COMMAND_LINE_INSTALL}" = "" ]
then
#	/bin/launchctl asuser "${LOGGED_IN_USER_ID}" /bin/launchctl load -w /Library/LaunchAgents/uk.co.canimaansoftware.ClamXAV.UI-Helper.plist
# wait 5 seconds before launching the app to ensure the PHT is fully loaded, otherwise the user may be prompted for their password
	sleep 5
    /bin/launchctl asuser "${LOGGED_IN_USER_ID}" /usr/bin/open -g /Applications/ClamXAV.app
fi

exit 0
