#!/bin/bash
#
# ~#KVERS:: v9.0.0.0 Copyright © 2007-2015 Kaseya International Limited. All Rights Reserved.
#
# This shell script will uninstall and remove all traces of the VSA Agent on a system.
#
#

echo "Start Kaseya Uninstall Package ..."


function killKaseyaProcs {
	# kill any Kaseya Procs 1st
	
	local AMON_CTL=/Library/LaunchDaemons/com.kaseya.agentmon.plist
	local KMA_UP=/Library/LaunchAgents/com.kaseya.update.plist
	local KRC_H=/Library/LaunchAgents/com.kaseya.kaseyaremotecontrol.plist
#	local REGKUSRTSK=/Library/Kaseya/Scripts/RegisterKUsrTsk
	
	syslog -s -l 5 KMA UnInstall: unloading/killing AgentMon/KUsrTsk
	
	if [ -f $AMON_CTL ]; then
		if [ $SYSVER = 10.3 ]; then
			echo "We do nothing for Panther."
		elif [ $SYSVER = 10.4 ]; then
			syslog  -s -l 5 KMA UnInstall: Tiger AgentMon Unload
			launchctl unload $AMON_CTL
		else
			syslog  -s -l 5 KMA UnInstall: Leopard/Snow Leopard/Lion AgentMon Unload
			if ! launchctl unload $AMON_CTL	
			then
				launchctl unload -S Background $AMON_CTL	
			fi
		fi
		sleep 2
		rm -rf $AMON_CTL
	else
		for X in `ps acx | grep -i AgentMon | awk {'print $1'}`; do
		    kill $X;
	    done
	fi

	rm -rf $KRC_H
	
#	if [ -f REGKUSRTSK ]; then
#		syslog  -s -l 5 KMA UnInstall: Unregistering KUsrTsk
#		REGKUSRTSK -r
#	fi
	
	for X in `ps acx | grep -i KUsrTsk | awk {'print $1'}`; do
		kill $X;
	done
	
	if [ -f $KMA_UP ]; then
		if [ $SYSVER = 10.3 ]; then
			echo "We do nothing for Panther."
		elif [ $SYSVER = 10.4 ]; then
			syslog  -s -l 5 KMA UnInstall: Tiger Update Unload
			launchctl unload  $KMA_UP
		else
			# Leopard, Snow Leopard, Lion, Mountain Lion or later
			syslog  -s -l 5 KMA UnInstall: Leopard/Snow Leopard/Lion Update Unload
			if ! launchctl unload $KMA_UP
			then
				launchctl unload -S Background $KMA_UP	
			fi
		fi
		rm $KMA_UP
	fi
	sleep 5
}

function kaseyaFileCleanUp {

	local LA_DIR=/Library/LaunchAgents
	local LD_DIR=/Library/LaunchDaemons
	local PREF_DIR=/Library/Preferences
	
	echo "Removing Kaseya /Library contents"
	syslog -s -l 5 Kaseya UnInstall: Removing Kaseya pkg contents
	/Library/Kaseya/Scripts/UnInstallKvncSrv
	#
	rm -rf /Library/Application\ Support/Kaseya
	rm -rf /Library/Kaseya
	rm -rf /Library/StartupItems/AgentMon
	rm -rf /Library/VNC
	# Launch Agents
	rm -rf $LA_DIR/com.kaseya.kusrtsk.plist
	rm -rf $LA_DIR/com.kaseya.kusrtask.plist
	rm -rf $LA_DIR/com.kaseya.update.plist
	rm -rf $LA_DIR/com.kaseya.applevncsrv.plist
	rm -rf $LA_DIR/com.realvnc.VNCServerd.plist
	rm -rf $LA_DIR/com.realvnc.VNCServersd.plist
	rm -rf $LA_DIR/com.kaseya.kvncrelay.plist
	rm -rf /Library/PrivilegedHelperTools/KRlyCLis
	# Launch Daemons
	rm -rf $LD_DIR/com.kaseya.agentmon.plist 
	
	echo "Removing Kaseya /System Contents ..."
	rm -rf /System/Library/StartupItems/AgentMon
	rm -rf /System/Library/LaunchDaemons/com.kaseya.agentmon.plist
	
	echo "Removing Kaseya /Application Contents ..."
	rm -rf /Applications/KUsrTsk.app/
	
	echo "Removing Kaseya /Library/Logs Contents ..."
	rm -rf /Library/Logs/KasError.log
	rm -rf /Library/Logs/KasFirewall.log
	
	echo "Removing Kaseya /var/tmp Contents ..."
	rm -rf /var/tmp/com.kaseya.AgentMon
	rm -rf /var/tmp/kas
	rm -rf /var/tmp/kstopmsg.txt
	rm -rf /var/tmp/kperfmon.txt
	rm -rf /var/tmp/KASetup.log 
	rm -rf /var/tmp/lastChk.txt
	rm -rf /var/tmp/*.pkg
	rm -rf /var/tmp/*.pkg.zip
	rm -rf /var/tmp/*.mpkg
	rm -rf /var/tmp/*.mpkg.zip
	rm -rf /var/tmp/kmaconfigup
	rm -rf /var/tmp/kmapkgprompt
	rm -rf /var/tmp/kmaupdater
	rm -rf /var/tmp/com.kaseya.update.plist
	
	echo "Removing Kaseya /Library/Receipts Contents ..."
	rm -rf /Library/Receipts/agentmon.pkg
	rm -rf /Library/Receipts/agentmonctl.pkg
	rm -rf /Library/Receipts/agentmonprefs.pkg
	rm -rf /Library/Receipts/kusrtsk.pkg
	rm -rf /Library/Receipts/kusrtask.pkg
	rm -rf /Library/Receipts/klagent.pkg
	rm -rf /Library/Receipts/kclirelay.pkg
	rm -rf /Library/Receipts/ksrvrelay.pkg
	rm -rf /Library/Receipts/kmastartup.pkg
	rm -rf /Library/Receipts/vnc-server.pkg

	echo "Removing Kaseya loginwindow Prefs ..."
	rm -rf /Library/Preferences/kaseyad.* 
	rm -rf /Library/Preferences/com.kaseya.*
	rm -rf /Library/Preferences/Network/com.kaseya.*
}

# main

SYSVER=`sw_vers -productVersion | awk -F'.' '{print $1"."$2}'`

if [ $SYSVER = 10.0 -o $SYSVER = 10.1 -o $SYSVER = 10.2 ]; then
	echo "Sorry, we do not support these very old systems"
elif [ $SYSVER = 10.3 ]; then
	echo "This is a Panther System"
elif [ $SYSVER = 10.4 ]; then
	echo "This is a Tiger System"
elif [ $SYSVER = 10.5 ]; then
	echo "This is a Leopard System"
elif [ $SYSVER = 10.6 ]; then
	echo "This is a Snow Leopard System"
elif [ $SYSVER = 10.7 ]; then
	echo "This is a Lion System"
elif [ $SYSVER = 10.8 ]; then
	echo "This is a Mountain Lion System"
else
	echo "This is an unknown system, probably later than Lion"
fi

#
killKaseyaProcs
kaseyaFileCleanUp

echo "End Kaseya Uninstall Package ..."
exit 0
