11 if test -z "$SHARE_BACKEND"; then
15 if test -z "$SMBD_LOGLEVEL"; then
20 USERNAME=administrator
21 REALM=SAMBA.EXAMPLE.COM
22 DNSNAME="samba.example.com"
23 BASEDN="dc=samba,dc=example,dc=com"
25 AUTH="-U$USERNAME%$PASSWORD"
30 if test -z "$ROOT"; then
33 if test -z "$ROOT"; then
38 srcdir=`dirname $0`/../..
39 mkdir -p $PREFIX || exit $?
45 TEST_DATA_PREFIX=$PREFIX_ABS
46 export TEST_DATA_PREFIX
48 TMPDIR=$PREFIX_ABS/tmp
49 ETCDIR=$PREFIX_ABS/etc
50 PIDDIR=$PREFIX_ABS/pid
51 CONFFILE=$ETCDIR/smb.conf
52 KRB5_CONFIG=$ETCDIR/krb5.conf
53 PRIVATEDIR=$PREFIX_ABS/private
54 NCALRPCDIR=$PREFIX_ABS/ncalrpc
55 LOCKDIR=$PREFIX_ABS/lockdir
57 WINBINDD_SOCKET_DIR=$PREFIX_ABS/winbind_socket
58 CONFIGURATION="--configfile=$CONFFILE"
59 LDAPDIR=$PREFIX_ABS/ldap
69 mkdir -p $PRIVATEDIR $ETCDIR $PIDDIR $NCALRPCDIR $LOCKDIR $TMPDIR $LDAPDIR/db $LDAPDIR/db/bdb-logs $LDAPDIR/db/tmp
71 if [ -z "$VALGRIND" ]; then
79 iconv:native = $nativeiconv
80 netbios name = $NETBIOSNAME
81 netbios aliases = $SERVER
84 private dir = $PRIVATEDIR
85 pid directory = $PIDDIR
86 ncalrpc dir = $NCALRPCDIR
88 share backend = $SHARE_BACKEND
89 setup directory = $SRCDIR/setup
90 js include = $SRCDIR/scripting/libjs
91 winbindd socket directory = $WINBINDD_SOCKET_DIR
92 name resolve order = bcast
93 interfaces = 127.0.0.1/8
94 tls dh params file = $DHFILE
95 panic action = $SRCDIR/script/gdb_backtrace %PID% %PROG%
97 server role = domain controller
99 server max protocol = SMB2
100 notify:inotify = false
102 torture:subunitdir = $SRCDIR/bin/torture
103 torture:basedir = $TEST_DATA_PREFIX
105 system:anonymous = true
106 #We don't want to pass our self-tests if the PAC code is wrong
107 gensec:require_pac = true
109 log level = $SMBD_LOGLEVEL
114 ntvfs handler = posix
115 posix:sharedelay = 100000
116 posix:eadb = $LOCKDIR/eadb.tdb
121 cifs:server = $SERVER
122 cifs:user = $USERNAME
123 cifs:password = $PASSWORD
124 cifs:domain = $DOMAIN
130 ntvfs handler = simple
134 ntvfs handler = cifsposix
137 ## Override default share.ldb file
138 rm -f $PRIVATEDIR/share.ldb
139 cat >$PRIVATEDIR/share.ldif<<EOF
147 name: CASE_INSENSITIVE
149 objectClass: CASE_INSENSITIVE
153 objectClass: organizationalUnit
156 ### Default IPC$ Share
157 dn: CN=IPC$,CN=Shares
169 ntvfs-handler: default
171 ### Default ADMIN$ Share
172 dn: CN=ADMIN$,CN=Shares
179 comment: Remote Admin
184 ntvfs-handler: default
193 comment: Temp Dir for Tests
196 posix-sharedelay: 100000
197 posix-eadb: $LOCKDIR/eadb.tdb
199 dn: CN=cifs,CN=Shares
209 cifs-password: $PASSWORD
214 $srcdir/bin/ldbadd -H $PRIVATEDIR/share.ldb < $PRIVATEDIR/share.ldif >/dev/null || exit 1
216 cat >$KRB5_CONFIG<<EOF
218 default_realm = SAMBA.EXAMPLE.COM
219 dns_lookup_realm = false
220 dns_lookup_kdc = false
221 ticket_lifetime = 24h
225 SAMBA.EXAMPLE.COM = {
227 admin_server = 127.0.0.1:88
228 default_domain = samba.example.com
232 pkinit_anchors = FILE:$CAFILE
236 pkinit_identity = FILE:$KDCCERTFILE,$KEYFILE
237 pkinit_anchors = FILE:$CAFILE
240 .samba.example.com = SAMBA.EXAMPLE.COM
244 . `dirname $0`/mk-keyblobs.sh
246 #Ensure the config file is valid before we start
247 $srcdir/bin/testparm $CONFIGURATION -v --suppress-prompt >/dev/null 2>&1 || {
249 echo "Failed to create configuration!" >&2
250 $srcdir/bin/testparm $CONFIGURATION >&2
254 ( $srcdir/bin/testparm $CONFIGURATION -v --suppress-prompt --parameter-name="netbios name" --section-name=global 2> /dev/null | grep -i ^$NETBIOSNAME ) >/dev/null 2>&1 || {
256 $srcdir/bin/testparm $CONFIGURATION -v --suppress-prompt --parameter-name="netbios name" --section-name=global --suppress-prompt 2> /dev/null | grep -i ^$NETBIOSNAME >&2
257 echo "Failed to create configuration!" >&2
261 PROVISION_OPTIONS="$CONFIGURATION --host-name=$NETBIOSNAME --host-ip=127.0.0.1"
262 PROVISION_OPTIONS="$PROVISION_OPTIONS --quiet --domain $DOMAIN --realm $REALM"
263 PROVISION_OPTIONS="$PROVISION_OPTIONS --adminpass $PASSWORD --root=$ROOT"
264 PROVISION_OPTIONS="$PROVISION_OPTIONS --simple-bind-dn=cn=Manager,$BASEDN --password=$PASSWORD --root=$ROOT"
265 $srcdir/bin/smbscript $srcdir/setup/provision $PROVISION_OPTIONS >&2
267 . `dirname $0`/mk-openldap.sh
269 test -z "$FEDORA_DS_PREFIX" || {
270 . `dirname $0`/mk-fedora-ds.sh
273 cat >$PRIVATEDIR/wins_config.ldif<<EOF
274 dn: name=TORTURE_6,CN=PARTNERS
275 objectClass: wreplPartner
283 $srcdir/bin/ldbadd -H $PRIVATEDIR/wins_config.ldb < $PRIVATEDIR/wins_config.ldif >/dev/null || exit 1
285 echo "KRB5_CONFIG=$KRB5_CONFIG"
286 echo "PREFIX_ABS=$PREFIX_ABS"
287 echo "TEST_DATA_PREFIX=$TEST_DATA_PREFIX"
288 echo "CONFIGURATION=$CONFIGURATION"
289 echo "CONFFILE=$CONFFILE"
290 echo "SLAPD_CONF=$SLAPD_CONF"
291 echo "PIDDIR=$PIDDIR"
293 echo "SERVER=$SERVER"
294 echo "NETBIOSNAME=$NETBIOSNAME"
295 echo "LDAP_URI=$LDAP_URI"
296 echo "LDAP_URI_ESCAPE=$LDAP_URI_ESCAPE"
297 echo "FEDORA_DS_INF=$FEDORA_DS_INF"
298 echo "DOMAIN=$DOMAIN"
299 echo "USERNAME=$USERNAME"
301 echo "DNSNAME=$DNSNAME"
302 echo "BASEDN=$BASEDN"
303 echo "PASSWORD=$PASSWORD"
305 echo "SRCDIR=$SRCDIR"
307 echo "SERVER=$SERVER"
308 echo "NETBIOSNAME=$NETBIOSNAME"
309 echo "PREFIX=$PREFIX"
310 echo "SMBD_LOGLEVEL=$SMBD_LOGLEVEL"
311 echo "LDAPDIR=$LDAPDIR"