#!/bin/ksh
#
# OSSTech Samba winbindd
#
# chkconfig: - 27 73
# chkconfig.solaris: 2 71 39
# chkconfig.aix: 2 271 39
# chkconfig.debian: 2345 20 20
# description: Starts and stops the Samba winbind daemon
#
### BEGIN INIT INFO
# Provides:		osstech-winbind
# Required-Start:	$network $local_fs osstech-svscan
# Required-Stop:	$network $local_fs osstech-svscan
# Should-Start:		$syslog $time $named osstech-nmb osstech-ldap slapd
# Should-Stop:		$syslog $time $named osstech-nmb osstech-ldap slapd
# Default-Start:	2 3 4 5
# Default-Stop:		0 1 6
### END INIT INFO

. /etc/init.d/svinit || exit $?

sv_name="winbindd"

if [[ -x /opt/osstech/bin/samba-tool && -e /opt/osstech/etc/samba/smb.conf ]]; then
  server_role=$(/opt/osstech/bin/samba-tool testparm --parameter-name="server role" 2>/dev/null |tail -n1)
  if [[ "$server_role" == "active directory domain controller" ]]; then
    echo "If server role is 'active directory domain controller'," 1>&2
    echo "we DO NOT start '$sv_name' service." 1>&2
    if [[ "$1" == restart ]]; then
      shift
      set -- stop "$@"
    elif [[ "$1" == start ]]; then
      exit 0
    fi
  fi
fi

function sv_reload {
  sv_hangup "$1" "Reloading"
}

sv_init "$sv_name" ${1+"$@"}
