#!/bin/sh
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source. A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#
#
# Copyright 2014 Nexenta Systems, Inc. All rights reserved.
#
# Helper program to run fksmbd (user-space smbd for debugging)
# using binaries from the proto area.
[ -n "$ROOT" ] || {
echo "Need a bldenv to set ROOT=..."
exit 1;
}
if [[ ! -w /var/smb || ! -w /var/run/smb ]]
then
echo "Need to create/chown/chmod /var/smb /var/run/smb"
echo "mkdir -p /var/run/smb"
echo "chown -R $USER /var/smb /var/run/smb"
echo "chmod -R a+rw /var/smb /var/run/smb"
exit 1;
fi
if [[ ! -r /var/smb/smbpasswd ]]
then
echo "Need readable /var/smb/smbpasswd, i.e."
echo 'chgrp staff /var/smb/smbpasswd'
echo 'chmod 440 /var/smb/smbpasswd'
exit 1;
fi
if [[ -e /var/smb/.pwd.lock && ! -w /var/smb/.pwd.lock ]]
then
echo "Need to cleanup /var/smb/.pwd.lock, i.e."
echo "rm -f /var/smb/.pwd.lock"
exit 1;
fi
# OK, setup env. to run it.
export SMBD_DOOR_NAME="/tmp/fksmbd_door"
export SMB_SHARE_DNAME="/tmp/fksmbshare_door"
LD_LIBRARY_PATH=$ROOT/usr/lib/smbsrv:$ROOT/usr/lib:$ROOT/lib
export LD_LIBRARY_PATH
# normally runs with cwd=/ but this is more careful
cd /var/smb
# run with the passed options
exec $ROOT/usr/lib/smbsrv/fksmbd "$@"