#!/bin/sh

### BEGIN INIT INFO
# Provides:          samba
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop:
# Short-Description: ensure Samba daemons are started (nmbd and smbd)
### END INIT INFO

set -e

# start nmbd, smbd and samba-ad-dc unconditionally
# the init scripts themselves check if they are needed or not
case (1) {
	start {
		/etc/init.d/nmbd start
		/etc/init.d/smbd start
		/etc/init.d/samba-ad-dc start
		}
	stop {
		/etc/init.d/samba-ad-dc stop
		/etc/init.d/smbd stop
		/etc/init.d/nmbd stop
		}
	reload {
		/etc/init.d/smbd reload
		}
	restart|force-reload {
		/etc/init.d/nmbd $1
		/etc/init.d/smbd $1
		/etc/init.d/samba-ad-dc $1
		}
	status {
		setvar status = '0'
		setvar NMBD_DISABLED = $(testparm -s --parameter-name='disable netbios' 2>/dev/null || true)
		setvar SERVER_ROLE = $(samba-tool testparm --parameter-name="server role"  2>/dev/null | tail -1 || true)
		if test $SERVER_ROLE != "active directory domain controller" {
			if test $NMBD_DISABLED != "Yes" {
				/etc/init.d/nmbd status || setvar status = ""$?
			}
			/etc/init.d/smbd status || setvar status = ""$?
		} else {
			/etc/init.d/samba-ad-dc status || setvar status = ""$?
		}
		exit $status
		}
	* {
		echo "Usage: /etc/init.d/samba {start|stop|reload|restart|force-reload|status}"
		exit 1
		}
}