#!/bin/sh

. /etc/control.d/functions

BINARY_SMBMNT=/sbin/smbmnt
[ -f "$BINARY_SMBMNT" -a ! -L "$BINARY_SMBMNT" ] ||
	BINARY_SMBMNT=/usr/sbin/smbmnt

BINARY_SMBUMOUNT=/sbin/umount.smbfs
[ -f "$BINARY_SMBUMOUNT" -a ! -L "$BINARY_SMBUMOUNT" ] ||
	BINARY_SMBUMOUNT=/usr/bin/smbumount

new_fmode public 4711 root root
new_fmode wheelonly 4710 root wheel
new_fmode restricted 700 root root

new_help public "Any user can execute $BINARY_SMBMNT and $BINARY_SMBUMOUNT"
new_help wheelonly "Only \"wheel\" group members can execute $BINARY_SMBMNT and $BINARY_SMBUMOUNT"
new_help restricted "Only root can execute $BINARY_SMBMNT and $BINARY_SMBUMOUNT"

new_summary 'SMB filesystem mount/umount helpers'

if [ "$*" = status ]; then
	STATUS_SMBMNT="`control_fmode "$BINARY_SMBMNT" status`" || exit 1
	STATUS_SMBUMOUNT="`control_fmode "$BINARY_SMBUMOUNT" status`" || exit 1
	if [ -n "$STATUS_SMBMNT" -a "$STATUS_SMBMNT" = "$STATUS_SMBUMOUNT" ]; then
		echo "$STATUS_SMBMNT"
	else
		echo "unknown"
	fi
	exit 0
fi

control_fmode "$BINARY_SMBMNT" "$*" || exit 1
is_builtin_mode "$*" && exit 0
control_fmode "$BINARY_SMBUMOUNT" "$*" || exit 1
