#!/bin/sh
### Copyright 1999-2015. Parallels IP Holdings GmbH. All Rights Reserved.

#-*- vim:ft=sh

JOB_DIRECTORY=/etc/init

die()
{
	local mess=$1
	echo "Error: ${mess}"
	exit 1
}

register_service(){

	[ -n "$1" ] || die "register_service: service name not specified"

		# in ubt12 service is disabled directly in job file, lets fix it
		local job_file=${JOB_DIRECTORY}/$1.conf

		test -r "${job_file}" || return 1

		if ! grep -q "^start on.*PPP$" "${job_file}"; then
			echo 'start on (local-filesystems and net-device-up) # add by PPP' >> "${job_file}"
		fi

		local override_job_file=${JOB_DIRECTORY}/$1.override
		if [ -r "${override_job_file}" ]; then
			sed -i -e '/^[[:space:]]*manual.*/d' "${override_job_file}"
		fi
}

unregister_service(){

	[ -n "$1" ] || die "unregister_service: service name not specified"

		# do not start service after system reboot
		local override_job_file=${JOB_DIRECTORY}/$1.override

		if ! grep "^[[:space:]]*manual" "${override_job_file}" >/dev/null 2>&1; then
			echo 'manual' >> "$override_job_file"
		fi
}


if [ $# -ne 1 ]; then
	echo "Usage: $0 --disable|--enable"
	exit 1
fi

case "$1" in
	*disable)
		unregister_service smbd && unregister_service nmbd
		;;
	*enable)
		register_service smbd && register_service nmbd
		;;
	default)
		die "Unknown command"
		;;
esac
