2010-09-30 16:55:04 +04:00
#!/usr/bin/python
# This script generates a list of testsuites that should be run as part of
# the Samba 4 test suite.
# The output of this script is parsed by selftest.pl, which then decides
# which of the tests to actually run. It will, for example, skip all tests
# listed in selftest/skip or only run a subset during "make quicktest".
# The idea is that this script outputs all of the tests of Samba 4, not
# just those that are known to pass, and list those that should be skipped
# or are known to fail in selftest/skip or selftest/knownfail. This makes it
# very easy to see what functionality is still missing in Samba 4 and makes
# it possible to run the testsuite against other servers, such as Samba 3 or
# Windows that have a different set of features.
# The syntax for a testsuite is "-- TEST --" on a single line, followed
# by the name of the test, the environment it needs and the command to run, all
# three separated by newlines. All other lines in the output are considered
# comments.
2018-03-09 17:02:52 +03:00
from __future__ import print_function
2010-09-30 16:55:04 +04:00
2011-02-21 03:16:03 +03:00
import os , sys
sys . path . insert ( 0 , os . path . join ( os . path . dirname ( __file__ ) , " ../../selftest " ) )
2012-10-27 01:38:32 +04:00
import selftesthelpers
2011-02-21 03:16:03 +03:00
from selftesthelpers import *
2010-09-30 16:55:04 +04:00
2018-03-09 17:02:52 +03:00
print ( " OPTIONS %s " % " " . join ( smbtorture4_options ) , file = sys . stderr )
2012-10-27 01:38:32 +04:00
def plansmbtorture4testsuite ( name , env , options , modname = None ) :
return selftesthelpers . plansmbtorture4testsuite ( name , env , options ,
2018-07-30 09:16:12 +03:00
target = ' samba4 ' , modname = modname )
2012-10-27 01:38:32 +04:00
2011-02-21 03:16:03 +03:00
samba4srcdir = source4dir ( )
samba4bindir = bindir ( )
2010-09-30 16:55:04 +04:00
validate = os . getenv ( " VALIDATE " , " " )
2010-09-30 20:23:20 +04:00
if validate :
validate_list = [ validate ]
else :
validate_list = [ ]
2011-02-21 03:16:03 +03:00
2012-10-27 01:52:55 +04:00
nmblookup4 = binpath ( ' nmblookup4 ' )
smbclient4 = binpath ( ' smbclient4 ' )
2012-05-29 18:35:18 +04:00
2011-02-21 03:16:03 +03:00
bbdir = os . path . join ( srcdir ( ) , " testprogs/blackbox " )
2010-09-30 16:55:04 +04:00
# Simple tests for LDAP and CLDAP
2015-12-18 13:46:22 +03:00
for auth_type in [ ' ' , ' -k no ' , ' -k yes ' ] :
2015-12-18 13:56:29 +03:00
for auth_level in [ ' --option=clientldapsaslwrapping=plain ' , ' --sign ' , ' --encrypt ' ] :
2015-12-18 13:46:22 +03:00
creds = ' -U " $USERNAME % $PASSWORD " '
options = creds + ' ' + auth_type + ' ' + auth_level
plantestsuite ( " samba4.ldb.ldap with options %r (ad_dc_ntvfs) " % options , " ad_dc_ntvfs " , " %s /test_ldb.sh ldap $SERVER %s " % ( bbdir , options ) )
2010-09-30 16:55:04 +04:00
2011-06-07 07:22:58 +04:00
# see if we support ADS on the Samba3 side
2010-09-30 16:55:04 +04:00
try :
config_h = os . environ [ " CONFIG_H " ]
except KeyError :
2011-06-07 07:22:58 +04:00
config_h = os . path . join ( samba4bindir , " default/include/config.h " )
2016-01-14 12:32:57 +03:00
# check available features
config_hash = dict ( )
2010-09-30 16:55:04 +04:00
f = open ( config_h , ' r ' )
try :
2016-01-14 12:32:57 +03:00
lines = f . readlines ( )
config_hash = dict ( ( x [ 0 ] , ' ' . join ( x [ 1 : ] ) )
2018-07-30 09:16:12 +03:00
for x in map ( lambda line : line . strip ( ) . split ( ' ' ) [ 1 : ] ,
filter ( lambda line : ( line [ 0 : 7 ] == ' #define ' ) and ( len ( line . split ( ' ' ) ) > 2 ) , lines ) ) )
2010-09-30 16:55:04 +04:00
finally :
f . close ( )
2016-01-14 12:32:57 +03:00
have_heimdal_support = ( " SAMBA4_USES_HEIMDAL " in config_hash )
2018-02-12 01:06:25 +03:00
for options in [ ' -U " $USERNAME % $PASSWORD " ' ] :
plantestsuite ( " samba4.ldb.ldaps with options %s (ad_dc_ntvfs) " % options , " ad_dc_ntvfs " ,
2018-07-30 09:16:12 +03:00
" %s /test_ldb.sh ldaps $SERVER_IP %s " % ( bbdir , options ) )
2018-02-12 01:06:25 +03:00
creds_options = [
' --simple-bind-dn=$USERNAME@$REALM --password=$PASSWORD ' ,
]
peer_options = {
' SERVER_IP ' : ' $SERVER_IP ' ,
' SERVER_NAME ' : ' $SERVER ' ,
' SERVER.REALM ' : ' $SERVER.$REALM ' ,
}
tls_verify_options = [
' --option= " tlsverifypeer=no_check " ' ,
' --option= " tlsverifypeer=ca_only " ' ,
' --option= " tlsverifypeer=ca_and_name_if_available " ' ,
' --option= " tlsverifypeer=ca_and_name " ' ,
' --option= " tlsverifypeer=as_strict_as_possible " ' ,
]
# we use :local for fl2008r2dc because of the self-signed certificate
for env in [ " ad_dc_ntvfs " , " fl2008r2dc:local " ] :
for peer_key in peer_options . keys ( ) :
peer_val = peer_options [ peer_key ]
for creds in creds_options :
for tls_verify in tls_verify_options :
options = creds + ' ' + tls_verify
plantestsuite ( " samba4.ldb.simple.ldaps with options %s %s ( %s ) " % (
peer_key , options , env ) , env ,
" %s /test_ldb_simple.sh ldaps %s %s " % ( bbdir , peer_val , options ) )
2016-03-16 17:07:36 +03:00
2015-12-21 12:04:48 +03:00
# test all "ldap server require strong auth" combinations
for env in [ " ad_dc_ntvfs " , " fl2008r2dc " , " fl2003dc " ] :
options = ' --simple-bind-dn= " $USERNAME@$REALM " --password= " $PASSWORD " '
plantestsuite ( " samba4.ldb.simple.ldap with SIMPLE-BIND %s ( %s ) " % ( options , env ) ,
env , " %s /test_ldb_simple.sh ldap $SERVER %s " % ( bbdir , options ) )
2018-02-12 01:06:25 +03:00
options + = ' --option= " tlsverifypeer=no_check " '
plantestsuite ( " samba4.ldb.simple.ldaps with SIMPLE-BIND %s ( %s ) " % ( options , env ) ,
env , " %s /test_ldb_simple.sh ldaps $SERVER %s " % ( bbdir , options ) )
2015-12-21 12:04:48 +03:00
auth_options = [
' --option=clientldapsaslwrapping=plain ' ,
' --sign ' ,
' --encrypt ' ,
2018-05-09 14:33:05 +03:00
' -k yes --option=clientldapsaslwrapping=plain ' ,
' -k yes --sign ' ,
' -k yes --encrypt ' ,
' -k no --option=clientldapsaslwrapping=plain ' ,
' -k no --sign --option=ntlmssp_client:ldap_style_send_seal=no ' ,
' -k no --sign ' ,
' -k no --encrypt ' ,
2015-12-21 12:04:48 +03:00
]
for auth_option in auth_options :
options = ' -U " $USERNAME % $PASSWORD " ' + ' ' + auth_option
plantestsuite ( " samba4.ldb.simple.ldap with SASL-BIND %s ( %s ) " % ( options , env ) ,
env , " %s /test_ldb_simple.sh ldap $SERVER %s " % ( bbdir , options ) )
2018-02-12 01:06:25 +03:00
options = ' -U " $USERNAME % $PASSWORD " --option= " tlsverifypeer=no_check " '
plantestsuite ( " samba4.ldb.simple.ldaps with SASL-BIND %s ( %s ) " % ( options , env ) ,
env , " %s /test_ldb_simple.sh ldaps $SERVER %s " % ( bbdir , options ) )
2015-12-21 12:04:48 +03:00
2010-09-30 20:23:20 +04:00
for options in [ ' -U " $USERNAME % $PASSWORD " ' ] :
2015-03-06 01:38:26 +03:00
plantestsuite ( " samba4.ldb.ldapi with options %s (ad_dc_ntvfs:local) " % options , " ad_dc_ntvfs:local " ,
2018-07-30 09:16:12 +03:00
" %s /test_ldb.sh ldapi $PREFIX_ABS/ad_dc_ntvfs/private/ldapi %s " % ( bbdir , options ) )
2010-09-30 16:55:04 +04:00
2012-10-26 23:50:41 +04:00
for t in smbtorture4_testsuites ( " ldap. " ) :
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( t , " ad_dc_ntvfs " , ' -U " $USERNAME % $PASSWORD " //$SERVER_IP/_none_ ' )
2010-09-30 16:55:04 +04:00
2011-07-05 04:01:32 +04:00
ldbdir = os . path . join ( srcdir ( ) , " lib/ldb " )
2010-09-30 16:55:04 +04:00
# Don't run LDB tests when using system ldb, as we won't have ldbtest installed
if os . path . exists ( os . path . join ( samba4bindir , " ldbtest " ) ) :
2012-04-04 12:52:25 +04:00
plantestsuite ( " ldb.base " , " none " , " %s /tests/test-tdb-subunit.sh %s " % ( ldbdir , samba4bindir ) )
2010-09-30 16:55:04 +04:00
else :
skiptestsuite ( " ldb.base " , " Using system LDB, ldbtest not available " )
# Tests for RPC
# add tests to this list as they start passing, so we test
# that they stay passing
2015-03-23 22:37:23 +03:00
ncacn_np_tests = [ " rpc.schannel " , " rpc.join " , " rpc.lsa " , " rpc.dssetup " , " rpc.altercontext " , " rpc.netlogon " , " rpc.netlogon.admin " , " rpc.handles " , " rpc.samsync " , " rpc.samba3-sessionkey " , " rpc.samba3-getusername " , " rpc.samba3-lsa " , " rpc.samba3-bind " , " rpc.samba3-netlogon " , " rpc.asyncbind " , " rpc.lsalookup " , " rpc.lsa-getuser " , " rpc.schannel2 " , " rpc.authcontext " ]
2015-07-14 10:13:00 +03:00
ncalrpc_tests = [ " rpc.schannel " , " rpc.join " , " rpc.lsa " , " rpc.dssetup " , " rpc.altercontext " , " rpc.netlogon " , " rpc.netlogon.admin " , " rpc.asyncbind " , " rpc.lsalookup " , " rpc.lsa-getuser " , " rpc.schannel2 " , " rpc.authcontext " ]
2012-10-26 23:50:41 +04:00
drs_rpc_tests = smbtorture4_testsuites ( " drs.rpc " )
2016-05-25 02:50:09 +03:00
ncacn_ip_tcp_tests = [ " rpc.schannel " , " rpc.join " , " rpc.lsa " , " rpc.dssetup " , " rpc.drsuapi " , " rpc.drsuapi_w2k8 " , " rpc.netlogon " , " rpc.netlogon.admin " , " rpc.asyncbind " , " rpc.lsalookup " , " rpc.lsa-getuser " , " rpc.schannel2 " , " rpc.authcontext " , " rpc.samr.passwords.validate " ] + drs_rpc_tests
2015-12-18 22:18:42 +03:00
slow_ncacn_np_tests = [ " rpc.samlogon " , " rpc.samr " , " rpc.samr.users " , " rpc.samr.large-dc " , " rpc.samr.users.privileges " , " rpc.samr.passwords " , " rpc.samr.passwords.pwdlastset " , " rpc.samr.passwords.lockout " , " rpc.samr.passwords.badpwdcount " ]
slow_ncacn_ip_tcp_tests = [ " rpc.cracknames " ]
2010-09-30 16:55:04 +04:00
2010-12-11 05:26:31 +03:00
all_rpc_tests = ncalrpc_tests + ncacn_np_tests + ncacn_ip_tcp_tests + slow_ncacn_np_tests + slow_ncacn_ip_tcp_tests + [ " rpc.lsa.secrets " , " rpc.pac " , " rpc.samba3-sharesec " , " rpc.countcalls " ]
2010-09-30 16:55:04 +04:00
# Make sure all tests get run
2012-10-26 23:50:41 +04:00
rpc_tests = smbtorture4_testsuites ( " rpc. " )
2010-09-30 20:23:20 +04:00
auto_rpc_tests = filter ( lambda t : t not in all_rpc_tests , rpc_tests )
2010-09-30 16:55:04 +04:00
2010-09-30 20:23:20 +04:00
for bindoptions in [ " seal,padcheck " ] + validate_list + [ " bigendian " ] :
2010-09-30 16:55:04 +04:00
for transport in [ " ncalrpc " , " ncacn_np " , " ncacn_ip_tcp " ] :
2015-03-06 01:38:26 +03:00
env = " ad_dc_ntvfs "
2010-09-30 16:55:04 +04:00
if transport == " ncalrpc " :
tests = ncalrpc_tests
2015-03-06 01:38:26 +03:00
env = " ad_dc_ntvfs:local "
2010-09-30 16:55:04 +04:00
elif transport == " ncacn_np " :
tests = ncacn_np_tests
elif transport == " ncacn_ip_tcp " :
tests = ncacn_ip_tcp_tests
2011-12-08 05:42:08 +04:00
else :
2018-07-30 09:18:03 +03:00
raise AssertionError ( " invalid transport %r " % transport )
2010-09-30 16:55:04 +04:00
for t in tests :
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( t , env , [ " %s :$SERVER[ %s ] " % ( transport , bindoptions ) , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , " samba4. %s on %s with %s " % ( t , transport , bindoptions ) )
plansmbtorture4testsuite ( ' rpc.samba3-sharesec ' , env , [ " %s :$SERVER[ %s ] " % ( transport , bindoptions ) , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' , ' --option=torture:share=tmp ' ] , " samba4.rpc.samba3.sharesec on %s with %s " % ( transport , bindoptions ) )
2010-09-30 16:55:04 +04:00
2011-07-18 14:26:26 +04:00
#Plugin S4 DC tests (confirms named pipe auth forwarding). This can be expanded once kerberos is supported in the plugin DC
#
2012-02-14 02:05:21 +04:00
for bindoptions in [ " seal,padcheck " ] + validate_list + [ " bigendian " ] :
for t in ncacn_np_tests :
2015-03-05 20:08:43 +03:00
env = " ad_dc "
2012-02-14 02:05:21 +04:00
transport = " ncacn_np "
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( t , env , [ " %s :$SERVER[ %s ] " % ( transport , bindoptions ) , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , " samba4. %s with %s " % ( t , bindoptions ) )
2011-07-18 14:26:26 +04:00
2010-09-30 20:23:20 +04:00
for bindoptions in [ " " ] + validate_list + [ " bigendian " ] :
2010-09-30 16:55:04 +04:00
for t in auto_rpc_tests :
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( t , " ad_dc_ntvfs " , [ " $SERVER[ %s ] " % bindoptions , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , " samba4. %s with %s " % ( t , bindoptions ) )
2010-09-30 16:55:04 +04:00
2010-12-11 05:26:31 +03:00
t = " rpc.countcalls "
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( t , " ad_dc_ntvfs:local " , [ " $SERVER[ %s ] " % bindoptions , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , modname = " samba4. %s " % t )
2010-09-30 16:55:04 +04:00
for transport in [ " ncacn_np " , " ncacn_ip_tcp " ] :
2015-03-06 01:38:26 +03:00
env = " ad_dc_ntvfs "
2010-09-30 16:55:04 +04:00
if transport == " ncacn_np " :
tests = slow_ncacn_np_tests
elif transport == " ncacn_ip_tcp " :
tests = slow_ncacn_ip_tcp_tests
2011-12-08 05:42:08 +04:00
else :
raise AssertionError ( " Invalid transport %r " % transport )
2010-09-30 16:55:04 +04:00
for t in tests :
2015-07-14 10:13:00 +03:00
bindoptions = ' '
if t == ' rpc.cracknames ' :
bindoptions = ' seal '
2018-07-30 09:19:05 +03:00
plansmbtorture4testsuite ( t , env , [ " %s :$SERVER[ %s ] " % ( transport , bindoptions ) , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , " samba4. %s on %s with %s " % ( t , transport , bindoptions ) )
2010-09-30 16:55:04 +04:00
# Tests for the DFS referral calls implementation
2012-10-26 23:50:41 +04:00
for t in smbtorture4_testsuites ( " dfs. " ) :
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( t , " ad_dc_ntvfs " , ' //$SERVER/ipc \ $ -U$USERNAME % $PASSWORD ' )
2015-03-05 20:08:43 +03:00
plansmbtorture4testsuite ( t , " ad_dc " , ' //$SERVER/ipc \ $ -U$USERNAME % $PASSWORD ' )
2010-09-30 16:55:04 +04:00
2010-12-11 05:26:31 +03:00
# Tests for the NET API (net.api.become.dc tested below against all the roles)
2012-10-26 23:50:41 +04:00
net_tests = filter ( lambda x : " net.api.become.dc " not in x , smbtorture4_testsuites ( " net. " ) )
2010-09-30 16:55:04 +04:00
for t in net_tests :
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( t , " ad_dc_ntvfs " , ' $SERVER[ %s ] -U$USERNAME %% $PASSWORD -W$DOMAIN ' % validate )
2010-09-30 16:55:04 +04:00
# Tests for session keys and encryption of RPC pipes
# FIXME: Integrate these into a single smbtorture test
transport = " ncacn_np "
2015-03-06 11:34:11 +03:00
for env in [ " ad_dc_ntvfs " , " nt4_dc " ] :
2012-06-28 14:42:31 +04:00
for ntlmoptions in [
2017-12-07 15:00:10 +03:00
" -k no --option=clientusespnego=yes " ,
" -k no --option=clientusespnego=yes --option=ntlmssp_client:128bit=no " ,
" -k no --option=clientusespnego=yes --option=ntlmssp_client:56bit=yes " ,
" -k no --option=clientusespnego=yes --option=ntlmssp_client:56bit=no " ,
" -k no --option=clientusespnego=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:56bit=yes " ,
" -k no --option=clientusespnego=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:56bit=no " ,
" -k no --option=clientusespnego=yes --option=clientntlmv2auth=yes " ,
" -k no --option=clientusespnego=yes --option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no " ,
" -k no --option=clientusespnego=yes --option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:56bit=yes " ,
" -k no --option=clientusespnego=no --option=clientntlmv2auth=yes " ,
2012-06-28 14:42:31 +04:00
" -k no --option=gensec:spnego=no --option=clientntlmv2auth=yes " ,
2017-12-07 15:00:10 +03:00
" -k no --option=clientusespnego=no " ] :
2012-06-28 14:42:31 +04:00
name = " rpc.lsa.secrets on %s with with %s " % ( transport , ntlmoptions )
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( ' rpc.lsa.secrets ' , env , [ " %s :$SERVER[] " % ( transport ) , ntlmoptions , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' , ' --option=gensec:target_hostname=$NETBIOSNAME ' ] , " samba4. %s " % name )
2014-05-16 06:30:43 +04:00
plantestsuite ( " samba.blackbox.pdbtest( %s ) " % env , " %s :local " % env , [ os . path . join ( bbdir , " test_pdbtest.sh " ) , ' $SERVER ' , " $PREFIX " , " pdbtest " , smbclient4 , ' $SMB_CONF_PATH ' , configuration ] )
2017-03-03 22:54:30 +03:00
gpo = smbtorture4_testsuites ( " gpo. " )
for t in gpo :
plansmbtorture4testsuite ( t , ' ad_dc:local ' , [ ' //$SERVER/sysvol ' , ' -U$USERNAME % $PASSWORD ' ] )
2010-09-30 16:55:04 +04:00
transports = [ " ncacn_np " , " ncacn_ip_tcp " ]
#Kerberos varies between functional levels, so it is important to check this on all of them
2015-03-06 01:38:26 +03:00
for env in [ " ad_dc_ntvfs " , " fl2000dc " , " fl2003dc " , " fl2008r2dc " , " ad_dc " ] :
2010-11-02 13:57:13 +03:00
transport = " ncacn_np "
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( ' rpc.pac ' , env , [ " %s :$SERVER[] " % ( transport , ) , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , " samba4.rpc.pac on %s " % ( transport , ) )
plansmbtorture4testsuite ( ' rpc.lsa.secrets ' , env , [ " %s :$SERVER[] " % ( transport , ) , ' -k ' , ' yes ' , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' , ' --option=gensec:target_hostname=$NETBIOSNAME ' , ' rpc.lsa.secrets ' ] , " samba4.rpc.lsa.secrets on %s with Kerberos " % ( transport , ) )
plansmbtorture4testsuite ( ' rpc.lsa.secrets ' , env , [ " %s :$SERVER[] " % ( transport , ) , ' -k ' , ' yes ' , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' , " --option=clientusespnegoprincipal=yes " , ' --option=gensec:target_hostname=$NETBIOSNAME ' ] , " samba4.rpc.lsa.secrets on %s with Kerberos - use target principal " % ( transport , ) )
2015-03-24 01:10:02 +03:00
plansmbtorture4testsuite ( ' rpc.lsa.secrets ' , env , [ " %s :$SERVER[target_principal=dcom/$NETBIOSNAME] " % ( transport , ) , ' -k ' , ' yes ' , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , " samba4.rpc.lsa.secrets on %s with Kerberos - netbios name principal dcom " % ( transport , ) )
plansmbtorture4testsuite ( ' rpc.lsa.secrets ' , env , [ " %s :$SERVER[target_principal=$NETBIOSNAME \ $] " % ( transport , ) , ' -k ' , ' yes ' , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , " samba4.rpc.lsa.secrets on %s with Kerberos - netbios name principal dollar " % ( transport , ) )
plansmbtorture4testsuite ( ' rpc.lsa.secrets ' , env , [ " %s :$SERVER[target_principal=$NETBIOSNAME] " % ( transport , ) , ' -k ' , ' yes ' , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , " samba4.rpc.lsa.secrets on %s with Kerberos - netbios name principal " % ( transport , ) )
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( ' rpc.lsa.secrets.none* ' , env , [ " %s :$SERVER " % transport , ' -k ' , ' yes ' , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' , " --option=gensec:fake_gssapi_krb5=yes " , ' --option=gensec:gssapi_krb5=no ' , ' --option=gensec:target_hostname=$NETBIOSNAME ' ] , " samba4.rpc.lsa.secrets on %s with Kerberos - use Samba3 style login " % transport )
2015-06-26 10:15:31 +03:00
plansmbtorture4testsuite ( ' rpc.lsa.secrets.none* ' , env , [ " %s :$SERVER " % transport , ' -k ' , ' yes ' , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' , " --option=gensec:fake_gssapi_krb5=yes " , ' --option=gensec:gssapi_krb5=no ' , ' --option=gensec:target_hostname=$NETBIOSNAME ' , ' --option=gensec_krb5:send_authenticator_checksum=false ' ] , " samba4.rpc.lsa.secrets on %s with Kerberos - use raw-krb5-no-authenticator-checksum style login " % transport )
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( ' rpc.lsa.secrets.none* ' , env , [ " %s :$SERVER " % transport , ' -k ' , ' yes ' , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' , " --option=clientusespnegoprincipal=yes " , ' --option=gensec:fake_gssapi_krb5=yes ' , ' --option=gensec:gssapi_krb5=no ' , ' --option=gensec:target_hostname=$NETBIOSNAME ' ] , " samba4.rpc.lsa.secrets on %s with Kerberos - use Samba3 style login, use target principal " % transport )
2015-06-23 11:27:27 +03:00
# Winreg tests test bulk Kerberos encryption of DCE/RPC
# We test rpc.winreg here too, because the winreg interface if
# handled by the source3/rpc_server code.
2016-09-19 08:29:59 +03:00
for bindoptions in [ " connect " , " packet " , " krb5 " , " krb5,packet " , " krb5,sign " , " krb5,seal " , " spnego " , " spnego,packet " , " spnego,sign " , " spnego,seal " ] :
2015-06-23 11:27:27 +03:00
plansmbtorture4testsuite ( ' rpc.winreg ' , env , [ " %s :$SERVER[ %s ] " % ( transport , bindoptions ) , ' -k ' , ' yes ' , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , " samba4.rpc.winreg on %s with %s " % ( transport , bindoptions ) )
2010-09-30 16:55:04 +04:00
for transport in transports :
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( ' rpc.echo ' , env , [ " %s :$SERVER[] " % ( transport , ) , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , " samba4.rpc.echo on %s " % ( transport , ) )
2010-09-30 16:55:04 +04:00
# Echo tests test bulk Kerberos encryption of DCE/RPC
2015-06-19 01:35:29 +03:00
for bindoptions in [ " connect " , " krb5 " , " krb5,sign " , " krb5,seal " , " spnego " , " spnego,sign " , " spnego,seal " ] + validate_list + [ " padcheck " , " bigendian " , " bigendian,seal " ] :
2010-09-30 16:55:04 +04:00
echooptions = " --option=socket:testnonblock=True --option=torture:quick=yes -k yes "
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( ' rpc.echo ' , env , [ " %s :$SERVER[ %s ] " % ( transport , bindoptions ) , echooptions , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , " samba4.rpc.echo on %s with %s and %s " % ( transport , bindoptions , echooptions ) )
2018-03-22 06:49:53 +03:00
for env in [ " fl2000dc " , " fl2008r2dc " ] :
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( " net.api.become.dc " , env , ' $SERVER[ %s ] -U$USERNAME %% $PASSWORD -W$DOMAIN ' % validate )
2010-09-30 16:55:04 +04:00
2011-01-09 15:55:24 +03:00
for bindoptions in [ " sign " , " seal " ] :
2018-07-30 09:16:43 +03:00
plansmbtorture4testsuite ( ' rpc.backupkey ' , " ad_dc_ntvfs " , [ " ncacn_np:$SERVER[ %s ] " % ( bindoptions ) , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , " samba4.rpc.backupkey with %s " % ( bindoptions ) )
2011-01-09 15:55:24 +03:00
2010-09-30 16:55:04 +04:00
for transport in transports :
for bindoptions in [ " sign " , " seal " ] :
for ntlmoptions in [
2018-07-30 09:14:21 +03:00
" --option=ntlmssp_client:ntlm2=yes --option=torture:quick=yes " ,
" --option=ntlmssp_client:ntlm2=no --option=torture:quick=yes " ,
" --option=ntlmssp_client:ntlm2=yes --option=ntlmssp_client:128bit=no --option=torture:quick=yes " ,
" --option=ntlmssp_client:ntlm2=no --option=ntlmssp_client:128bit=no --option=torture:quick=yes " ,
" --option=ntlmssp_client:ntlm2=yes --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes " ,
" --option=ntlmssp_client:ntlm2=no --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes " ,
" --option=clientntlmv2auth=yes --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes " ,
" --option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:keyexchange=yes --option=torture:quick=yes " ,
" --option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes " ] :
2010-09-30 16:55:04 +04:00
if transport == " ncalrpc " :
2015-03-06 01:38:26 +03:00
env = " ad_dc_ntvfs:local "
2010-09-30 16:55:04 +04:00
else :
2015-03-06 01:38:26 +03:00
env = " ad_dc_ntvfs "
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( ' rpc.echo ' , env , [ " %s :$SERVER[ %s ] " % ( transport , bindoptions ) , ntlmoptions , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , " samba4.rpc.echo on %s with %s and %s " % ( transport , bindoptions , ntlmoptions ) )
2010-09-30 16:55:04 +04:00
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( ' rpc.echo ' , " ad_dc_ntvfs " , [ ' ncacn_np:$SERVER[smb2] ' , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , " samba4.rpc.echo on ncacn_np over smb2 " )
2016-09-24 09:47:44 +03:00
for env in [ " ad_dc " , " nt4_dc " ] :
plansmbtorture4testsuite ( ' rpc.echo ' , env , [ ' 60a15ec5-4de8-11d7-a637-005056a20182@ncacn_np:$SERVER[] ' , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' , ' --option=torture:quick=yes ' ] , " samba4.rpc.echo on ncacn_np with object " )
plansmbtorture4testsuite ( ' rpc.echo ' , env , [ ' 60a15ec5-4de8-11d7-a637-005056a20182@ncacn_ip_tcp:$SERVER[] ' , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' , ' --option=torture:quick=yes ' ] , " samba4.rpc.echo on ncacn_ip_tcp with object " )
2010-09-30 16:55:04 +04:00
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( ' ntp.signd ' , " ad_dc_ntvfs:local " , [ ' ncacn_np:$SERVER ' , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , " samba4.ntp.signd " )
2010-09-30 16:55:04 +04:00
2012-10-26 23:50:41 +04:00
nbt_tests = smbtorture4_testsuites ( " nbt. " )
2011-09-19 07:11:50 +04:00
for t in nbt_tests :
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( t , " ad_dc_ntvfs " , " //$SERVER/_none_ -U \" $USERNAME % $PASSWORD \" " )
2011-09-19 07:11:50 +04:00
2010-09-30 16:55:04 +04:00
# Tests against the NTVFS POSIX backend
2015-06-19 07:49:41 +03:00
ntvfsargs = [ " --option=torture:sharedelay=100000 " , " --option=torture:oplocktimeout=3 " , " --option=torture:writetimeupdatedelay=500000 " ]
2010-09-30 16:55:04 +04:00
2016-06-23 20:13:05 +03:00
# Filter smb2 tests that should not run against ad_dc_ntvfs
2017-03-01 20:13:35 +03:00
smb2_s3only = [ " smb2.change_notify_disabled " , " smb2.dosmode " , " smb2.credits " , " smb2.kernel-oplocks " ]
2016-06-23 20:13:05 +03:00
smb2 = [ x for x in smbtorture4_testsuites ( " smb2. " ) if x not in smb2_s3only ]
2015-08-12 12:06:15 +03:00
2010-09-30 16:55:04 +04:00
#The QFILEINFO-IPC test needs to be on ipc$
2012-10-26 23:50:41 +04:00
raw = filter ( lambda x : " raw.qfileinfo.ipc " not in x , smbtorture4_testsuites ( " raw. " ) )
base = smbtorture4_testsuites ( " base. " )
2010-09-30 16:55:04 +04:00
2012-10-26 23:50:41 +04:00
netapi = smbtorture4_testsuites ( " netapi. " )
2011-05-11 00:14:34 +04:00
2012-10-26 23:50:41 +04:00
libsmbclient = smbtorture4_testsuites ( " libsmbclient. " )
2018-04-24 23:47:54 +03:00
libsmbclient_testargs = [ " --option=torture:smburl=smb://$USERNAME:$PASSWORD@$SERVER/tmp " ,
" --option=torture:replace_smbconf= %s /testdata/samba3/smb_new.conf " % srcdir ( ) ]
2011-05-11 00:14:34 +04:00
for t in base + raw + smb2 + netapi + libsmbclient :
2018-01-10 10:43:44 +03:00
plansmbtorture4testsuite ( t , " ad_dc_ntvfs " , [ ' //$SERVER/tmp ' , ' -U$USERNAME % $PASSWORD ' ] + ntvfsargs + libsmbclient_testargs )
2010-09-30 16:55:04 +04:00
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( " raw.qfileinfo.ipc " , " ad_dc_ntvfs " , ' //$SERVER/ipc \ $ -U$USERNAME % $PASSWORD ' )
2010-09-30 16:55:04 +04:00
2012-10-26 23:50:41 +04:00
for t in smbtorture4_testsuites ( " rap. " ) :
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( t , " ad_dc_ntvfs " , ' //$SERVER/IPC \ $ -U$USERNAME % $PASSWORD ' )
2010-09-30 16:55:04 +04:00
# Tests against the NTVFS CIFS backend
for t in base + raw :
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( t , " ad_dc_ntvfs " , [ ' //$NETBIOSNAME/cifs ' , ' -U$USERNAME % $PASSWORD ' , ' --kerberos=yes ' ] + ntvfsargs , modname = " samba4.ntvfs.cifs.krb5. %s " % t )
2011-03-18 21:13:43 +03:00
# Test NTVFS CIFS backend with S4U2Self and S4U2Proxy
t = " base.unlink "
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( t , " ad_dc_ntvfs " , [ ' //$NETBIOSNAME/cifs ' , ' -U$USERNAME % $PASSWORD ' , ' --kerberos=no ' ] + ntvfsargs , " samba4.ntvfs.cifs.ntlm. %s " % t )
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( t , " rpc_proxy " , [ ' //$NETBIOSNAME/cifs_to_dc ' , ' -U$DC_USERNAME % $DC_PASSWORD ' , ' --kerberos=yes ' ] + ntvfsargs , " samba4.ntvfs.cifs.krb5. %s " % t )
plansmbtorture4testsuite ( t , " rpc_proxy " , [ ' //$NETBIOSNAME/cifs_to_dc ' , ' -U$DC_USERNAME % $DC_PASSWORD ' , ' --kerberos=no ' ] + ntvfsargs , " samba4.ntvfs.cifs.ntlm. %s " % t )
2010-09-30 16:55:04 +04:00
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( ' echo.udp ' , ' ad_dc_ntvfs:local ' , ' //$SERVER/whatever ' )
2010-11-16 01:01:57 +03:00
2010-09-30 16:55:04 +04:00
# Local tests
2012-10-26 23:50:41 +04:00
for t in smbtorture4_testsuites ( " local. " ) :
2011-12-13 23:55:53 +04:00
#The local.resolve test needs a name to look up using real system (not emulated) name routines
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( t , " none " , " ncalrpc:localhost " )
2010-09-30 16:55:04 +04:00
2011-09-10 03:53:29 +04:00
# Confirm these tests with the system iconv too
for t in [ " local.convert_string_handle " , " local.convert_string " , " local.ndr " ] :
2011-11-14 04:54:26 +04:00
options = " ncalrpc: --option= ' iconv:use_builtin_handlers=false ' "
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( t , " none " , options ,
2018-07-30 09:16:12 +03:00
modname = " samba4. %s .system.iconv " % t )
2011-09-10 03:53:29 +04:00
2010-09-30 16:55:04 +04:00
tdbtorture4 = binpath ( " tdbtorture " )
if os . path . exists ( tdbtorture4 ) :
plantestsuite ( " tdb.stress " , " none " , valgrindify ( tdbtorture4 ) )
else :
skiptestsuite ( " tdb.stress " , " Using system TDB, tdbtorture not available " )
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( " drs.unit " , " none " , " ncalrpc: " )
2010-09-30 16:55:04 +04:00
# Pidl tests
2010-09-30 20:23:20 +04:00
for f in sorted ( os . listdir ( os . path . join ( samba4srcdir , " ../pidl/tests " ) ) ) :
2010-09-30 16:55:04 +04:00
if f . endswith ( " .pl " ) :
2010-09-30 20:29:58 +04:00
planperltestsuite ( " pidl. %s " % f [ : - 3 ] , os . path . normpath ( os . path . join ( samba4srcdir , " ../pidl/tests " , f ) ) )
2010-09-30 16:55:04 +04:00
2011-11-11 03:32:09 +04:00
# DNS tests
2016-01-29 07:03:56 +03:00
plantestsuite_loadlist ( " samba.tests.dns " , " fl2003dc:local " , [ python , os . path . join ( srcdir ( ) , " python/samba/tests/dns.py " ) , ' $SERVER ' , ' $SERVER_IP ' , ' --machine-pass ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2017-06-08 07:20:42 +03:00
plantestsuite_loadlist ( " samba.tests.dns " , " rodc:local " , [ python , os . path . join ( srcdir ( ) , " python/samba/tests/dns.py " ) , ' $SERVER ' , ' $SERVER_IP ' , ' --machine-pass ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
plantestsuite_loadlist ( " samba.tests.dns " , " vampire_dc:local " , [ python , os . path . join ( srcdir ( ) , " python/samba/tests/dns.py " ) , ' $SERVER ' , ' $SERVER_IP ' , ' --machine-pass ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2016-01-28 02:54:58 +03:00
2016-04-11 06:18:34 +03:00
plantestsuite_loadlist ( " samba.tests.dns_forwarder " , " fl2003dc:local " , [ python , os . path . join ( srcdir ( ) , " python/samba/tests/dns_forwarder.py " ) , ' $SERVER ' , ' $SERVER_IP ' , ' $DNS_FORWARDER1 ' , ' $DNS_FORWARDER2 ' , ' --machine-pass ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2016-03-17 07:13:28 +03:00
2016-05-04 15:26:16 +03:00
plantestsuite_loadlist ( " samba.tests.dns_tkey " , " fl2008r2dc " , [ python , os . path . join ( srcdir ( ) , " python/samba/tests/dns_tkey.py " ) , ' $SERVER ' , ' $SERVER_IP ' , ' --machine-pass ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2017-07-25 05:14:53 +03:00
plantestsuite_loadlist ( " samba.tests.dns_wildcard " , " ad_dc " , [ python , os . path . join ( srcdir ( ) , " python/samba/tests/dns_wildcard.py " ) , ' $SERVER ' , ' $SERVER_IP ' , ' --machine-pass ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2018-06-08 19:20:16 +03:00
plantestsuite_loadlist ( " samba.tests.dns_invalid " , " ad_dc " , [ python , os . path . join ( srcdir ( ) , " python/samba/tests/dns_invalid.py " ) , ' $SERVER_IP ' , ' --machine-pass ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2012-10-26 23:50:41 +04:00
for t in smbtorture4_testsuites ( " dns_internal. " ) :
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( t , " ad_dc_ntvfs:local " , ' //$SERVER/whavever ' )
2012-09-11 02:14:39 +04:00
2012-09-06 08:26:57 +04:00
# Local tests
2012-10-26 23:50:41 +04:00
for t in smbtorture4_testsuites ( " dlz_bind9. " ) :
2012-09-06 08:26:57 +04:00
#The dlz_bind9 tests needs to look at the DNS database
2012-12-28 14:00:28 +04:00
plansmbtorture4testsuite ( t , " chgdcpass:local " , [ " ncalrpc:$SERVER " , ' -U$USERNAME % $PASSWORD ' ] )
2011-11-11 03:32:09 +04:00
2018-03-08 13:37:23 +03:00
planpythontestsuite ( " nt4_dc " , " samba.tests.libsmb_samba_internal " , py3_compatible = True ) ;
2012-08-15 16:08:45 +04:00
2010-09-30 16:55:04 +04:00
# Blackbox Tests:
# tests that interact directly with the command-line tools rather than using
# the API. These mainly test that the various command-line options of commands
# work correctly.
2015-03-06 01:46:14 +03:00
for env in [ " ad_member " , " s4member " , " ad_dc_ntvfs " , " chgdcpass " ] :
2012-10-27 01:52:55 +04:00
plantestsuite ( " samba4.blackbox.smbclient( %s :local) " % env , " %s :local " % env , [ os . path . join ( samba4srcdir , " utils/tests/test_smbclient.sh " ) , ' $SERVER ' , ' $SERVER_IP ' , ' $USERNAME ' , ' $PASSWORD ' , ' $DOMAIN ' , smbclient4 ] )
2012-08-27 15:02:28 +04:00
2015-03-06 01:38:26 +03:00
plantestsuite ( " samba4.blackbox.samba_tool(ad_dc_ntvfs:local) " , " ad_dc_ntvfs:local " , [ os . path . join ( samba4srcdir , " utils/tests/test_samba_tool.sh " ) , ' $SERVER ' , ' $SERVER_IP ' , ' $USERNAME ' , ' $PASSWORD ' , ' $DOMAIN ' , smbclient4 ] )
2017-05-02 13:31:48 +03:00
plantestsuite ( " samba4.blackbox.net_rpc_user(ad_dc) " , " ad_dc " , [ os . path . join ( bbdir , " test_net_rpc_user.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $DOMAIN ' ] )
2016-01-14 12:32:57 +03:00
if have_heimdal_support :
2016-01-16 16:25:18 +03:00
for env in [ " ad_dc_ntvfs " , " ad_dc " ] :
plantestsuite ( " samba4.blackbox.pkinit( %s :local) " % env , " %s :local " % env , [ os . path . join ( bbdir , " test_pkinit_heimdal.sh " ) , ' $SERVER ' , ' pkinit ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $PREFIX/ %s ' % env , " aes256-cts-hmac-sha1-96 " , smbclient4 , configuration ] )
plantestsuite ( " samba4.blackbox.pkinit_pac( %s :local) " % env , " %s :local " % env , [ os . path . join ( bbdir , " test_pkinit_pac_heimdal.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $PREFIX/ %s ' % env , " aes256-cts-hmac-sha1-96 " , configuration ] )
2016-01-14 12:32:57 +03:00
plantestsuite ( " samba4.blackbox.kinit(ad_dc_ntvfs:local) " , " ad_dc_ntvfs:local " , [ os . path . join ( bbdir , " test_kinit_heimdal.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $PREFIX ' , " aes256-cts-hmac-sha1-96 " , smbclient4 , configuration ] )
plantestsuite ( " samba4.blackbox.kinit(fl2000dc:local) " , " fl2000dc:local " , [ os . path . join ( bbdir , " test_kinit_heimdal.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $PREFIX ' , " arcfour-hmac-md5 " , smbclient4 , configuration ] )
plantestsuite ( " samba4.blackbox.kinit(fl2008r2dc:local) " , " fl2008r2dc:local " , [ os . path . join ( bbdir , " test_kinit_heimdal.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $PREFIX ' , " aes256-cts-hmac-sha1-96 " , smbclient4 , configuration ] )
plantestsuite ( " samba4.blackbox.kinit_trust(fl2008r2dc:local) " , " fl2008r2dc:local " , [ os . path . join ( bbdir , " test_kinit_trusts_heimdal.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $TRUST_SERVER ' , ' $TRUST_USERNAME ' , ' $TRUST_PASSWORD ' , ' $TRUST_REALM ' , ' $TRUST_DOMAIN ' , ' $PREFIX ' , " forest " , " aes256-cts-hmac-sha1-96 " ] )
plantestsuite ( " samba4.blackbox.kinit_trust(fl2003dc:local) " , " fl2003dc:local " , [ os . path . join ( bbdir , " test_kinit_trusts_heimdal.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $TRUST_SERVER ' , ' $TRUST_USERNAME ' , ' $TRUST_PASSWORD ' , ' $TRUST_REALM ' , ' $TRUST_DOMAIN ' , ' $PREFIX ' , " external " , " arcfour-hmac-md5 " ] )
2016-03-01 17:54:32 +03:00
plantestsuite ( " samba4.blackbox.export.keytab(ad_dc_ntvfs:local) " , " ad_dc_ntvfs:local " , [ os . path . join ( bbdir , " test_export_keytab_heimdal.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $REALM ' , ' $DOMAIN ' , " $PREFIX " , smbclient4 ] )
2016-09-06 10:31:41 +03:00
plantestsuite ( " samba4.blackbox.kpasswd(ad_dc_ntvfs:local) " , " ad_dc_ntvfs:local " , [ os . path . join ( bbdir , " test_kpasswd_heimdal.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , " $PREFIX/ad_dc_ntvfs " ] )
2016-01-14 18:41:36 +03:00
else :
plantestsuite ( " samba4.blackbox.kinit(ad_dc_ntvfs:local) " , " ad_dc_ntvfs:local " , [ os . path . join ( bbdir , " test_kinit_mit.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $PREFIX ' , smbclient4 , configuration ] )
plantestsuite ( " samba4.blackbox.kinit(fl2000dc:local) " , " fl2000dc:local " , [ os . path . join ( bbdir , " test_kinit_mit.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $PREFIX ' , smbclient4 , configuration ] )
plantestsuite ( " samba4.blackbox.kinit(fl2008r2dc:local) " , " fl2008r2dc:local " , [ os . path . join ( bbdir , " test_kinit_mit.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $PREFIX ' , smbclient4 , configuration ] )
2016-02-15 10:22:58 +03:00
plantestsuite ( " samba4.blackbox.kinit_trust(fl2008r2dc:local) " , " fl2008r2dc:local " , [ os . path . join ( bbdir , " test_kinit_trusts_mit.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $TRUST_SERVER ' , ' $TRUST_USERNAME ' , ' $TRUST_PASSWORD ' , ' $TRUST_REALM ' , ' $TRUST_DOMAIN ' , ' $PREFIX ' , " forest " ] )
plantestsuite ( " samba4.blackbox.kinit_trust(fl2003dc:local) " , " fl2003dc:local " , [ os . path . join ( bbdir , " test_kinit_trusts_mit.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $TRUST_SERVER ' , ' $TRUST_USERNAME ' , ' $TRUST_PASSWORD ' , ' $TRUST_REALM ' , ' $TRUST_DOMAIN ' , ' $PREFIX ' , " external " ] )
2016-03-10 16:35:23 +03:00
plantestsuite ( " samba4.blackbox.export.keytab(ad_dc_ntvfs:local) " , " ad_dc_ntvfs:local " , [ os . path . join ( bbdir , " test_export_keytab_mit.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $REALM ' , ' $DOMAIN ' , " $PREFIX " , smbclient4 ] )
2016-09-05 19:01:57 +03:00
plantestsuite ( " samba4.blackbox.kpasswd(ad_dc_ntvfs:local) " , " ad_dc_ntvfs:local " , [ os . path . join ( bbdir , " test_kpasswd_mit.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , " $PREFIX/ad_dc_ntvfs " ] )
2016-01-14 12:32:57 +03:00
2017-06-17 02:06:46 +03:00
plantestsuite ( " samba4.blackbox.trust_ntlm " , " fl2008r2dc:local " , [ os . path . join ( bbdir , " test_trust_ntlm.sh " ) , ' $SERVER_IP ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $TRUST_USERNAME ' , ' $TRUST_PASSWORD ' , ' $TRUST_REALM ' , ' $TRUST_DOMAIN ' , ' forest ' , ' auto ' , ' NT_STATUS_LOGON_FAILURE ' ] )
plantestsuite ( " samba4.blackbox.trust_ntlm " , " fl2003dc:local " , [ os . path . join ( bbdir , " test_trust_ntlm.sh " ) , ' $SERVER_IP ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $TRUST_USERNAME ' , ' $TRUST_PASSWORD ' , ' $TRUST_REALM ' , ' $TRUST_DOMAIN ' , ' external ' , ' auto ' , ' NT_STATUS_LOGON_FAILURE ' ] )
2017-04-06 20:44:16 +03:00
plantestsuite ( " samba4.blackbox.trust_ntlm " , " ad_member:local " , [ os . path . join ( bbdir , " test_trust_ntlm.sh " ) , ' $SERVER_IP ' , ' $USERNAME ' , ' $PASSWORD ' , ' $SERVER ' , ' $SERVER ' , ' $DC_USERNAME ' , ' $DC_PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' member ' , ' auto ' , ' NT_STATUS_LOGON_FAILURE ' ] )
plantestsuite ( " samba4.blackbox.trust_ntlm " , " nt4_member:local " , [ os . path . join ( bbdir , " test_trust_ntlm.sh " ) , ' $SERVER_IP ' , ' $USERNAME ' , ' $PASSWORD ' , ' $SERVER ' , ' $SERVER ' , ' $DC_USERNAME ' , ' $DC_PASSWORD ' , ' $DOMAIN ' , ' $DOMAIN ' , ' member ' , ' auto ' , ' NT_STATUS_LOGON_FAILURE ' ] )
2016-02-15 10:22:58 +03:00
2015-05-11 14:35:17 +03:00
plantestsuite ( " samba4.blackbox.trust_utils(fl2008r2dc:local) " , " fl2008r2dc:local " , [ os . path . join ( bbdir , " test_trust_utils.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $TRUST_SERVER ' , ' $TRUST_USERNAME ' , ' $TRUST_PASSWORD ' , ' $TRUST_REALM ' , ' $TRUST_DOMAIN ' , ' $PREFIX ' , " forest " ] )
plantestsuite ( " samba4.blackbox.trust_utils(fl2003dc:local) " , " fl2003dc:local " , [ os . path . join ( bbdir , " test_trust_utils.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $TRUST_SERVER ' , ' $TRUST_USERNAME ' , ' $TRUST_PASSWORD ' , ' $TRUST_REALM ' , ' $TRUST_DOMAIN ' , ' $PREFIX ' , " external " ] )
2018-02-26 19:46:55 +03:00
plantestsuite ( " samba4.blackbox.trust_token " , " fl2008r2dc " , [ os . path . join ( bbdir , " test_trust_token.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $DOMSID ' , ' $TRUST_USERNAME ' , ' $TRUST_PASSWORD ' , ' $TRUST_REALM ' , ' $TRUST_DOMAIN ' , ' $TRUST_DOMSID ' , ' forest ' ] )
plantestsuite ( " samba4.blackbox.trust_token " , " fl2003dc " , [ os . path . join ( bbdir , " test_trust_token.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , ' $DOMSID ' , ' $TRUST_USERNAME ' , ' $TRUST_PASSWORD ' , ' $TRUST_REALM ' , ' $TRUST_DOMAIN ' , ' $TRUST_DOMSID ' , ' external ' ] )
2015-03-06 01:38:26 +03:00
plantestsuite ( " samba4.blackbox.ktpass(ad_dc_ntvfs) " , " ad_dc_ntvfs " , [ os . path . join ( bbdir , " test_ktpass.sh " ) , ' $PREFIX/ad_dc_ntvfs ' ] )
2016-09-06 09:55:43 +03:00
plantestsuite ( " samba4.blackbox.password_settings(ad_dc_ntvfs:local) " , " ad_dc_ntvfs:local " , [ os . path . join ( bbdir , " test_password_settings.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $REALM ' , ' $DOMAIN ' , " $PREFIX/ad_dc_ntvfs " ] )
2015-03-06 01:38:26 +03:00
plantestsuite ( " samba4.blackbox.cifsdd(ad_dc_ntvfs) " , " ad_dc_ntvfs " , [ os . path . join ( samba4srcdir , " client/tests/test_cifsdd.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , " $DOMAIN " ] )
plantestsuite ( " samba4.blackbox.nmblookup(ad_dc_ntvfs) " , " ad_dc_ntvfs " , [ os . path . join ( samba4srcdir , " utils/tests/test_nmblookup.sh " ) , ' $NETBIOSNAME ' , ' $NETBIOSALIAS ' , ' $SERVER ' , ' $SERVER_IP ' , nmblookup4 ] )
plantestsuite ( " samba4.blackbox.locktest(ad_dc_ntvfs) " , " ad_dc_ntvfs " , [ os . path . join ( samba4srcdir , " torture/tests/test_locktest.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $DOMAIN ' , ' $PREFIX ' ] )
plantestsuite ( " samba4.blackbox.masktest " , " ad_dc_ntvfs " , [ os . path . join ( samba4srcdir , " torture/tests/test_masktest.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $DOMAIN ' , ' $PREFIX ' ] )
plantestsuite ( " samba4.blackbox.gentest(ad_dc_ntvfs) " , " ad_dc_ntvfs " , [ os . path . join ( samba4srcdir , " torture/tests/test_gentest.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' , ' $DOMAIN ' , " $PREFIX " ] )
plantestsuite ( " samba4.blackbox.rfc2307_mapping(ad_dc_ntvfs:local) " , " ad_dc_ntvfs:local " , [ os . path . join ( samba4srcdir , " ../nsswitch/tests/test_rfc2307_mapping.sh " ) , ' $DOMAIN ' , ' $USERNAME ' , ' $PASSWORD ' , " $SERVER " , " $UID_RFC2307TEST " , " $GID_RFC2307TEST " , configuration ] )
2012-10-27 01:52:55 +04:00
plantestsuite ( " samba4.blackbox.chgdcpass " , " chgdcpass " , [ os . path . join ( bbdir , " test_chgdcpass.sh " ) , ' $SERVER ' , " CHGDCPASS \ $ " , ' $REALM ' , ' $DOMAIN ' , ' $PREFIX ' , " aes256-cts-hmac-sha1-96 " , ' $SELFTEST_PREFIX/chgdcpass ' , smbclient4 ] )
2012-12-28 03:06:39 +04:00
plantestsuite ( " samba4.blackbox.samba_upgradedns(chgdcpass:local) " , " chgdcpass:local " , [ os . path . join ( bbdir , " test_samba_upgradedns.sh " ) , ' $SERVER ' , ' $REALM ' , ' $PREFIX ' , ' $SELFTEST_PREFIX/chgdcpass ' ] )
2016-06-30 11:55:20 +03:00
plantestsuite ( " samba4.blackbox.net_ads(ad_dc:client) " , " ad_dc:client " , [ os . path . join ( bbdir , " test_net_ads.sh " ) , ' $DC_SERVER ' , ' $DC_USERNAME ' , ' $DC_PASSWORD ' , ' $PREFIX_ABS ' ] )
2016-07-05 06:07:04 +03:00
plantestsuite ( " samba4.blackbox.client_etypes_all(ad_dc:client) " , " ad_dc:client " , [ os . path . join ( bbdir , " test_client_etypes.sh " ) , ' $DC_SERVER ' , ' $DC_USERNAME ' , ' $DC_PASSWORD ' , ' $PREFIX_ABS ' , ' all ' , ' 17_18_23 ' ] )
plantestsuite ( " samba4.blackbox.client_etypes_legacy(ad_dc:client) " , " ad_dc:client " , [ os . path . join ( bbdir , " test_client_etypes.sh " ) , ' $DC_SERVER ' , ' $DC_USERNAME ' , ' $DC_PASSWORD ' , ' $PREFIX_ABS ' , ' legacy ' , ' 23 ' ] )
plantestsuite ( " samba4.blackbox.client_etypes_strong(ad_dc:client) " , " ad_dc:client " , [ os . path . join ( bbdir , " test_client_etypes.sh " ) , ' $DC_SERVER ' , ' $DC_USERNAME ' , ' $DC_PASSWORD ' , ' $PREFIX_ABS ' , ' strong ' , ' 17_18 ' ] )
2016-06-19 07:51:26 +03:00
plantestsuite ( " samba4.blackbox.net_ads_dns(ad_member:local) " , " ad_member:local " , [ os . path . join ( bbdir , " test_net_ads_dns.sh " ) , ' $DC_SERVER ' , ' $DC_USERNAME ' , ' $DC_PASSWORD ' , ' $REALM ' , ' $USERNAME ' , ' $PASSWORD ' ] )
2015-03-06 01:38:26 +03:00
plantestsuite_loadlist ( " samba4.rpc.echo against NetBIOS alias " , " ad_dc_ntvfs " , [ valgrindify ( smbtorture4 ) , " $LISTOPT " , " $LOADLIST " , ' ncacn_np:$NETBIOSALIAS ' , ' -U$DOMAIN/$USERNAME % $PASSWORD ' , ' rpc.echo ' ] )
2010-09-30 16:55:04 +04:00
# Tests using the "Simple" NTVFS backend
2010-12-11 05:26:31 +03:00
for t in [ " base.rw1 " ] :
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( t , " ad_dc_ntvfs " , [ " //$SERVER/simple " , ' -U$USERNAME % $PASSWORD ' ] , modname = " samba4.ntvfs.simple. %s " % t )
2010-09-30 16:55:04 +04:00
2011-04-18 12:57:22 +04:00
# Domain S4member Tests
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( ' rpc.echo ' , " s4member " , [ ' ncacn_np:$NETBIOSNAME ' , ' -U$NETBIOSNAME/$USERNAME % $PASSWORD ' ] , " samba4.rpc.echo against s4member server with local creds " )
plansmbtorture4testsuite ( ' rpc.echo ' , " s4member " , [ ' ncacn_np:$NETBIOSNAME ' , ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] , " samba4.rpc.echo against s4member server with domain creds " )
plansmbtorture4testsuite ( ' rpc.samr ' , " s4member " , [ ' ncacn_np:$NETBIOSNAME ' , ' -U$NETBIOSNAME/$USERNAME % $PASSWORD ' ] , " samba4.rpc.samr against s4member server with local creds " )
plansmbtorture4testsuite ( ' rpc.samr.users ' , " s4member " , [ ' ncacn_np:$NETBIOSNAME ' , ' -U$NETBIOSNAME/$USERNAME % $PASSWORD ' ] , " samba4.rpc.samr.users against s4member server with local creds " , )
plansmbtorture4testsuite ( ' rpc.samr.passwords ' , " s4member " , [ ' ncacn_np:$NETBIOSNAME ' , ' -U$NETBIOSNAME/$USERNAME % $PASSWORD ' ] , " samba4.rpc.samr.passwords against s4member server with local creds " )
2012-10-27 01:52:55 +04:00
plantestsuite ( " samba4.blackbox.smbclient against s4member server with local creds " , " s4member " , [ os . path . join ( samba4srcdir , " client/tests/test_smbclient.sh " ) , ' $NETBIOSNAME ' , ' $USERNAME ' , ' $PASSWORD ' , ' $NETBIOSNAME ' , ' $PREFIX ' , smbclient4 ] )
2010-09-30 16:55:04 +04:00
# RPC Proxy
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( " rpc.echo " , " rpc_proxy " , [ ' ncacn_ip_tcp:$NETBIOSNAME ' , ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] , modname = " samba4.rpc.echo against rpc proxy with domain creds " )
2010-09-30 16:55:04 +04:00
# Tests SMB signing
for mech in [
" -k no " ,
2017-12-07 15:00:10 +03:00
" -k no --option=clientusespnego=no " ,
2010-09-30 16:55:04 +04:00
" -k no --option=gensec:spengo=no " ,
" -k yes " ,
" -k yes --option=gensec:fake_gssapi_krb5=yes --option=gensec:gssapi_krb5=no " ] :
for signing in [ " --signing=on " , " --signing=required " ] :
signoptions = " %s %s " % ( mech , signing )
name = " smb.signing on with %s " % signoptions
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( ' base.xcopy ' , " ad_dc_ntvfs " , [ ' //$NETBIOSNAME/xcopy_share ' , signoptions , ' -U$USERNAME % $PASSWORD ' ] , modname = " samba4. %s " % name )
2010-09-30 16:55:04 +04:00
for mech in [
" -k no " ,
2017-12-07 15:00:10 +03:00
" -k no --option=clientusespnego=no " ,
2010-09-30 16:55:04 +04:00
" -k no --option=gensec:spengo=no " ,
2011-04-19 10:38:46 +04:00
" -k yes " ] :
2010-09-30 16:55:04 +04:00
signoptions = " %s --signing=off " % mech
2011-04-19 10:38:46 +04:00
name = " smb.signing disabled on with %s " % signoptions
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( ' base.xcopy ' , " s4member " , [ ' //$NETBIOSNAME/xcopy_share ' , signoptions , ' -U$DC_USERNAME % $DC_PASSWORD ' ] , " samba4. %s domain-creds " % name )
2015-03-06 01:46:14 +03:00
plansmbtorture4testsuite ( ' base.xcopy ' , " ad_member " , [ ' //$NETBIOSNAME/xcopy_share ' , signoptions , ' -U$DC_USERNAME % $DC_PASSWORD ' ] , " samba4. %s domain-creds " % name )
2015-03-05 20:08:43 +03:00
plansmbtorture4testsuite ( ' base.xcopy ' , " ad_dc " , [ ' //$NETBIOSNAME/xcopy_share ' , signoptions , ' -U$USERNAME % $PASSWORD ' ] , " samba4. %s " % name )
plansmbtorture4testsuite ( ' base.xcopy ' , " ad_dc " ,
2018-07-30 09:16:12 +03:00
[ ' //$NETBIOSNAME/xcopy_share ' , signoptions , ' -U$DC_USERNAME % $DC_PASSWORD ' ] , " samba4. %s administrator " % name )
2010-09-30 16:55:04 +04:00
2015-03-06 01:46:14 +03:00
plantestsuite ( " samba4.blackbox.bogusdomain " , " ad_member " , [ " testprogs/blackbox/bogus.sh " , " $NETBIOSNAME " , " xcopy_share " , ' $USERNAME ' , ' $PASSWORD ' , ' $DC_USERNAME ' , ' $DC_PASSWORD ' , smbclient4 ] )
2010-09-30 16:55:04 +04:00
for mech in [
" -k no " ,
2017-12-07 15:00:10 +03:00
" -k no --option=clientusespnego=no " ,
2010-09-30 16:55:04 +04:00
" -k no --option=gensec:spengo=no " ] :
signoptions = " %s --signing=off " % mech
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( ' base.xcopy ' , " s4member " , [ ' //$NETBIOSNAME/xcopy_share ' , signoptions , ' -U$NETBIOSNAME/$USERNAME % $PASSWORD ' ] , modname = " samba4.smb.signing on with %s local-creds " % signoptions )
2011-07-26 10:17:30 +04:00
2015-03-06 01:38:26 +03:00
plansmbtorture4testsuite ( ' base.xcopy ' , " ad_dc_ntvfs " , [ ' //$NETBIOSNAME/xcopy_share ' , ' -k ' , ' no ' , ' --signing=yes ' , ' -U % ' ] , modname = " samba4.smb.signing --signing=yes anon " )
plansmbtorture4testsuite ( ' base.xcopy ' , " ad_dc_ntvfs " , [ ' //$NETBIOSNAME/xcopy_share ' , ' -k ' , ' no ' , ' --signing=required ' , ' -U % ' ] , modname = " samba4.smb.signing --signing=required anon " )
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( ' base.xcopy ' , " s4member " , [ ' //$NETBIOSNAME/xcopy_share ' , ' -k ' , ' no ' , ' --signing=no ' , ' -U % ' ] , modname = " samba4.smb.signing --signing=no anon " )
2010-09-30 16:55:04 +04:00
2015-03-28 12:04:30 +03:00
wb_opts_default = [ " --option= \" torture:strict mode=no \" " , " --option= \" torture:timelimit=1 \" " , " --option= \" torture:winbindd_separator=/ \" " , " --option= \" torture:winbindd_netbios_name=$SERVER \" " , " --option= \" torture:winbindd_netbios_domain=$DOMAIN \" " ]
2010-09-30 16:55:04 +04:00
2014-05-19 09:32:56 +04:00
winbind_ad_client_tests = smbtorture4_testsuites ( " winbind.struct " ) + smbtorture4_testsuites ( " winbind.pac " )
winbind_wbclient_tests = smbtorture4_testsuites ( " winbind.wbclient " )
2016-06-14 11:25:21 +03:00
for env in [ " ad_dc " , " s4member " , " ad_member " , " nt4_member " ] :
2015-05-05 11:37:14 +03:00
wb_opts = wb_opts_default [ : ]
2015-03-28 11:31:05 +03:00
if env in [ " ad_member " ] :
wb_opts + = [ " --option= \" torture:winbindd_domain_without_prefix=$DOMAIN \" " ]
2014-05-19 09:32:56 +04:00
for t in winbind_ad_client_tests :
plansmbtorture4testsuite ( t , " %s :local " % env , wb_opts + [ ' //$SERVER/tmp ' , ' --realm=$REALM ' , ' --machine-pass ' , ' --option=torture:addc=$DC_SERVER ' ] )
2015-03-06 11:34:11 +03:00
for env in [ " nt4_dc " , " fl2003dc " ] :
2014-05-19 09:32:56 +04:00
for t in winbind_wbclient_tests :
plansmbtorture4testsuite ( t , " %s :local " % env , ' //$SERVER/tmp -U$DC_USERNAME % $DC_PASSWORD ' )
2017-03-24 02:12:43 +03:00
for env in [ " nt4_dc " , " nt4_member " , " ad_dc " , " ad_member " , " s4member " , " chgdcpass " , " rodc " ] :
2014-05-19 09:32:56 +04:00
tests = [ " --ping " , " --separator " ,
" --own-domain " ,
" --all-domains " ,
" --trusted-domains " ,
" --domain-info=BUILTIN " ,
" --domain-info=$DOMAIN " ,
" --online-status " ,
" --online-status --domain=BUILTIN " ,
" --online-status --domain=$DOMAIN " ,
" --check-secret --domain=$DOMAIN " ,
" --change-secret --domain=$DOMAIN " ,
" --check-secret --domain=$DOMAIN " ,
" --online-status --domain=$DOMAIN " ,
2014-05-20 01:23:33 +04:00
" --domain-users " ,
2014-05-19 09:32:56 +04:00
" --domain-groups " ,
" --name-to-sid=$DC_USERNAME " ,
" --name-to-sid=$DOMAIN/$DC_USERNAME " ,
2014-06-30 06:58:21 +04:00
" --user-info=$DOMAIN/$DC_USERNAME " ,
2014-05-19 09:32:56 +04:00
" --user-groups=$DOMAIN/$DC_USERNAME " ,
" --authenticate=$DOMAIN/$DC_USERNAME % $DC_PASSWORD " ,
" --allocate-uid " ,
" --allocate-gid " ]
for t in tests :
2018-03-02 13:01:33 +03:00
plantestsuite ( " samba.wbinfo_simple. %s " % ( t . replace ( " -- " , " . " ) . replace ( " -- " , " " ) ) , " %s :local " % env , [ os . path . join ( srcdir ( ) , " nsswitch/tests/test_wbinfo_simple.sh " ) , t ] )
2014-05-19 09:32:56 +04:00
plantestsuite (
" samba.wbinfo_sids2xids.( %s :local) " % env , " %s :local " % env ,
[ os . path . join ( samba3srcdir , " script/tests/test_wbinfo_sids2xids.sh " ) ] )
plantestsuite (
" samba.ntlm_auth.diagnostics( %s :local) " % env , " %s :local " % env ,
[ os . path . join ( samba3srcdir , " script/tests/test_ntlm_auth_diagnostics.sh " ) , ntlm_auth3 , ' $DOMAIN ' , ' $DC_USERNAME ' , ' $DC_PASSWORD ' , configuration ] )
2018-07-30 09:19:11 +03:00
plantestsuite ( " samba.ntlm_auth.( %s :local) " % env , " %s :local " % env , [ os . path . join ( samba3srcdir , " script/tests/test_ntlm_auth_s3.sh " ) , valgrindify ( python ) , samba3srcdir , ntlm_auth3 , ' $DOMAIN ' , ' $DC_USERNAME ' , ' $DC_PASSWORD ' , configuration ] )
2010-09-30 16:55:04 +04:00
2016-09-29 18:50:58 +03:00
for env in [ " s4member_dflt_domain " , " s4member " ] :
for cmd in [ " id " , " getent " ] :
users = [ " $DC_USERNAME " , " $DC_USERNAME@$REALM " ]
if env == " s4member " :
users = [ " $DOMAIN/$DC_USERNAME " , " $DC_USERNAME@$REALM " ]
for usr in users :
2018-07-30 09:19:05 +03:00
plantestsuite ( " samba4.winbind.dom_name_parse.cmd " , env , " %s /dom_parse.sh %s %s " % ( bbdir , cmd , usr ) )
2010-09-30 16:55:04 +04:00
nsstest4 = binpath ( " nsstest " )
2016-06-14 11:25:21 +03:00
for env in [ " ad_dc:local " , " s4member:local " , " nt4_dc:local " , " ad_member:local " , " nt4_member:local " ] :
2012-02-16 08:10:00 +04:00
if os . path . exists ( nsstest4 ) :
2014-12-18 22:13:44 +03:00
plantestsuite ( " samba.nss.test using winbind( %s ) " % env , env , [ os . path . join ( bbdir , " nsstest.sh " ) , nsstest4 , os . path . join ( samba4bindir , " shared/libnss_wrapper_winbind.so.2 " ) ] )
2012-02-16 08:10:00 +04:00
else :
2014-05-19 09:32:56 +04:00
skiptestsuite ( " samba.nss.test using winbind( %s ) " % env , " nsstest not available " )
2010-09-30 16:55:04 +04:00
subunitrun = valgrindify ( python ) + " " + os . path . join ( samba4srcdir , " scripting/bin/subunitrun " )
2017-01-17 13:05:44 +03:00
if extra_python is not None :
subunitrun3 = valgrindify ( extra_python ) + " " + os . path . join ( samba4srcdir , " scripting/bin/subunitrun " )
def planoldpythontestsuite ( env , module , name = None , extra_path = [ ] , environ = { } , extra_args = [ ] , py3_compatible = False ) :
2010-12-09 18:28:31 +03:00
environ = dict ( environ )
2011-11-10 23:39:34 +04:00
py_path = list ( extra_path )
if py_path :
environ [ " PYTHONPATH " ] = " : " . join ( [ " $PYTHONPATH " ] + py_path )
2018-04-11 01:32:06 +03:00
args = [ " %s = %s " % item for item in environ . items ( ) ]
2014-11-02 02:36:54 +03:00
args + = [ subunitrun , " $LISTOPT " , " $LOADLIST " , module ]
2010-12-09 18:28:31 +03:00
args + = extra_args
2011-11-10 23:39:34 +04:00
if name is None :
name = module
2014-11-02 01:13:18 +03:00
plantestsuite_loadlist ( name , env , args )
2017-01-17 13:05:44 +03:00
if py3_compatible and extra_python is not None :
2018-02-13 18:35:12 +03:00
args [ args . index ( subunitrun ) ] = subunitrun3
2017-01-17 13:05:44 +03:00
plantestsuite_loadlist ( name , env , args )
2010-12-09 18:28:31 +03:00
2017-01-17 13:05:44 +03:00
planoldpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.gensec " , extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] , py3_compatible = True )
2011-11-10 23:39:34 +04:00
planoldpythontestsuite ( " none " , " simple " , extra_path = [ " %s /lib/tdb/python/tests " % srcdir ( ) ] , name = " tdb.python " )
2018-04-10 07:27:47 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.dcerpc.sam " , py3_compatible = True )
2018-01-30 20:55:12 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.dsdb " , py3_compatible = True )
2017-12-06 04:31:54 +03:00
planpythontestsuite ( " none " , " samba.tests.dsdb_lock " )
2018-04-11 02:39:56 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.dcerpc.bare " , py3_compatible = True )
2015-03-06 01:38:26 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.dcerpc.unix " )
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.dcerpc.srvsvc " )
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.samba_tool.timecmd " )
2016-05-31 05:54:45 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.samba_tool.join " )
2012-11-05 05:57:17 +04:00
2017-08-10 02:57:24 +03:00
planpythontestsuite ( " none " , " samba.tests.samba_tool.visualize " )
2016-03-31 14:07:00 +03:00
# test fsmo show
for env in [ " ad_dc_ntvfs " , " fl2000dc " , " fl2003dc " , " fl2008r2dc " ] :
planpythontestsuite ( env + " :local " , " samba.tests.samba_tool.fsmo " )
2017-07-04 17:07:53 +03:00
# test user.edit
for env in [ " ad_dc:local " , " ad_dc_ntvfs:local " , " fl2000dc:local " , " fl2003dc:local " , " fl2008r2dc:local " ] :
plantestsuite ( " samba.tests.samba_tool.edit " , env , [ os . path . join ( srcdir ( ) , " python/samba/tests/samba_tool/edit.sh " ) , ' $SERVER ' , ' $USERNAME ' , ' $PASSWORD ' ] )
2012-11-05 05:57:17 +04:00
# We run this test against both AD DC implemetnations because it is
# the only test we have of GPO get/set behaviour, and this involves
# the file server as well as the LDAP server.
2015-03-06 01:38:26 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.samba_tool.gpo " )
2015-03-05 20:08:43 +03:00
planpythontestsuite ( " ad_dc:local " , " samba.tests.samba_tool.gpo " )
2012-11-05 05:57:17 +04:00
2015-03-06 01:38:26 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.samba_tool.processes " )
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.samba_tool.user " )
2017-05-08 01:00:09 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.samba_tool.user_wdigest " )
2016-02-16 12:04:40 +03:00
planpythontestsuite ( " ad_dc:local " , " samba.tests.samba_tool.user " )
2017-05-09 02:15:19 +03:00
planpythontestsuite ( " ad_dc:local " , " samba.tests.samba_tool.user_virtualCryptSHA " )
2016-06-13 06:42:46 +03:00
planpythontestsuite ( " chgdcpass:local " , " samba.tests.samba_tool.user_check_password_script " )
2015-03-06 01:38:26 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.samba_tool.group " )
2017-11-29 18:51:21 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.samba_tool.ou " )
2018-02-07 00:11:12 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.samba_tool.computer " )
2018-04-25 10:36:17 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.samba_tool.forest " )
2018-04-28 08:22:29 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.samba_tool.schema " )
2015-03-05 20:08:43 +03:00
planpythontestsuite ( " ad_dc:local " , " samba.tests.samba_tool.ntacl " )
2017-11-28 05:45:30 +03:00
planpythontestsuite ( " none " , " samba.tests.samba_tool.provision_password_check " )
2017-12-18 06:54:07 +03:00
planpythontestsuite ( " none " , " samba.tests.samba_tool.help " )
2018-05-10 07:22:06 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.samba_tool.passwordsettings " )
2011-11-02 18:02:47 +04:00
2018-03-05 07:08:51 +03:00
# Run these against chgdcpass to share the runtime load
planpythontestsuite ( " chgdcpass:local " , " samba.tests.samba_tool.sites " )
planpythontestsuite ( " chgdcpass:local " , " samba.tests.samba_tool.dnscmd " )
2015-09-17 09:16:49 +03:00
2018-04-11 07:38:03 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.dcerpc.rpcecho " , py3_compatible = True )
2018-02-15 23:43:53 +03:00
2018-02-15 23:46:53 +03:00
planoldpythontestsuite ( " nt4_dc " , " samba.tests.netbios " , extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] , py3_compatible = True )
2018-06-13 23:42:43 +03:00
planoldpythontestsuite ( " ad_dc:local " , " samba.tests.gpo " , extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2018-02-16 20:00:19 +03:00
planoldpythontestsuite ( " ad_dc:local " , " samba.tests.dckeytab " , extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] , py3_compatible = True )
2018-02-09 18:42:18 +03:00
planoldpythontestsuite ( " ad_dc:local " , " samba.tests.smb " , extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] , py3_compatible = True )
2018-02-15 23:43:53 +03:00
2018-04-11 07:42:54 +03:00
planoldpythontestsuite (
" ad_dc_ntvfs:local " , " samba.tests.dcerpc.registry " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] , py3_compatible = True )
2018-06-28 01:47:42 +03:00
planoldpythontestsuite (
" ad_dc:local " , " samba.tests.ntacls_backup " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] , py3_compatible = True )
2015-03-06 01:38:26 +03:00
planoldpythontestsuite ( " ad_dc_ntvfs " , " samba.tests.dcerpc.dnsserver " , extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2017-04-28 01:16:39 +03:00
planoldpythontestsuite ( " ad_dc " , " samba.tests.dcerpc.dnsserver " , extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2018-03-22 06:25:59 +03:00
planoldpythontestsuite ( " chgdcpass " , " samba.tests.dcerpc.raw_protocol " , extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2018-02-12 01:03:25 +03:00
if have_heimdal_support :
2017-03-14 06:43:06 +03:00
planoldpythontestsuite ( " ad_dc:local " , " samba.tests.auth_log " , extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] ,
environ = { ' CLIENT_IP ' : ' 127.0.0.11 ' ,
' SOCKET_WRAPPER_DEFAULT_IFACE ' : 11 } )
planoldpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.auth_log " , extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] ,
environ = { ' CLIENT_IP ' : ' 127.0.0.11 ' ,
' SOCKET_WRAPPER_DEFAULT_IFACE ' : 11 } )
2017-03-20 23:59:45 +03:00
planoldpythontestsuite ( " ad_dc:local " , " samba.tests.auth_log_pass_change " , extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] ,
environ = { ' CLIENT_IP ' : ' 127.0.0.11 ' ,
' SOCKET_WRAPPER_DEFAULT_IFACE ' : 11 } )
planoldpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.auth_log_pass_change " , extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] ,
environ = { ' CLIENT_IP ' : ' 127.0.0.11 ' ,
' SOCKET_WRAPPER_DEFAULT_IFACE ' : 11 } )
2017-03-14 06:43:06 +03:00
planoldpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.auth_log_ncalrpc " , extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
planoldpythontestsuite ( " ad_dc:local " , " samba.tests.auth_log_ncalrpc " , extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2017-04-28 01:16:39 +03:00
planoldpythontestsuite ( " ad_dc:local " , " samba.tests.auth_log_samlogon " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] ,
environ = { ' CLIENT_IP ' : ' 127.0.0.11 ' ,
' SOCKET_WRAPPER_DEFAULT_IFACE ' : 11 } )
planoldpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.auth_log_samlogon " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] ,
environ = { ' CLIENT_IP ' : ' 127.0.0.11 ' ,
' SOCKET_WRAPPER_DEFAULT_IFACE ' : 11 } )
2017-07-09 22:46:26 +03:00
planoldpythontestsuite ( " ad_dc:local " , " samba.tests.auth_log_netlogon " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] ,
environ = { ' CLIENT_IP ' : ' 127.0.0.11 ' ,
' SOCKET_WRAPPER_DEFAULT_IFACE ' : 11 } )
planoldpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.auth_log_netlogon " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] ,
environ = { ' CLIENT_IP ' : ' 127.0.0.11 ' ,
' SOCKET_WRAPPER_DEFAULT_IFACE ' : 11 } )
planoldpythontestsuite ( " ad_dc:local " ,
" samba.tests.auth_log_netlogon_bad_creds " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] ,
environ = { ' CLIENT_IP ' : ' 127.0.0.11 ' ,
' SOCKET_WRAPPER_DEFAULT_IFACE ' : 11 } )
planoldpythontestsuite ( " ad_dc_ntvfs:local " ,
" samba.tests.auth_log_netlogon_bad_creds " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] ,
environ = { ' CLIENT_IP ' : ' 127.0.0.11 ' ,
' SOCKET_WRAPPER_DEFAULT_IFACE ' : 11 } )
2018-04-04 02:59:41 +03:00
planoldpythontestsuite ( " ad_dc:local " , " samba.tests.audit_log_pass_change " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] ,
environ = { ' CLIENT_IP ' : ' 127.0.0.11 ' ,
' SOCKET_WRAPPER_DEFAULT_IFACE ' : 11 } )
planoldpythontestsuite ( " ad_dc:local " , " samba.tests.audit_log_dsdb " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] ,
environ = { ' CLIENT_IP ' : ' 127.0.0.11 ' ,
' SOCKET_WRAPPER_DEFAULT_IFACE ' : 11 } )
2018-04-16 05:03:14 +03:00
planoldpythontestsuite ( " ad_dc:local " , " samba.tests.group_audit " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] ,
environ = { ' CLIENT_IP ' : ' 127.0.0.11 ' ,
' SOCKET_WRAPPER_DEFAULT_IFACE ' : 11 } )
2018-03-28 07:16:25 +03:00
planoldpythontestsuite ( " fl2008r2dc:local " ,
" samba.tests.getdcname " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2017-05-23 04:03:03 +03:00
planoldpythontestsuite ( " ad_dc " ,
2017-04-27 03:02:29 +03:00
" samba.tests.net_join_no_spnego " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2017-05-23 04:03:03 +03:00
planoldpythontestsuite ( " ad_dc " ,
" samba.tests.net_join " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2017-03-31 05:50:31 +03:00
# Need to test the password hashing in multiple environments to ensure that
# all the possible options are covered
#
# ad_dc:local functional_level >= 2008, gpg keys available
planoldpythontestsuite ( " ad_dc:local " ,
" samba.tests.password_hash_gpgme " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
# ad_dc_ntvfs:local functional level >= 2008, gpg keys not available
planoldpythontestsuite ( " ad_dc_ntvfs:local " ,
" samba.tests.password_hash_fl2008 " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
# fl2003dc:local functional level < 2008, gpg keys not available
planoldpythontestsuite ( " fl2003dc:local " ,
" samba.tests.password_hash_fl2003 " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2017-05-22 00:49:17 +03:00
# ad_dc: wDigest values over ldap
planoldpythontestsuite ( " ad_dc " ,
" samba.tests.password_hash_ldap " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2018-06-11 10:13:35 +03:00
planoldpythontestsuite ( " ad_dc:local " ,
" samba.tests.domain_backup " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2018-05-01 02:10:31 +03:00
planoldpythontestsuite ( " none " ,
" samba.tests.domain_backup_offline " )
2017-12-14 21:17:54 +03:00
# Encrypted secrets
# ensure default provision (ad_dc) and join (vampire_dc)
# encrypt secret values on disk.
planoldpythontestsuite ( " ad_dc:local " ,
" samba.tests.encrypted_secrets " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
planoldpythontestsuite ( " vampire_dc:local " ,
" samba.tests.encrypted_secrets " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
# The fl2000dc environment is provisioned with the --plaintext_secrets option
# so this test will fail, which proves the secrets are not being encrypted.
# There is an entry in known_fail.d.
planoldpythontestsuite ( " fl2000dc:local " ,
" samba.tests.encrypted_secrets " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2017-04-28 01:16:39 +03:00
2018-04-11 08:17:48 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " ,
" samba.tests.lsa_string " ,
py3_compatible = True )
2017-07-06 05:48:39 +03:00
planoldpythontestsuite ( " ad_dc_ntvfs " ,
" samba.tests.krb5_credentials " ,
2018-04-11 08:44:26 +03:00
py3_compatible = True ,
2017-07-06 05:48:39 +03:00
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2018-04-11 08:44:26 +03:00
2017-07-04 01:31:40 +03:00
for env in [ " ad_dc_ntvfs " , " vampire_dc " , " promoted_dc " ] :
planoldpythontestsuite ( env ,
" samba.tests.py_credentials " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2017-06-29 02:08:37 +03:00
planoldpythontestsuite ( " ad_dc_ntvfs " ,
" samba.tests.emulate.traffic " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
planoldpythontestsuite ( " ad_dc_ntvfs " ,
" samba.tests.emulate.traffic_packet " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
planoldpythontestsuite ( " ad_dc_ntvfs " ,
" samba.tests.blackbox.traffic_replay " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
planoldpythontestsuite ( " ad_dc_ntvfs " ,
" samba.tests.blackbox.traffic_learner " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2017-08-07 01:08:28 +03:00
planoldpythontestsuite ( " ad_dc_ntvfs " ,
" samba.tests.blackbox.traffic_summary " ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] )
2018-06-27 01:39:23 +03:00
planoldpythontestsuite ( " none " , " samba.tests.loadparm " )
2017-09-13 02:21:02 +03:00
#
# Want a selection of environments across the process models
#
for env in [ " ad_dc_ntvfs:local " , " ad_dc:local " ,
2018-01-03 06:59:24 +03:00
" fl2003dc:local " , " fl2008r2dc:local " ,
2017-09-13 02:21:02 +03:00
" promoted_dc:local " ] :
planoldpythontestsuite ( env , " samba.tests.blackbox.smbcontrol " )
2017-06-14 22:57:23 +03:00
2015-03-06 01:38:26 +03:00
plantestsuite_loadlist ( " samba4.ldap.python(ad_dc_ntvfs) " , " ad_dc_ntvfs " , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/ldap.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2017-03-06 02:11:18 +03:00
plantestsuite_loadlist ( " samba4.tokengroups.krb5.python(ad_dc_ntvfs) " , " ad_dc_ntvfs:local " , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/token_group.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' -k ' , ' yes ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
plantestsuite_loadlist ( " samba4.tokengroups.ntlm.python(ad_dc_ntvfs) " , " ad_dc_ntvfs:local " , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/token_group.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' -k ' , ' no ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2017-03-02 19:34:22 +03:00
plantestsuite ( " samba4.sam.python(fl2008r2dc) " , " fl2008r2dc " , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/sam.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' ] )
2015-03-06 01:38:26 +03:00
plantestsuite ( " samba4.sam.python(ad_dc_ntvfs) " , " ad_dc_ntvfs " , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/sam.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' ] )
plantestsuite ( " samba4.user_account_control.python(ad_dc_ntvfs) " , " ad_dc_ntvfs " , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/user_account_control.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' ] )
planoldpythontestsuite ( " ad_dc_ntvfs " , " dsdb_schema_info " ,
2018-07-30 09:16:12 +03:00
extra_path = [ os . path . join ( samba4srcdir , ' dsdb/tests/python ' ) ] ,
name = " samba4.schemaInfo.python(ad_dc_ntvfs) " ,
extra_args = [ ' -U " $DOMAIN/$DC_USERNAME % $DC_PASSWORD " ' ] )
2017-06-07 02:47:15 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.dsdb_schema_attributes " )
2015-03-06 01:38:26 +03:00
plantestsuite_loadlist ( " samba4.urgent_replication.python(ad_dc_ntvfs) " , " ad_dc_ntvfs:local " , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/urgent_replication.py " ) , ' $PREFIX_ABS/ad_dc_ntvfs/private/sam.ldb ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
plantestsuite_loadlist ( " samba4.ldap.dirsync.python(ad_dc_ntvfs) " , " ad_dc_ntvfs " , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/dirsync.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2017-03-08 05:16:49 +03:00
plantestsuite_loadlist ( " samba4.ldap.match_rules.python " , " ad_dc_ntvfs " , [ python , os . path . join ( srcdir ( ) , " lib/ldb-samba/tests/match_rules.py " ) , ' $PREFIX_ABS/ad_dc_ntvfs/private/sam.ldb ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2016-02-01 14:27:18 +03:00
plantestsuite_loadlist ( " samba4.ldap.notification.python(ad_dc_ntvfs) " , " ad_dc_ntvfs " , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/notification.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2015-03-06 01:38:26 +03:00
plantestsuite_loadlist ( " samba4.ldap.sites.python(ad_dc_ntvfs) " , " ad_dc_ntvfs " , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/sites.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2016-03-09 01:25:36 +03:00
plantestsuite_loadlist ( " samba4.ldap.sort.python(ad_dc_ntvfs) " , " ad_dc_ntvfs " , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/sort.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2016-03-08 04:28:33 +03:00
plantestsuite_loadlist ( " samba4.ldap.vlv.python(ad_dc_ntvfs) " , " ad_dc_ntvfs " , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/vlv.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2016-06-30 07:35:08 +03:00
plantestsuite_loadlist ( " samba4.ldap.linked_attributes.python(ad_dc_ntvfs) " , " ad_dc_ntvfs:local " , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/linked_attributes.py " ) , ' $PREFIX_ABS/ad_dc_ntvfs/private/sam.ldb ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2016-03-09 01:25:36 +03:00
2018-06-21 06:04:00 +03:00
# These should be the first tests run against testenvs created by backup/restore
2018-07-23 06:20:03 +03:00
for env in [ ' offlinebackupdc ' , ' restoredc ' , ' renamedc ' , ' labdc ' ] :
2018-06-21 06:04:00 +03:00
# check that a restored DC matches the original DC (backupfromdc)
plantestsuite ( " samba4.blackbox.ldapcmp_restore " , env ,
2018-07-30 09:16:12 +03:00
[ " PYTHON= %s " % python ,
os . path . join ( bbdir , " ldapcmp_restoredc.sh " ) ,
' $PREFIX_ABS/backupfromdc ' , ' $PREFIX_ABS/ %s ' % env ] )
2018-06-21 06:04:00 +03:00
# basic test that we can join the testenv DC
plantestsuite ( " samba4.blackbox.join_ldapcmp " , env ,
2018-07-30 09:16:12 +03:00
[ " PYTHON= %s " % python , os . path . join ( bbdir , " join_ldapcmp.sh " ) ] )
2018-06-21 06:04:00 +03:00
2017-03-14 00:36:13 +03:00
plantestsuite_loadlist ( " samba4.ldap.rodc.python(rodc) " , " rodc " ,
[ python ,
os . path . join ( samba4srcdir , " dsdb/tests/python/rodc.py " ) ,
' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' ,
' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2017-04-10 01:16:57 +03:00
plantestsuite_loadlist ( " samba4.ldap.rodc_rwdc.python(rodc) " , " rodc:local " ,
[ python ,
os . path . join ( samba4srcdir ,
" dsdb/tests/python/rodc_rwdc.py " ) ,
' $SERVER ' , ' $DC_SERVER ' , ' -U " $USERNAME % $PASSWORD " ' ,
' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2018-02-14 03:30:26 +03:00
planoldpythontestsuite ( " rodc:local " , " replica_sync_rodc " ,
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
2018-07-30 09:13:51 +03:00
name = " samba4.drs.replica_sync_rodc.python(rodc) " ,
environ = { ' DC1 ' : ' $DC_SERVER ' , ' DC2 ' : ' $RODC_DC_SERVER ' } ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
2018-03-12 05:22:24 +03:00
planoldpythontestsuite ( " ad_dc_ntvfs " , " password_settings " ,
extra_path = [ os . path . join ( samba4srcdir , ' dsdb/tests/python ' ) ] ,
name = " samba4.ldap.password_settings.python " ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
2018-02-14 03:30:26 +03:00
2015-03-06 01:38:26 +03:00
for env in [ " ad_dc_ntvfs " , " fl2000dc " , " fl2003dc " , " fl2008r2dc " ] :
2014-11-02 19:23:36 +03:00
plantestsuite_loadlist ( " samba4.ldap_schema.python( %s ) " % env , env , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/ldap_schema.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2011-11-28 00:05:09 +04:00
plantestsuite ( " samba4.ldap.possibleInferiors.python( %s ) " % env , env , [ python , os . path . join ( samba4srcdir , " dsdb/samdb/ldb_modules/tests/possibleinferiors.py " ) , " ldap://$SERVER " , ' -U " $USERNAME % $PASSWORD " ' , " -W$DOMAIN " ] )
2014-11-02 19:57:37 +03:00
plantestsuite_loadlist ( " samba4.ldap.secdesc.python( %s ) " % env , env , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/sec_descriptor.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2014-11-02 20:44:05 +03:00
plantestsuite_loadlist ( " samba4.ldap.acl.python( %s ) " % env , env , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/acl.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2010-11-11 12:01:26 +03:00
if env != " fl2000dc " :
2011-11-10 23:39:34 +04:00
# This test makes excessive use of the "userPassword" attribute which
2010-11-11 12:01:26 +03:00
# isn't available on DCs with Windows 2000 domain function level -
# therefore skip it in that configuration
2014-11-02 20:13:06 +03:00
plantestsuite_loadlist ( " samba4.ldap.passwords.python( %s ) " % env , env , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/passwords.py " ) , " $SERVER " , ' -U " $USERNAME % $PASSWORD " ' , " -W$DOMAIN " , ' $LOADLIST ' , ' $LISTOPT ' ] )
2016-02-04 19:44:05 +03:00
2018-07-09 06:57:59 +03:00
env = " ad_dc_ntvfs "
plantestsuite_loadlist ( " samba4.ldap.confidential_attr.python( %s ) " % env , env , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/confidential_attr.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2016-02-04 19:44:05 +03:00
for env in [ " ad_dc_ntvfs " ] :
# This test takes a lot of time, so we run it against a minimum of
# environments, please only add new ones if there's really a
# difference we need to test
plantestsuite_loadlist ( " samba4.ldap.password_lockout.python( %s ) " % env , env , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/password_lockout.py " ) , " $SERVER " , ' -U " $USERNAME % $PASSWORD " ' , " -W$DOMAIN " , " --realm=$REALM " , ' $LOADLIST ' , ' $LISTOPT ' ] )
2016-03-21 07:05:19 +03:00
planoldpythontestsuite ( env , " tombstone_reanimation " ,
name = " samba4.tombstone_reanimation.python " ,
environ = { ' TEST_SERVER ' : ' $SERVER ' , ' TEST_USERNAME ' : ' $USERNAME ' , ' TEST_PASSWORD ' : ' $PASSWORD ' } ,
extra_path = [ os . path . join ( samba4srcdir , ' dsdb/tests/python ' ) ]
)
2012-06-16 05:56:53 +04:00
2018-06-21 06:04:00 +03:00
# this is a basic sanity-check of Kerberos/NTLM user login
2018-07-23 06:20:03 +03:00
for env in [ " offlinebackupdc " , " restoredc " , " renamedc " , " labdc " ] :
2018-06-21 06:04:00 +03:00
plantestsuite_loadlist ( " samba4.ldap.login_basics.python( %s ) " % env , env ,
2018-07-30 09:16:12 +03:00
[ python , os . path . join ( samba4srcdir , " dsdb/tests/python/login_basics.py " ) ,
" $SERVER " , ' -U " $USERNAME % $PASSWORD " ' , " -W$DOMAIN " , " --realm=$REALM " ,
' $LOADLIST ' , ' $LISTOPT ' ] )
2018-06-21 06:04:00 +03:00
2015-03-06 01:38:26 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.upgradeprovisionneeddc " )
2018-03-06 18:03:57 +03:00
planpythontestsuite ( " ad_dc:local " , " samba.tests.posixacl " , py3_compatible = True )
planpythontestsuite ( " ad_dc_no_nss:local " , " samba.tests.posixacl " , py3_compatible = True )
2015-03-06 01:38:26 +03:00
plantestsuite_loadlist ( " samba4.deletetest.python(ad_dc_ntvfs) " , " ad_dc_ntvfs " , [ python , os . path . join ( samba4srcdir , " dsdb/tests/python/deletetest.py " ) ,
2018-07-30 09:16:12 +03:00
' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' --workgroup=$DOMAIN ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2014-12-14 23:27:42 +03:00
plantestsuite ( " samba4.blackbox.samba3dump " , " none " , [ os . path . join ( samba4srcdir , " selftest/test_samba3dump.sh " ) ] )
2011-08-12 11:47:49 +04:00
plantestsuite ( " samba4.blackbox.upgrade " , " none " , [ " PYTHON= %s " % python , os . path . join ( samba4srcdir , " setup/tests/blackbox_s3upgrade.sh " ) , ' $PREFIX/provision ' ] )
2010-09-30 20:23:20 +04:00
plantestsuite ( " samba4.blackbox.provision.py " , " none " , [ " PYTHON= %s " % python , os . path . join ( samba4srcdir , " setup/tests/blackbox_provision.sh " ) , ' $PREFIX/provision ' ] )
2017-01-12 06:51:45 +03:00
plantestsuite ( " samba4.blackbox.supported_features " , " none " ,
[ " PYTHON= %s " % python ,
os . path . join ( samba4srcdir ,
" setup/tests/blackbox_supported_features.sh " ) ,
' $PREFIX/provision ' ] )
2018-06-27 05:06:54 +03:00
plantestsuite ( " samba4.blackbox.start_backup " , " none " ,
[ " PYTHON= %s " % python ,
os . path . join ( samba4srcdir ,
" setup/tests/blackbox_start_backup.sh " ) ,
' $PREFIX/provision ' ] )
2013-02-16 06:12:53 +04:00
plantestsuite ( " samba4.blackbox.upgradeprovision.current " , " none " , [ " PYTHON= %s " % python , os . path . join ( samba4srcdir , " setup/tests/blackbox_upgradeprovision.sh " ) , ' $PREFIX/provision ' ] )
2010-09-30 20:23:20 +04:00
plantestsuite ( " samba4.blackbox.setpassword.py " , " none " , [ " PYTHON= %s " % python , os . path . join ( samba4srcdir , " setup/tests/blackbox_setpassword.sh " ) , ' $PREFIX/provision ' ] )
plantestsuite ( " samba4.blackbox.newuser.py " , " none " , [ " PYTHON= %s " % python , os . path . join ( samba4srcdir , " setup/tests/blackbox_newuser.sh " ) , ' $PREFIX/provision ' ] )
plantestsuite ( " samba4.blackbox.group.py " , " none " , [ " PYTHON= %s " % python , os . path . join ( samba4srcdir , " setup/tests/blackbox_group.sh " ) , ' $PREFIX/provision ' ] )
2015-03-06 01:38:26 +03:00
plantestsuite ( " samba4.blackbox.spn.py(ad_dc_ntvfs:local) " , " ad_dc_ntvfs:local " , [ " PYTHON= %s " % python , os . path . join ( samba4srcdir , " setup/tests/blackbox_spn.sh " ) , ' $PREFIX/ad_dc_ntvfs ' ] )
2016-03-26 20:07:02 +03:00
plantestsuite_loadlist ( " samba4.ldap.bind(fl2008r2dc) " , " fl2008r2dc " , [ python , os . path . join ( srcdir ( ) , " auth/credentials/tests/bind.py " ) , ' $SERVER ' , ' -U " $USERNAME % $PASSWORD " ' , ' $LOADLIST ' , ' $LISTOPT ' ] )
2010-09-30 16:55:04 +04:00
# This makes sure we test the rid allocation code
2010-12-11 05:26:31 +03:00
t = " rpc.samr.large-dc "
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( t , " vampire_dc " , [ ' $SERVER ' , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , modname = ( " samba4. %s .one " % t ) )
plansmbtorture4testsuite ( t , " vampire_dc " , [ ' $SERVER ' , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , modname = " samba4. %s .two " % t )
2010-09-30 16:55:04 +04:00
2018-06-21 06:04:00 +03:00
# RPC smoke-tests for testenvs of interest (RODC, etc)
2018-07-23 06:20:03 +03:00
for env in [ ' rodc ' , ' offlinebackupdc ' , ' restoredc ' , ' renamedc ' , ' labdc ' ] :
2012-10-26 23:51:19 +04:00
plansmbtorture4testsuite ( ' rpc.echo ' , env , [ ' ncacn_np:$SERVER ' , " -k " , " yes " , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' ] , modname = " samba4.rpc.echo " )
plansmbtorture4testsuite ( ' rpc.echo ' , " %s :local " % env , [ ' ncacn_np:$SERVER ' , " -k " , " yes " , ' -P ' , ' --workgroup=$DOMAIN ' ] , modname = " samba4.rpc.echo " )
2017-03-24 02:12:43 +03:00
plansmbtorture4testsuite ( ' rpc.echo ' , " %s :local " % env , [ ' ncacn_np:$SERVER ' , " -k " , " no " , ' -Utestallowed \ account % $DC_PASSWORD ' , ' --workgroup=$DOMAIN ' ] , modname = " samba4.rpc.echo.testallowed " )
plansmbtorture4testsuite ( ' rpc.echo ' , " %s :local " % env , [ ' ncacn_np:$SERVER ' , " -k " , " no " , ' -Utestdenied % $DC_PASSWORD ' , ' --workgroup=$DOMAIN ' ] , modname = " samba4.rpc.echo.testdenied " )
2017-03-15 06:40:16 +03:00
plantestsuite ( " samba4.blackbox.smbclient( %s :local) " % env , " %s :local " % env , [ os . path . join ( samba4srcdir , " utils/tests/test_smbclient.sh " ) , ' $SERVER ' , ' $SERVER_IP ' , ' $USERNAME ' , ' $PASSWORD ' , ' $DOMAIN ' , smbclient4 ] )
2016-02-24 06:39:38 +03:00
planpythontestsuite ( " rodc:local " , " samba.tests.samba_tool.rodc " )
2017-03-24 02:12:43 +03:00
plantestsuite ( " samba.blackbox.rpcclient_samlogon " , " rodc:local " , [ os . path . join ( samba3srcdir , " script/tests/test_rpcclient_samlogon.sh " ) ,
2018-07-30 09:13:51 +03:00
" $DC_USERNAME " , " $DC_PASSWORD " , " ncacn_np:$SERVER " , configuration ] )
2017-03-24 02:12:43 +03:00
plantestsuite ( " samba.blackbox.rpcclient_samlogon_testallowed " , " rodc:local " , [ os . path . join ( samba3srcdir , " script/tests/test_rpcclient_samlogon.sh " ) ,
2018-07-30 09:13:51 +03:00
" testallowed \ account " , " $DC_PASSWORD " , " ncacn_np:$SERVER " , configuration ] )
2017-03-24 02:12:43 +03:00
plantestsuite ( " samba.blackbox.rpcclient_samlogon_testdenied " , " rodc:local " , [ os . path . join ( samba3srcdir , " script/tests/test_rpcclient_samlogon.sh " ) ,
2018-07-30 09:13:51 +03:00
" testdenied " , " $DC_PASSWORD " , " ncacn_np:$SERVER " , configuration ] )
2017-03-24 02:12:43 +03:00
2011-11-14 04:54:43 +04:00
plantestsuite ( " samba4.blackbox.provision-backend " , " none " , [ " PYTHON= %s " % python , os . path . join ( samba4srcdir , " setup/tests/blackbox_provision-backend.sh " ) , ' $PREFIX/provision ' ] )
2011-05-20 23:50:55 +04:00
# Test renaming the DC
plantestsuite ( " samba4.blackbox.renamedc.sh " , " none " , [ " PYTHON= %s " % python , os . path . join ( bbdir , " renamedc.sh " ) , ' $PREFIX/provision ' ] )
2011-07-13 04:50:24 +04:00
2016-10-31 05:24:49 +03:00
# DRS python tests
env = ' vampire_dc '
planoldpythontestsuite ( env , " ridalloc_exop " ,
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
name = " samba4.drs.ridalloc_exop.python( %s ) " % env ,
environ = { ' DC1 ' : " $DC_SERVER " , ' DC2 ' : ' $ %s _SERVER ' % env . upper ( ) } ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
2013-04-19 09:03:23 +04:00
2016-10-31 05:24:49 +03:00
for env in [ ' vampire_dc ' , ' promoted_dc ' ] :
2017-01-27 04:46:36 +03:00
planoldpythontestsuite ( " %s :local " % env , " samba_tool_drs " ,
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
name = " samba4.drs.samba_tool_drs.python( %s ) " % env ,
2013-04-19 09:03:23 +04:00
environ = { ' DC1 ' : ' $DC_SERVER ' , ' DC2 ' : ' $ %s _SERVER ' % env . upper ( ) } ,
2018-02-02 05:59:38 +03:00
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
planoldpythontestsuite ( " %s :local " % env , " samba_tool_drs_showrepl " ,
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
name = " samba4.drs.samba_tool_drs_showrepl.python( %s ) " % env ,
environ = { ' DC1 ' : ' $DC_SERVER ' , ' DC2 ' : ' $ %s _SERVER ' % env . upper ( ) } ,
2013-04-19 09:03:23 +04:00
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
planoldpythontestsuite ( " %s :local " % env , " replica_sync " ,
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
name = " samba4.drs.replica_sync.python( %s ) " % env ,
environ = { ' DC1 ' : ' $DC_SERVER ' , ' DC2 ' : ' $ %s _SERVER ' % env . upper ( ) } ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
planoldpythontestsuite ( env , " delete_object " ,
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
name = " samba4.drs.delete_object.python( %s ) " % env ,
environ = { ' DC1 ' : ' $DC_SERVER ' , ' DC2 ' : ' $ %s _SERVER ' % env . upper ( ) } ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
planoldpythontestsuite ( env , " fsmo " ,
name = " samba4.drs.fsmo.python( %s ) " % env ,
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
environ = { ' DC1 ' : " $DC_SERVER " , ' DC2 ' : ' $ %s _SERVER ' % env . upper ( ) } ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
2015-12-09 04:00:10 +03:00
planoldpythontestsuite ( env , " repl_move " ,
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
name = " samba4.drs.repl_move.python( %s ) " % env ,
environ = { ' DC1 ' : " $DC_SERVER " , ' DC2 ' : ' $ %s _SERVER ' % env . upper ( ) } ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
2016-03-04 03:12:42 +03:00
planoldpythontestsuite ( env , " getnc_exop " ,
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
name = " samba4.drs.getnc_exop.python( %s ) " % env ,
environ = { ' DC1 ' : " $DC_SERVER " , ' DC2 ' : ' $ %s _SERVER ' % env . upper ( ) } ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
2017-08-04 02:44:19 +03:00
planoldpythontestsuite ( env , " getnc_unpriv " ,
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
name = " samba4.drs.getnc_unpriv.python( %s ) " % env ,
environ = { ' DC1 ' : " $DC_SERVER " , ' DC2 ' : ' $ %s _SERVER ' % env . upper ( ) } ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
2016-07-14 09:03:33 +03:00
planoldpythontestsuite ( env , " linked_attributes_drs " ,
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
name = " samba4.drs.linked_attributes_drs.python( %s ) " % env ,
environ = { ' DC1 ' : " $DC_SERVER " , ' DC2 ' : ' $ %s _SERVER ' % env . upper ( ) } ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
2017-08-23 03:45:09 +03:00
planoldpythontestsuite ( env , " link_conflicts " ,
2018-07-30 09:13:51 +03:00
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
name = " samba4.drs.link_conflicts.python( %s ) " % env ,
environ = { ' DC1 ' : " $DC_SERVER " , ' DC2 ' : ' $ %s _SERVER ' % env . upper ( ) } ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
2013-04-19 09:03:23 +04:00
2017-02-03 00:33:54 +03:00
for env in [ ' vampire_dc ' , ' promoted_dc ' , ' vampire_2000_dc ' ] :
planoldpythontestsuite ( env , " repl_schema " ,
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
name = " samba4.drs.repl_schema.python( %s ) " % env ,
environ = { ' DC1 ' : " $DC_SERVER " , ' DC2 ' : ' $ %s _SERVER ' % env . upper ( ) } ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
s4:selftest: run wbinfo tests at the end...
This avoids flakey crashes in the promoted_dc environment.
See the examples below, we had up to 50% of the daily build failing...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
https://git.samba.org/autobuild.flakey/2013-12-23-1942/samba.stdout
[1586/1594 in 1h39m20s] samba4.drs.fsmo.python(promoted_dc)
Testing for schema role transfer from localdc.samba.example.com to PROMOTEDVDC.samba.example.com
FSMO transfer of 'schema' role successful
Testing for schema role transfer from PROMOTEDVDC.samba.example.com to localdc.samba.example.com
ERROR: Failed to initiate transfer of 'schema' role: LDAP error 52 LDAP_UNAVAILABLE - <Failed FSMO transfer: WERR_DS_DRA_INTERNAL_ERROR> <>
UNEXPECTED(failure): samba4.drs.fsmo.python(promoted_dc).fsmo.DrsFsmoTestCase.test_SchemaMasterTransfer(promoted_dc)
REASON: _StringException: _StringException: Content-Type: text/x-traceback;charset=utf8,language=python
traceback
380
https://git.samba.org/autobuild.flakey/2013-12-24-1546/samba.stdout
[1583/1594 in 1h36m4s] samba.tests.blackbox.samba_tool_drs
ERROR: Testsuite[samba.tests.blackbox.samba_tool_drs]
REASON: unable to set up environment promoted_dc - exiting
https://git.samba.org/autobuild.flakey/2013-12-24-1546/samba.stderr
Unable to convert 1.2.840.86419.1.5.9939 to an attid, and can_change_pfm=false!
Unable to convert governsID on CN=test-class30318,CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com to DRS object - WERR_NOT_FOUND
../source4/rpc_server/drsuapi/getncchanges.c:1646: DsGetNCChanges 2nd replication on different DN CN=Configuration,DC=samba,DC=example,DC=com CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com (last_dn CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com)
===============================================================
INTERNAL ERROR: Signal 11 in pid 884274 (4.2.0pre1-DEVELOPERBUILD)
Please read the Trouble-Shooting section of the Samba HOWTO
===============================================================
smb_panic(): calling panic action [/memdisk/autobuild/fl/b302436/samba/selftest/gdb_backtrace 884274]
[Thread debugging using libthread_db enabled]
0x00002af6b5c1977e in __libc_waitpid (pid=<value optimized out>,
stat_loc=0x7fff67c7709c, options=<value optimized out>)
at ../sysdeps/unix/sysv/linux/waitpid.c:32
32 ../sysdeps/unix/sysv/linux/waitpid.c: No such file or directory.
in ../sysdeps/unix/sysv/linux/waitpid.c
#0 0x00002af6b5c1977e in __libc_waitpid (pid=<value optimized out>,
stat_loc=0x7fff67c7709c, options=<value optimized out>)
at ../sysdeps/unix/sysv/linux/waitpid.c:32
oldtype = <value optimized out>
result = <value optimized out>
#1 0x00002af6b5baeb39 in do_system (line=<value optimized out>)
at ../sysdeps/posix/system.c:149
__result = -512
_buffer = {__routine = 0x2af6b5baee90 <cancel_handler>,
__arg = 0x7fff67c77098, __canceltype = 0, __prev = 0x0}
_avail = 1
status = <value optimized out>
save = <value optimized out>
pid = 886733
sa = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1},
sa_mask = {__val = {65536, 0 <repeats 15 times>}}, sa_flags = 0,
sa_restorer = 0x2af6b5b730f0}
omask = {__val = {7808, 4294967295, 140734934511616, 1, 2195512, 0,
0, 0, 47239032274944, 47239027992529, 140733193388033, 0, 0,
47239099003120, 140734934511792, 47239558787328}}
#2 0x00002af6b311821f in smb_panic_default (
why=0x2af6b312a875 "internal error") at ../lib/util/fault.c:134
result = 32767
pidstr = "884274\000\000\001\375\376\320\366*\000\000\260\377\377\377"
cmdstring = "/memdisk/autobuild/fl/b302436/samba/selftest/gdb_backtrace 884274\000\307g\377\177\000\000\001\000\000\000\000\000\000\000\320\301#", '\000' <repeats 30 times>"\240, \017\263\366*\000\000\321\247{\261\366*\000\000\001\000\000\000\005", '\000' <repeats 11 times>"\260, \016\v\321\366*\000\000X\351\017\263\366*\000\000\260q\307g\377\177\000\000\000\361\036\321\366*\000\000\020r\307g\377\177\000\000\240\301z\326\366*\000\000\000Z\304\320\366*\000"
__FUNCTION__ = "smb_panic_default"
#3 0x00002af6b31183b5 in smb_panic (why=0x2af6b312a875 "internal error")
at ../lib/util/fault.c:162
No locals.
#4 0x00002af6b311809f in fault_report (sig=11) at ../lib/util/fault.c:77
counter = 1
__FUNCTION__ = "fault_report"
#5 0x00002af6b31180b4 in sig_fault (sig=11) at ../lib/util/fault.c:88
No locals.
#6 <signal handler called>
No symbol table info available.
#7 0x00002af6cabef930 in replmd_check_urgent_objectclass (
objectclass_el=0x0, situation=REPL_URGENT_ON_UPDATE)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:205
i = 2
j = 0
#8 0x00002af6cabf29b6 in replmd_update_rpmd (module=0x2af6b17f2c20,
schema=0x2af6d05e5570, req=0x2af6d05e8ad0, rename_attrs=0x0,
msg=0x2af6d11ef100, seq_num=0x2af6d0c315b8, t=1387895162,
is_urgent=0x7fff67c778bf, rodc=0x7fff67c778be)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:1432
omd_value = 0x7fff67c77810
ndr_err = 3508465920
omd = {version = 1741125552, reserved = 32767, ctr = {ctr1 = {
count = 3008684740, reserved = 10998, array = 0x7fff67c777b0}}}
i = 10998
now = 130323687620000000
our_invocation_id = 0x2af6d1796390
ret = 0
attrs = 0x7fff67c77750
attrs1 = {0x2af6cabff775 "replPropertyMetaData", 0x2af6cabffc8b "*",
0x0}
attrs2 = {0x2af6cabff76a "uSNChanged", 0x2af6cabffa98 "objectClass",
0x2af6cabffc8d "instanceType", 0x0}
res = 0x2af6d10b0eb0
ldb = 0x2af6b17f2470
objectclass_el = 0x0
situation = REPL_URGENT_ON_UPDATE
rmd_is_provided = false
__FUNCTION__ = "replmd_update_rpmd"
#9 0x00002af6cabf5a06 in replmd_modify (module=0x2af6b17f2c20,
req=0x2af6d05e8ad0)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:2455
msds_intid_struct = 0x2af6d05e8ad0
ldb = 0x2af6b17f2470
ac = 0x2af6d0c31580
down_req = 0x2af6d0e6a100
msg = 0x2af6d11ef100
t = 1387895162
ret = 1741125936
is_urgent = false
rodc = false
functional_level = 3
guid_blob = 0x0
sd_propagation_control = 0x0
#10 0x00002af6bf69f94d in dsdb_module_modify (module=0x2af6b17f2c20,
message=0x2af6d1183fe0, dsdb_flags=4194304, parent=0x2af6ce6ea980)
at ../source4/dsdb/samdb/ldb_modules/util.c:460
ops = 0x2af6cae06b40
mod_req = 0x2af6d05e8ad0
ret = 0
ldb = 0x2af6b17f2470
tmp_ctx = 0x2af6d0ed62f0
res = 0x2af6d0e6a100
__FUNCTION__ = "dsdb_module_modify"
#11 0x00002af6cabf7ebc in replmd_delete_internals (module=0x2af6b17f2c20,
req=0x2af6ce6ea980, re_delete=true)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:3309
ret = 0
retb = true
disallow_move_on_delete = false
old_dn = 0x2af6d6a2a010
new_dn = 0x2af6d0794a90
rdn_name = 0x2af6d0885c10 "CN"
rdn_value = 0x2af6d10d7368
new_rdn_value = 0x2af6d0c45a00
guid = {time_low = 48, time_mid = 0, time_hi_and_version = 0,
clock_seq = "\200\251", node = "n\316\366*\000"}
ldb = 0x2af6b17f2470
schema = 0x2af6d05e5570
msg = 0x2af6d1183fe0
old_msg = 0x2af6d1902800
el = 0x2af6d0874900
tmp_ctx = 0x2af6d0b77560
res = 0x2af6d0d57980
parent_res = 0x30
preserved_attrs = {0x2af6cac00fe1 "nTSecurityDescriptor",
0x2af6cac055c3 "attributeID", 0x2af6cac055cf "attributeSyntax",
0x2af6cac055df "dNReferenceUpdate", 0x2af6cac055f1 "dNSHostName",
0x2af6cac055fd "flatName", 0x2af6cac05606 "governsID",
0x2af6cac05610 "groupType", 0x2af6cabffc8d "instanceType",
0x2af6cac0561a "lDAPDisplayName",
0x2af6cac0562a "legacyExchangeDN", 0x2af6cabfe94d "isDeleted",
0x2af6cabfe957 "isRecycled", 0x2af6cac020f8 "lastKnownParent",
0x2af6cac021e8 "msDS-LastKnownRDN",
0x2af6cac0563b "mS-DS-CreatorSID", 0x2af6cac0564c "mSMQOwnerID",
0x2af6cac05658 "nCName", 0x2af6cabffa98 "objectClass",
0x2af6cac0565f "distinguishedName", 0x2af6cabff5b5 "objectGUID",
0x2af6cac05671 "objectSid", 0x2af6cac0567b "oMSyntax",
0x2af6cac05684 "proxiedObjectName", 0x2af6cac014d8 "name",
0x2af6cabff775 "replPropertyMetaData",
0x2af6cac05696 "sAMAccountName",
0x2af6cac056a5 "securityIdentifier", 0x2af6cac056b8 "sIDHistory",
0x2af6cac056c3 "subClassOf", 0x2af6cac01ba8 "systemFlags",
0x2af6cac056ce "trustPartner", 0x2af6cac056db "trustDirection",
0x2af6cac056ea "trustType", 0x2af6cac056f4 "trustAttributes",
0x2af6cabfe9b8 "userAccountControl", 0x2af6cabff76a "uSNChanged",
0x2af6cabff75f "uSNCreated", 0x2af6cabff747 "whenCreated",
0x2af6cabff753 "whenChanged", 0x0}
i = 12
el_count = 1
deletion_state = OBJECT_TOMBSTONE
next_deletion_state = OBJECT_TOMBSTONE
__FUNCTION__ = "replmd_delete_internals"
#12 0x00002af6cabfbbe3 in replmd_replicated_apply_isDeleted (
ar=0x2af6d74c0b40)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:4718
del_req = 0x2af6ce6ea980
res = 0x2af6d0cdebf0
tmp_ctx = 0x2af6d0949230
deleted_objects_dn = 0x2af6d1a49f00
msg = 0x2af6d0a39620
ret = 0
#13 0x00002af6cabf0766 in replmd_op_callback (req=0x2af6d05a21e0,
ares=0x2af6d0d715c0)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:526
ret = 10998
ac = 0x2af6d74c0b40
replmd_private = 0x2af6b188c7c0
modified_partition = 0x2af6d141b670
partition_ctrl = 0x2af6d1905f40
partition = 0x2af6ce6bdbe0
controls = 0x0
__FUNCTION__ = "replmd_op_callback"
#14 0x00002af6b1df7ca2 in ldb_module_done (req=0x2af6d05a21e0,
ctrls=0x2af6d1629aa0, response=0x0, error=0)
at ../lib/ldb/common/ldb_modules.c:832
ares = 0x2af6d0d715c0
#15 0x00002af6cabf896b in replmd_op_possible_conflict_callback (
req=0x2af6d05a21e0, ares=0x2af6b1883eb0,
callback=0x2af6cabf0334 <replmd_op_callback>)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:3606
conflict_dn = 0x2af6cac03470
ar = 0x2af6d74c0b40
res = 0x2af6b354f89b
attrs = {0x2af6cabff775 "replPropertyMetaData",
0x2af6cabff5b5 "objectGUID", 0x0}
ret = -682882240
omd_value = 0x7fff67c77e20
omd = {version = 1741127104, reserved = 32767, ctr = {ctr1 = {
count = 0, reserved = 0, array = 0x28}}}
rmd = 0x2af6d74c0ae0
ndr_err = 10998
rename_incoming_record = false
rodc = false
rmd_name = 0x7fff67c77e10
omd_name = 0x2af6d74c0b40
msg = 0x2af6b1883e50
__FUNCTION__ = "replmd_op_possible_conflict_callback"
#16 0x00002af6cabf93fb in replmd_op_add_callback (req=0x2af6d05a21e0,
ares=0x2af6b1883eb0)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:3802
ar = 0x2af6d74c0b40
#17 0x00002af6b1df7ca2 in ldb_module_done (req=0x2af6d05a21e0,
ctrls=0x2af6d1629aa0, response=0x0, error=0)
at ../lib/ldb/common/ldb_modules.c:832
ares = 0x2af6b1883eb0
#18 0x00002af6ca3c8b6a in partition_req_callback (req=0x2af6d087a1e0,
ares=0x2af6d05a1fa0) at ../source4/dsdb/samdb/ldb_modules/partition.c:213
ac = 0x2af6d0949370
module = 0x2af6cd27bf12
nreq = 0x2af6d05b67b0
ret = 0
partition_ctrl = 0x2af6d0d71740
#19 0x00002af6cd2752ab in ltdb_request_done (ctx=0x2af6d1cd7ed0, error=0)
at ../lib/ldb/ldb_tdb/ldb_tdb.c:1280
ldb = 0x2af6b17f2470
req = 0x2af6d087a1e0
ares = 0x2af6d05a1fa0
#20 0x00002af6cd275597 in ltdb_callback (ev=0x2af6b17ef8c0,
te=0x2af6d17f75d0, t=..., private_data=0x2af6d1cd7ed0)
at ../lib/ldb/ldb_tdb/ldb_tdb.c:1390
ctx = 0x2af6d1cd7ed0
ret = 0
#21 0x00002af6b3343259 in tevent_common_loop_timer_delay (ev=0x2af6b17ef8c0)
at ../lib/tevent/tevent_timed.c:341
current_time = {tv_sec = 0, tv_usec = 0}
te = 0x2af6d17f75d0
#22 0x00002af6b334558a in epoll_event_loop_once (ev=0x2af6b17ef8c0,
location=0x2af6b1e1eef8 "../lib/ldb/common/ldb.c:621")
at ../lib/tevent/tevent_epoll.c:912
epoll_ev = 0x2af6b17efb00
tval = {tv_sec = 47239056876603, tv_usec = 47239028210096}
panic_triggered = false
#23 0x00002af6b3342363 in std_event_loop_once (ev=0x2af6b17ef8c0,
location=0x2af6b1e1eef8 "../lib/ldb/common/ldb.c:621")
at ../lib/tevent/tevent_standard.c:112
glue_ptr = 0x2af6b17ef9b0
glue = 0x2af6b17ef9b0
ret = 10998
#24 0x00002af6b333c799 in _tevent_loop_once (ev=0x2af6b17ef8c0,
location=0x2af6b1e1eef8 "../lib/ldb/common/ldb.c:621")
at ../lib/tevent/tevent.c:530
ret = 0
nesting_stack_ptr = 0x0
#25 0x00002af6b1e154c4 in ldb_wait (handle=0x2af6d67624c0, type=LDB_WAIT_ALL)
at ../lib/ldb/common/ldb.c:621
ev = 0x2af6b17ef8c0
ret = 0
#26 0x00002af6b1e1786b in ldb_extended (ldb=0x2af6b17f2470,
oid=0x2af6b4c4f9ce "1.3.6.1.4.1.7165.4.4.1", data=0x2af6d0e2bc60,
_res=0x7fff67c78240) at ../lib/ldb/common/ldb.c:1506
req = 0x2af6d0c45a00
ret = 0
res = 0x2af6d69238f0
#27 0x00002af6b4c4a0d6 in dsdb_replicated_objects_commit (ldb=0x2af6b17f2470,
working_schema=0x0, objects=0x2af6d0e2bc60, notify_uSN=0x2af6d14a65f0)
at ../source4/dsdb/repl/replicated_objects.c:773
werr = {w = 0}
ext_res = 0x0
cur_schema = 0x0
new_schema = 0x0
ret = 0
seq_num1 = 5554
seq_num2 = 47239626746464
used_global_schema = false
tmp_ctx = 0x2af6d03c5860
__FUNCTION__ = "dsdb_replicated_objects_commit"
#28 0x00002af6c1c6babb in dreplsrv_op_pull_source_apply_changes_trigger (
req=0x2af6d17daed0, r=0x2af6d17db0d0, ctr_level=6, ctr1=0x0,
ctr6=0x2af6d1b02bb0) at ../source4/dsdb/repl/drepl_out_helpers.c:717
state = 0x2af6d17db050
rf1 = {blobsize = 274, consecutive_sync_failures = 0,
last_success = 130323684670000000,
last_attempt = 130323687610000000, result_last_attempt = {w = 0},
other_info = 0x2af6d0949910, other_info_length = 66,
replica_flags = 112, schedule = '\021' <repeats 84 times>,
reserved = 0, highwatermark = {tmp_highest_usn = 12398,
reserved_usn = 0, highest_usn = 12398}, source_dsa_obj_guid = {
time_low = 984092159, time_mid = 850,
time_hi_and_version = 18870, clock_seq = "\251X",
node = "UF\324\223\205\241"}, source_dsa_invocation_id = {
time_low = 1460694408, time_mid = 52035,
time_hi_and_version = 18738, clock_seq = "\204}",
node = "\264\365\276\372\256\303"}, transport_guid = {
time_low = 0, time_mid = 0, time_hi_and_version = 0,
clock_seq = "\000", node = "\000\000\000\000\000"}}
service = 0x2af6d0ff6b00
partition = 0x2af6d0b6f220
drsuapi = 0x2af6d1c8d480
schema = 0x2af6d05e5570
working_schema = 0x0
mapping_ctr = 0x2af6d1b02c10
object_count = 50
first_object = 0x2af6d0571800
linked_attributes_count = 0
linked_attributes = 0x2af6d5212140
uptodateness_vector = 0x2af6d1a741c0
objects = 0x2af6d0e2bc60
more_data = false
status = {w = 0}
nt_status = {v = 3006553120}
dsdb_repl_flags = 0
__FUNCTION__ = "dreplsrv_op_pull_source_apply_changes_trigger"
#29 0x00002af6c1c6b3e7 in dreplsrv_op_pull_source_get_changes_done (
subreq=0x0) at ../source4/dsdb/repl/drepl_out_helpers.c:599
req = 0x2af6d17daed0
state = 0x2af6d17db050
status = {v = 0}
r = 0x2af6d17db0d0
ctr_level = 6
ctr1 = 0x0
ctr6 = 0x2af6d1b02bb0
extended_ret = DRSUAPI_EXOP_ERR_NONE
#30 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d1a73f70,
location=0x2af6c1c7d5f8 "default/librpc/gen_ndr/ndr_drsuapi_c.c:712")
at ../lib/tevent/tevent_req.c:102
No locals.
#31 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d1a73f70,
state=TEVENT_REQ_DONE,
location=0x2af6c1c7d5f8 "default/librpc/gen_ndr/ndr_drsuapi_c.c:712")
at ../lib/tevent/tevent_req.c:117
No locals.
#32 0x00002af6b333e374 in _tevent_req_done (req=0x2af6d1a73f70,
location=0x2af6c1c7d5f8 "default/librpc/gen_ndr/ndr_drsuapi_c.c:712")
at ../lib/tevent/tevent_req.c:123
No locals.
#33 0x00002af6c1c708df in dcerpc_drsuapi_DsGetNCChanges_r_done (
subreq=0x2af6d122f4c0) at default/librpc/gen_ndr/ndr_drsuapi_c.c:712
req = 0x2af6d1a73f70
status = {v = 0}
#34 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d122f4c0,
location=0x2af6b575b688 "../librpc/rpc/binding_handle.c:517")
at ../lib/tevent/tevent_req.c:102
No locals.
#35 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d122f4c0,
state=TEVENT_REQ_DONE,
location=0x2af6b575b688 "../librpc/rpc/binding_handle.c:517")
at ../lib/tevent/tevent_req.c:117
No locals.
#36 0x00002af6b333e374 in _tevent_req_done (req=0x2af6d122f4c0,
location=0x2af6b575b688 "../librpc/rpc/binding_handle.c:517")
at ../lib/tevent/tevent_req.c:123
No locals.
#37 0x00002af6b5757ede in dcerpc_binding_handle_call_done (subreq=0x0)
at ../librpc/rpc/binding_handle.c:517
req = 0x2af6d122f4c0
state = 0x2af6d122f640
h = 0x2af6d0959d10
error = {v = 0}
out_flags = 0
ndr_err = NDR_ERR_SUCCESS
#38 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d522f7a0,
location=0x2af6b575b1d0 "../librpc/rpc/binding_handle.c:188")
at ../lib/tevent/tevent_req.c:102
No locals.
#39 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d522f7a0,
state=TEVENT_REQ_DONE,
location=0x2af6b575b1d0 "../librpc/rpc/binding_handle.c:188")
at ../lib/tevent/tevent_req.c:117
No locals.
#40 0x00002af6b333e374 in _tevent_req_done (req=0x2af6d522f7a0,
location=0x2af6b575b1d0 "../librpc/rpc/binding_handle.c:188")
at ../lib/tevent/tevent_req.c:123
No locals.
#41 0x00002af6b5757398 in dcerpc_binding_handle_raw_call_done (subreq=0x0)
at ../librpc/rpc/binding_handle.c:188
req = 0x2af6d522f7a0
state = 0x2af6d522f920
error = {v = 0}
#42 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d0712430,
location=0x2af6b44b8810 "../source4/librpc/rpc/dcerpc.c:322")
at ../lib/tevent/tevent_req.c:102
No locals.
#43 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d0712430,
state=TEVENT_REQ_DONE,
location=0x2af6b44b8810 "../source4/librpc/rpc/dcerpc.c:322")
at ../lib/tevent/tevent_req.c:117
No locals.
#44 0x00002af6b333e472 in tevent_req_trigger (ev=0x2af6b17ef8c0,
im=0x2af6d0712500, private_data=0x2af6d0712430)
at ../lib/tevent/tevent_req.c:174
req = 0x2af6d0712430
#45 0x00002af6b333d6d4 in tevent_common_loop_immediate (ev=0x2af6b17ef8c0)
at ../lib/tevent/tevent_immediate.c:135
im = 0x2af6d0712500
handler = 0x2af6b333e423 <tevent_req_trigger>
private_data = 0x2af6d0712430
#46 0x00002af6b3345570 in epoll_event_loop_once (ev=0x2af6b17ef8c0,
location=0x2af6b15a7b9f "../source4/smbd/server.c:503")
at ../lib/tevent/tevent_epoll.c:907
epoll_ev = 0x2af6b17efb00
tval = {tv_sec = 47239056876603, tv_usec = 47239028210096}
panic_triggered = false
#47 0x00002af6b3342363 in std_event_loop_once (ev=0x2af6b17ef8c0,
location=0x2af6b15a7b9f "../source4/smbd/server.c:503")
at ../lib/tevent/tevent_standard.c:112
glue_ptr = 0x2af6b17ef9b0
glue = 0x2af6b17ef9b0
ret = 10998
#48 0x00002af6b333c799 in _tevent_loop_once (ev=0x2af6b17ef8c0,
location=0x2af6b15a7b9f "../source4/smbd/server.c:503")
at ../lib/tevent/tevent.c:530
ret = 0
nesting_stack_ptr = 0x0
#49 0x00002af6b333ca11 in tevent_common_loop_wait (ev=0x2af6b17ef8c0,
location=0x2af6b15a7b9f "../source4/smbd/server.c:503")
at ../lib/tevent/tevent.c:634
ret = 0
#50 0x00002af6b3342405 in std_event_loop_wait (ev=0x2af6b17ef8c0,
location=0x2af6b15a7b9f "../source4/smbd/server.c:503")
at ../lib/tevent/tevent_standard.c:138
glue_ptr = 0x2af6b17ef9b0
glue = 0x2af6b17ef9b0
ret = 10998
#51 0x00002af6b333cadc in _tevent_loop_wait (ev=0x2af6b17ef8c0,
location=0x2af6b15a7b9f "../source4/smbd/server.c:503")
at ../lib/tevent/tevent.c:653
No locals.
#52 0x00002af6b15a37bc in binary_smbd_main (
binary_name=0x2af6b15a737b "samba", argc=6, argv=0x7fff67c78de8)
at ../source4/smbd/server.c:503
opt_daemon = false
opt_interactive = true
opt = -1
pc = 0x2af6b17d5040
static_init = {0x2af6b2ac7d8c <server_service_auth_init>,
0x2af6b2aca9e7 <server_service_echo_init>, 0}
shared_init = 0x2af6b18143b0
event_ctx = 0x2af6b17ef8c0
stdin_event_flags = 1
status = {v = 0}
model = 0x2af6b17d5b90 "single"
max_runtime = 7500
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Mon Jan 6 01:16:13 CET 2014 on sn-devel-104
2014-01-03 15:56:38 +04:00
2017-06-06 09:06:22 +03:00
# A side-effect of the getncchanges tests is that they will create hundreds of
# tombstone objects, so run them last to avoid interferring with (and slowing
# down) the other DRS tests
for env in [ ' vampire_dc ' , ' promoted_dc ' ] :
planoldpythontestsuite ( env , " getncchanges " ,
2018-07-30 09:13:51 +03:00
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
name = " samba4.drs.getncchanges.python( %s ) " % env ,
environ = { ' DC1 ' : " $DC_SERVER " , ' DC2 ' : ' $ %s _SERVER ' % env . upper ( ) } ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
2017-06-06 09:06:22 +03:00
2017-02-13 05:46:37 +03:00
for env in [ ' ad_dc_ntvfs ' ] :
planoldpythontestsuite ( env , " repl_rodc " ,
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
name = " samba4.drs.repl_rodc.python( %s ) " % env ,
environ = { ' DC1 ' : " $DC_SERVER " , ' DC2 ' : ' $DC_SERVER ' } ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
2017-06-01 08:11:57 +03:00
planoldpythontestsuite ( env , " samba.tests.join " ,
name = " samba.tests.join.python( %s ) " % env ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
2017-07-05 02:08:45 +03:00
planoldpythontestsuite ( env , " cracknames " ,
extra_path = [ os . path . join ( samba4srcdir , ' torture/drs/python ' ) ] ,
name = " samba4.drs.cracknames.python( %s ) " % env ,
environ = { ' DC1 ' : " $DC_SERVER " , ' DC2 ' : ' $DC_SERVER ' } ,
extra_args = [ ' -U$DOMAIN/$DC_USERNAME % $DC_PASSWORD ' ] )
2017-02-13 05:46:37 +03:00
2015-09-01 06:58:30 +03:00
planoldpythontestsuite ( " chgdcpass:local " , " samba.tests.blackbox.samba_dnsupdate " ,
environ = { ' DNS_SERVER_IP ' : ' $SERVER_IP ' } )
2015-03-06 01:46:14 +03:00
for env in [ " ad_dc_ntvfs " , " s4member " , " rodc " , " promoted_dc " , " ad_dc " , " ad_member " ] :
2014-05-19 09:32:56 +04:00
plantestsuite ( " samba.blackbox.wbinfo( %s :local) " % env , " %s :local " % env , [ os . path . join ( samba4srcdir , " ../nsswitch/tests/test_wbinfo.sh " ) , ' $DOMAIN ' , ' $DC_USERNAME ' , ' $DC_PASSWORD ' , env ] )
s4:selftest: run wbinfo tests at the end...
This avoids flakey crashes in the promoted_dc environment.
See the examples below, we had up to 50% of the daily build failing...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
https://git.samba.org/autobuild.flakey/2013-12-23-1942/samba.stdout
[1586/1594 in 1h39m20s] samba4.drs.fsmo.python(promoted_dc)
Testing for schema role transfer from localdc.samba.example.com to PROMOTEDVDC.samba.example.com
FSMO transfer of 'schema' role successful
Testing for schema role transfer from PROMOTEDVDC.samba.example.com to localdc.samba.example.com
ERROR: Failed to initiate transfer of 'schema' role: LDAP error 52 LDAP_UNAVAILABLE - <Failed FSMO transfer: WERR_DS_DRA_INTERNAL_ERROR> <>
UNEXPECTED(failure): samba4.drs.fsmo.python(promoted_dc).fsmo.DrsFsmoTestCase.test_SchemaMasterTransfer(promoted_dc)
REASON: _StringException: _StringException: Content-Type: text/x-traceback;charset=utf8,language=python
traceback
380
https://git.samba.org/autobuild.flakey/2013-12-24-1546/samba.stdout
[1583/1594 in 1h36m4s] samba.tests.blackbox.samba_tool_drs
ERROR: Testsuite[samba.tests.blackbox.samba_tool_drs]
REASON: unable to set up environment promoted_dc - exiting
https://git.samba.org/autobuild.flakey/2013-12-24-1546/samba.stderr
Unable to convert 1.2.840.86419.1.5.9939 to an attid, and can_change_pfm=false!
Unable to convert governsID on CN=test-class30318,CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com to DRS object - WERR_NOT_FOUND
../source4/rpc_server/drsuapi/getncchanges.c:1646: DsGetNCChanges 2nd replication on different DN CN=Configuration,DC=samba,DC=example,DC=com CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com (last_dn CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com)
===============================================================
INTERNAL ERROR: Signal 11 in pid 884274 (4.2.0pre1-DEVELOPERBUILD)
Please read the Trouble-Shooting section of the Samba HOWTO
===============================================================
smb_panic(): calling panic action [/memdisk/autobuild/fl/b302436/samba/selftest/gdb_backtrace 884274]
[Thread debugging using libthread_db enabled]
0x00002af6b5c1977e in __libc_waitpid (pid=<value optimized out>,
stat_loc=0x7fff67c7709c, options=<value optimized out>)
at ../sysdeps/unix/sysv/linux/waitpid.c:32
32 ../sysdeps/unix/sysv/linux/waitpid.c: No such file or directory.
in ../sysdeps/unix/sysv/linux/waitpid.c
#0 0x00002af6b5c1977e in __libc_waitpid (pid=<value optimized out>,
stat_loc=0x7fff67c7709c, options=<value optimized out>)
at ../sysdeps/unix/sysv/linux/waitpid.c:32
oldtype = <value optimized out>
result = <value optimized out>
#1 0x00002af6b5baeb39 in do_system (line=<value optimized out>)
at ../sysdeps/posix/system.c:149
__result = -512
_buffer = {__routine = 0x2af6b5baee90 <cancel_handler>,
__arg = 0x7fff67c77098, __canceltype = 0, __prev = 0x0}
_avail = 1
status = <value optimized out>
save = <value optimized out>
pid = 886733
sa = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1},
sa_mask = {__val = {65536, 0 <repeats 15 times>}}, sa_flags = 0,
sa_restorer = 0x2af6b5b730f0}
omask = {__val = {7808, 4294967295, 140734934511616, 1, 2195512, 0,
0, 0, 47239032274944, 47239027992529, 140733193388033, 0, 0,
47239099003120, 140734934511792, 47239558787328}}
#2 0x00002af6b311821f in smb_panic_default (
why=0x2af6b312a875 "internal error") at ../lib/util/fault.c:134
result = 32767
pidstr = "884274\000\000\001\375\376\320\366*\000\000\260\377\377\377"
cmdstring = "/memdisk/autobuild/fl/b302436/samba/selftest/gdb_backtrace 884274\000\307g\377\177\000\000\001\000\000\000\000\000\000\000\320\301#", '\000' <repeats 30 times>"\240, \017\263\366*\000\000\321\247{\261\366*\000\000\001\000\000\000\005", '\000' <repeats 11 times>"\260, \016\v\321\366*\000\000X\351\017\263\366*\000\000\260q\307g\377\177\000\000\000\361\036\321\366*\000\000\020r\307g\377\177\000\000\240\301z\326\366*\000\000\000Z\304\320\366*\000"
__FUNCTION__ = "smb_panic_default"
#3 0x00002af6b31183b5 in smb_panic (why=0x2af6b312a875 "internal error")
at ../lib/util/fault.c:162
No locals.
#4 0x00002af6b311809f in fault_report (sig=11) at ../lib/util/fault.c:77
counter = 1
__FUNCTION__ = "fault_report"
#5 0x00002af6b31180b4 in sig_fault (sig=11) at ../lib/util/fault.c:88
No locals.
#6 <signal handler called>
No symbol table info available.
#7 0x00002af6cabef930 in replmd_check_urgent_objectclass (
objectclass_el=0x0, situation=REPL_URGENT_ON_UPDATE)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:205
i = 2
j = 0
#8 0x00002af6cabf29b6 in replmd_update_rpmd (module=0x2af6b17f2c20,
schema=0x2af6d05e5570, req=0x2af6d05e8ad0, rename_attrs=0x0,
msg=0x2af6d11ef100, seq_num=0x2af6d0c315b8, t=1387895162,
is_urgent=0x7fff67c778bf, rodc=0x7fff67c778be)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:1432
omd_value = 0x7fff67c77810
ndr_err = 3508465920
omd = {version = 1741125552, reserved = 32767, ctr = {ctr1 = {
count = 3008684740, reserved = 10998, array = 0x7fff67c777b0}}}
i = 10998
now = 130323687620000000
our_invocation_id = 0x2af6d1796390
ret = 0
attrs = 0x7fff67c77750
attrs1 = {0x2af6cabff775 "replPropertyMetaData", 0x2af6cabffc8b "*",
0x0}
attrs2 = {0x2af6cabff76a "uSNChanged", 0x2af6cabffa98 "objectClass",
0x2af6cabffc8d "instanceType", 0x0}
res = 0x2af6d10b0eb0
ldb = 0x2af6b17f2470
objectclass_el = 0x0
situation = REPL_URGENT_ON_UPDATE
rmd_is_provided = false
__FUNCTION__ = "replmd_update_rpmd"
#9 0x00002af6cabf5a06 in replmd_modify (module=0x2af6b17f2c20,
req=0x2af6d05e8ad0)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:2455
msds_intid_struct = 0x2af6d05e8ad0
ldb = 0x2af6b17f2470
ac = 0x2af6d0c31580
down_req = 0x2af6d0e6a100
msg = 0x2af6d11ef100
t = 1387895162
ret = 1741125936
is_urgent = false
rodc = false
functional_level = 3
guid_blob = 0x0
sd_propagation_control = 0x0
#10 0x00002af6bf69f94d in dsdb_module_modify (module=0x2af6b17f2c20,
message=0x2af6d1183fe0, dsdb_flags=4194304, parent=0x2af6ce6ea980)
at ../source4/dsdb/samdb/ldb_modules/util.c:460
ops = 0x2af6cae06b40
mod_req = 0x2af6d05e8ad0
ret = 0
ldb = 0x2af6b17f2470
tmp_ctx = 0x2af6d0ed62f0
res = 0x2af6d0e6a100
__FUNCTION__ = "dsdb_module_modify"
#11 0x00002af6cabf7ebc in replmd_delete_internals (module=0x2af6b17f2c20,
req=0x2af6ce6ea980, re_delete=true)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:3309
ret = 0
retb = true
disallow_move_on_delete = false
old_dn = 0x2af6d6a2a010
new_dn = 0x2af6d0794a90
rdn_name = 0x2af6d0885c10 "CN"
rdn_value = 0x2af6d10d7368
new_rdn_value = 0x2af6d0c45a00
guid = {time_low = 48, time_mid = 0, time_hi_and_version = 0,
clock_seq = "\200\251", node = "n\316\366*\000"}
ldb = 0x2af6b17f2470
schema = 0x2af6d05e5570
msg = 0x2af6d1183fe0
old_msg = 0x2af6d1902800
el = 0x2af6d0874900
tmp_ctx = 0x2af6d0b77560
res = 0x2af6d0d57980
parent_res = 0x30
preserved_attrs = {0x2af6cac00fe1 "nTSecurityDescriptor",
0x2af6cac055c3 "attributeID", 0x2af6cac055cf "attributeSyntax",
0x2af6cac055df "dNReferenceUpdate", 0x2af6cac055f1 "dNSHostName",
0x2af6cac055fd "flatName", 0x2af6cac05606 "governsID",
0x2af6cac05610 "groupType", 0x2af6cabffc8d "instanceType",
0x2af6cac0561a "lDAPDisplayName",
0x2af6cac0562a "legacyExchangeDN", 0x2af6cabfe94d "isDeleted",
0x2af6cabfe957 "isRecycled", 0x2af6cac020f8 "lastKnownParent",
0x2af6cac021e8 "msDS-LastKnownRDN",
0x2af6cac0563b "mS-DS-CreatorSID", 0x2af6cac0564c "mSMQOwnerID",
0x2af6cac05658 "nCName", 0x2af6cabffa98 "objectClass",
0x2af6cac0565f "distinguishedName", 0x2af6cabff5b5 "objectGUID",
0x2af6cac05671 "objectSid", 0x2af6cac0567b "oMSyntax",
0x2af6cac05684 "proxiedObjectName", 0x2af6cac014d8 "name",
0x2af6cabff775 "replPropertyMetaData",
0x2af6cac05696 "sAMAccountName",
0x2af6cac056a5 "securityIdentifier", 0x2af6cac056b8 "sIDHistory",
0x2af6cac056c3 "subClassOf", 0x2af6cac01ba8 "systemFlags",
0x2af6cac056ce "trustPartner", 0x2af6cac056db "trustDirection",
0x2af6cac056ea "trustType", 0x2af6cac056f4 "trustAttributes",
0x2af6cabfe9b8 "userAccountControl", 0x2af6cabff76a "uSNChanged",
0x2af6cabff75f "uSNCreated", 0x2af6cabff747 "whenCreated",
0x2af6cabff753 "whenChanged", 0x0}
i = 12
el_count = 1
deletion_state = OBJECT_TOMBSTONE
next_deletion_state = OBJECT_TOMBSTONE
__FUNCTION__ = "replmd_delete_internals"
#12 0x00002af6cabfbbe3 in replmd_replicated_apply_isDeleted (
ar=0x2af6d74c0b40)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:4718
del_req = 0x2af6ce6ea980
res = 0x2af6d0cdebf0
tmp_ctx = 0x2af6d0949230
deleted_objects_dn = 0x2af6d1a49f00
msg = 0x2af6d0a39620
ret = 0
#13 0x00002af6cabf0766 in replmd_op_callback (req=0x2af6d05a21e0,
ares=0x2af6d0d715c0)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:526
ret = 10998
ac = 0x2af6d74c0b40
replmd_private = 0x2af6b188c7c0
modified_partition = 0x2af6d141b670
partition_ctrl = 0x2af6d1905f40
partition = 0x2af6ce6bdbe0
controls = 0x0
__FUNCTION__ = "replmd_op_callback"
#14 0x00002af6b1df7ca2 in ldb_module_done (req=0x2af6d05a21e0,
ctrls=0x2af6d1629aa0, response=0x0, error=0)
at ../lib/ldb/common/ldb_modules.c:832
ares = 0x2af6d0d715c0
#15 0x00002af6cabf896b in replmd_op_possible_conflict_callback (
req=0x2af6d05a21e0, ares=0x2af6b1883eb0,
callback=0x2af6cabf0334 <replmd_op_callback>)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:3606
conflict_dn = 0x2af6cac03470
ar = 0x2af6d74c0b40
res = 0x2af6b354f89b
attrs = {0x2af6cabff775 "replPropertyMetaData",
0x2af6cabff5b5 "objectGUID", 0x0}
ret = -682882240
omd_value = 0x7fff67c77e20
omd = {version = 1741127104, reserved = 32767, ctr = {ctr1 = {
count = 0, reserved = 0, array = 0x28}}}
rmd = 0x2af6d74c0ae0
ndr_err = 10998
rename_incoming_record = false
rodc = false
rmd_name = 0x7fff67c77e10
omd_name = 0x2af6d74c0b40
msg = 0x2af6b1883e50
__FUNCTION__ = "replmd_op_possible_conflict_callback"
#16 0x00002af6cabf93fb in replmd_op_add_callback (req=0x2af6d05a21e0,
ares=0x2af6b1883eb0)
at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:3802
ar = 0x2af6d74c0b40
#17 0x00002af6b1df7ca2 in ldb_module_done (req=0x2af6d05a21e0,
ctrls=0x2af6d1629aa0, response=0x0, error=0)
at ../lib/ldb/common/ldb_modules.c:832
ares = 0x2af6b1883eb0
#18 0x00002af6ca3c8b6a in partition_req_callback (req=0x2af6d087a1e0,
ares=0x2af6d05a1fa0) at ../source4/dsdb/samdb/ldb_modules/partition.c:213
ac = 0x2af6d0949370
module = 0x2af6cd27bf12
nreq = 0x2af6d05b67b0
ret = 0
partition_ctrl = 0x2af6d0d71740
#19 0x00002af6cd2752ab in ltdb_request_done (ctx=0x2af6d1cd7ed0, error=0)
at ../lib/ldb/ldb_tdb/ldb_tdb.c:1280
ldb = 0x2af6b17f2470
req = 0x2af6d087a1e0
ares = 0x2af6d05a1fa0
#20 0x00002af6cd275597 in ltdb_callback (ev=0x2af6b17ef8c0,
te=0x2af6d17f75d0, t=..., private_data=0x2af6d1cd7ed0)
at ../lib/ldb/ldb_tdb/ldb_tdb.c:1390
ctx = 0x2af6d1cd7ed0
ret = 0
#21 0x00002af6b3343259 in tevent_common_loop_timer_delay (ev=0x2af6b17ef8c0)
at ../lib/tevent/tevent_timed.c:341
current_time = {tv_sec = 0, tv_usec = 0}
te = 0x2af6d17f75d0
#22 0x00002af6b334558a in epoll_event_loop_once (ev=0x2af6b17ef8c0,
location=0x2af6b1e1eef8 "../lib/ldb/common/ldb.c:621")
at ../lib/tevent/tevent_epoll.c:912
epoll_ev = 0x2af6b17efb00
tval = {tv_sec = 47239056876603, tv_usec = 47239028210096}
panic_triggered = false
#23 0x00002af6b3342363 in std_event_loop_once (ev=0x2af6b17ef8c0,
location=0x2af6b1e1eef8 "../lib/ldb/common/ldb.c:621")
at ../lib/tevent/tevent_standard.c:112
glue_ptr = 0x2af6b17ef9b0
glue = 0x2af6b17ef9b0
ret = 10998
#24 0x00002af6b333c799 in _tevent_loop_once (ev=0x2af6b17ef8c0,
location=0x2af6b1e1eef8 "../lib/ldb/common/ldb.c:621")
at ../lib/tevent/tevent.c:530
ret = 0
nesting_stack_ptr = 0x0
#25 0x00002af6b1e154c4 in ldb_wait (handle=0x2af6d67624c0, type=LDB_WAIT_ALL)
at ../lib/ldb/common/ldb.c:621
ev = 0x2af6b17ef8c0
ret = 0
#26 0x00002af6b1e1786b in ldb_extended (ldb=0x2af6b17f2470,
oid=0x2af6b4c4f9ce "1.3.6.1.4.1.7165.4.4.1", data=0x2af6d0e2bc60,
_res=0x7fff67c78240) at ../lib/ldb/common/ldb.c:1506
req = 0x2af6d0c45a00
ret = 0
res = 0x2af6d69238f0
#27 0x00002af6b4c4a0d6 in dsdb_replicated_objects_commit (ldb=0x2af6b17f2470,
working_schema=0x0, objects=0x2af6d0e2bc60, notify_uSN=0x2af6d14a65f0)
at ../source4/dsdb/repl/replicated_objects.c:773
werr = {w = 0}
ext_res = 0x0
cur_schema = 0x0
new_schema = 0x0
ret = 0
seq_num1 = 5554
seq_num2 = 47239626746464
used_global_schema = false
tmp_ctx = 0x2af6d03c5860
__FUNCTION__ = "dsdb_replicated_objects_commit"
#28 0x00002af6c1c6babb in dreplsrv_op_pull_source_apply_changes_trigger (
req=0x2af6d17daed0, r=0x2af6d17db0d0, ctr_level=6, ctr1=0x0,
ctr6=0x2af6d1b02bb0) at ../source4/dsdb/repl/drepl_out_helpers.c:717
state = 0x2af6d17db050
rf1 = {blobsize = 274, consecutive_sync_failures = 0,
last_success = 130323684670000000,
last_attempt = 130323687610000000, result_last_attempt = {w = 0},
other_info = 0x2af6d0949910, other_info_length = 66,
replica_flags = 112, schedule = '\021' <repeats 84 times>,
reserved = 0, highwatermark = {tmp_highest_usn = 12398,
reserved_usn = 0, highest_usn = 12398}, source_dsa_obj_guid = {
time_low = 984092159, time_mid = 850,
time_hi_and_version = 18870, clock_seq = "\251X",
node = "UF\324\223\205\241"}, source_dsa_invocation_id = {
time_low = 1460694408, time_mid = 52035,
time_hi_and_version = 18738, clock_seq = "\204}",
node = "\264\365\276\372\256\303"}, transport_guid = {
time_low = 0, time_mid = 0, time_hi_and_version = 0,
clock_seq = "\000", node = "\000\000\000\000\000"}}
service = 0x2af6d0ff6b00
partition = 0x2af6d0b6f220
drsuapi = 0x2af6d1c8d480
schema = 0x2af6d05e5570
working_schema = 0x0
mapping_ctr = 0x2af6d1b02c10
object_count = 50
first_object = 0x2af6d0571800
linked_attributes_count = 0
linked_attributes = 0x2af6d5212140
uptodateness_vector = 0x2af6d1a741c0
objects = 0x2af6d0e2bc60
more_data = false
status = {w = 0}
nt_status = {v = 3006553120}
dsdb_repl_flags = 0
__FUNCTION__ = "dreplsrv_op_pull_source_apply_changes_trigger"
#29 0x00002af6c1c6b3e7 in dreplsrv_op_pull_source_get_changes_done (
subreq=0x0) at ../source4/dsdb/repl/drepl_out_helpers.c:599
req = 0x2af6d17daed0
state = 0x2af6d17db050
status = {v = 0}
r = 0x2af6d17db0d0
ctr_level = 6
ctr1 = 0x0
ctr6 = 0x2af6d1b02bb0
extended_ret = DRSUAPI_EXOP_ERR_NONE
#30 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d1a73f70,
location=0x2af6c1c7d5f8 "default/librpc/gen_ndr/ndr_drsuapi_c.c:712")
at ../lib/tevent/tevent_req.c:102
No locals.
#31 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d1a73f70,
state=TEVENT_REQ_DONE,
location=0x2af6c1c7d5f8 "default/librpc/gen_ndr/ndr_drsuapi_c.c:712")
at ../lib/tevent/tevent_req.c:117
No locals.
#32 0x00002af6b333e374 in _tevent_req_done (req=0x2af6d1a73f70,
location=0x2af6c1c7d5f8 "default/librpc/gen_ndr/ndr_drsuapi_c.c:712")
at ../lib/tevent/tevent_req.c:123
No locals.
#33 0x00002af6c1c708df in dcerpc_drsuapi_DsGetNCChanges_r_done (
subreq=0x2af6d122f4c0) at default/librpc/gen_ndr/ndr_drsuapi_c.c:712
req = 0x2af6d1a73f70
status = {v = 0}
#34 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d122f4c0,
location=0x2af6b575b688 "../librpc/rpc/binding_handle.c:517")
at ../lib/tevent/tevent_req.c:102
No locals.
#35 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d122f4c0,
state=TEVENT_REQ_DONE,
location=0x2af6b575b688 "../librpc/rpc/binding_handle.c:517")
at ../lib/tevent/tevent_req.c:117
No locals.
#36 0x00002af6b333e374 in _tevent_req_done (req=0x2af6d122f4c0,
location=0x2af6b575b688 "../librpc/rpc/binding_handle.c:517")
at ../lib/tevent/tevent_req.c:123
No locals.
#37 0x00002af6b5757ede in dcerpc_binding_handle_call_done (subreq=0x0)
at ../librpc/rpc/binding_handle.c:517
req = 0x2af6d122f4c0
state = 0x2af6d122f640
h = 0x2af6d0959d10
error = {v = 0}
out_flags = 0
ndr_err = NDR_ERR_SUCCESS
#38 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d522f7a0,
location=0x2af6b575b1d0 "../librpc/rpc/binding_handle.c:188")
at ../lib/tevent/tevent_req.c:102
No locals.
#39 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d522f7a0,
state=TEVENT_REQ_DONE,
location=0x2af6b575b1d0 "../librpc/rpc/binding_handle.c:188")
at ../lib/tevent/tevent_req.c:117
No locals.
#40 0x00002af6b333e374 in _tevent_req_done (req=0x2af6d522f7a0,
location=0x2af6b575b1d0 "../librpc/rpc/binding_handle.c:188")
at ../lib/tevent/tevent_req.c:123
No locals.
#41 0x00002af6b5757398 in dcerpc_binding_handle_raw_call_done (subreq=0x0)
at ../librpc/rpc/binding_handle.c:188
req = 0x2af6d522f7a0
state = 0x2af6d522f920
error = {v = 0}
#42 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d0712430,
location=0x2af6b44b8810 "../source4/librpc/rpc/dcerpc.c:322")
at ../lib/tevent/tevent_req.c:102
No locals.
#43 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d0712430,
state=TEVENT_REQ_DONE,
location=0x2af6b44b8810 "../source4/librpc/rpc/dcerpc.c:322")
at ../lib/tevent/tevent_req.c:117
No locals.
#44 0x00002af6b333e472 in tevent_req_trigger (ev=0x2af6b17ef8c0,
im=0x2af6d0712500, private_data=0x2af6d0712430)
at ../lib/tevent/tevent_req.c:174
req = 0x2af6d0712430
#45 0x00002af6b333d6d4 in tevent_common_loop_immediate (ev=0x2af6b17ef8c0)
at ../lib/tevent/tevent_immediate.c:135
im = 0x2af6d0712500
handler = 0x2af6b333e423 <tevent_req_trigger>
private_data = 0x2af6d0712430
#46 0x00002af6b3345570 in epoll_event_loop_once (ev=0x2af6b17ef8c0,
location=0x2af6b15a7b9f "../source4/smbd/server.c:503")
at ../lib/tevent/tevent_epoll.c:907
epoll_ev = 0x2af6b17efb00
tval = {tv_sec = 47239056876603, tv_usec = 47239028210096}
panic_triggered = false
#47 0x00002af6b3342363 in std_event_loop_once (ev=0x2af6b17ef8c0,
location=0x2af6b15a7b9f "../source4/smbd/server.c:503")
at ../lib/tevent/tevent_standard.c:112
glue_ptr = 0x2af6b17ef9b0
glue = 0x2af6b17ef9b0
ret = 10998
#48 0x00002af6b333c799 in _tevent_loop_once (ev=0x2af6b17ef8c0,
location=0x2af6b15a7b9f "../source4/smbd/server.c:503")
at ../lib/tevent/tevent.c:530
ret = 0
nesting_stack_ptr = 0x0
#49 0x00002af6b333ca11 in tevent_common_loop_wait (ev=0x2af6b17ef8c0,
location=0x2af6b15a7b9f "../source4/smbd/server.c:503")
at ../lib/tevent/tevent.c:634
ret = 0
#50 0x00002af6b3342405 in std_event_loop_wait (ev=0x2af6b17ef8c0,
location=0x2af6b15a7b9f "../source4/smbd/server.c:503")
at ../lib/tevent/tevent_standard.c:138
glue_ptr = 0x2af6b17ef9b0
glue = 0x2af6b17ef9b0
ret = 10998
#51 0x00002af6b333cadc in _tevent_loop_wait (ev=0x2af6b17ef8c0,
location=0x2af6b15a7b9f "../source4/smbd/server.c:503")
at ../lib/tevent/tevent.c:653
No locals.
#52 0x00002af6b15a37bc in binary_smbd_main (
binary_name=0x2af6b15a737b "samba", argc=6, argv=0x7fff67c78de8)
at ../source4/smbd/server.c:503
opt_daemon = false
opt_interactive = true
opt = -1
pc = 0x2af6b17d5040
static_init = {0x2af6b2ac7d8c <server_service_auth_init>,
0x2af6b2aca9e7 <server_service_echo_init>, 0}
shared_init = 0x2af6b18143b0
event_ctx = 0x2af6b17ef8c0
stdin_event_flags = 1
status = {v = 0}
model = 0x2af6b17d5b90 "single"
max_runtime = 7500
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Mon Jan 6 01:16:13 CET 2014 on sn-devel-104
2014-01-03 15:56:38 +04:00
2016-06-07 04:51:09 +03:00
#
# KDC Tests
#
2017-08-10 02:57:24 +03:00
2016-06-07 04:51:09 +03:00
# This test is for users cached at the RODC
plansmbtorture4testsuite ( ' krb5.kdc ' , " rodc " , [ ' ncacn_np:$SERVER_IP ' , " -k " , " yes " , ' -Utestdenied % $PASSWORD ' ,
' --workgroup=$DOMAIN ' , ' --realm=$REALM ' ,
' --option=torture:krb5-upn=testdenied_upn@$REALM.upn ' ,
' --option=torture:expect_rodc=true ' ] ,
" samba4.krb5.kdc with account DENIED permission to replicate to an RODC " )
plansmbtorture4testsuite ( ' krb5.kdc ' , " rodc " , [ ' ncacn_np:$SERVER_IP ' , " -k " , " yes " , ' -Utestallowed \ account % $PASSWORD ' ,
' --workgroup=$DOMAIN ' , ' --realm=$REALM ' ,
' --option=torture:expect_machine_account=true ' ,
' --option=torture:krb5-upn=testallowed \ upn@$REALM ' ,
' --option=torture:krb5-hostname=testallowed ' ,
' --option=torture:expect_rodc=true ' ,
' --option=torture:expect_cached_at_rodc=true ' ] ,
" samba4.krb5.kdc with account ALLOWED permission to replicate to an RODC " )
# This ensures we have correct behaviour on a server that is not not the PDC emulator
2018-07-30 09:18:03 +03:00
env = " promoted_dc "
2016-06-07 04:51:09 +03:00
plansmbtorture4testsuite ( ' krb5.kdc ' , env , [ ' ncacn_np:$SERVER_IP ' , " -k " , " yes " , ' -U$USERNAME % $PASSWORD ' , ' --workgroup=$DOMAIN ' , ' --realm=$REALM ' ] ,
" samba4.krb5.kdc with specified account " )
2018-03-22 02:21:52 +03:00
for env in [ " rodc " , " promoted_dc " , " fl2000dc " , " fl2008r2dc " ] :
2015-01-21 05:57:40 +03:00
if env == " rodc " :
2016-06-07 04:51:09 +03:00
# The machine account is cached at the RODC, as it is the local account
2015-01-23 04:28:28 +03:00
extra_options = [ ' --option=torture:expect_rodc=true ' , ' --option=torture:expect_cached_at_rodc=true ' ]
2015-01-21 05:57:40 +03:00
else :
extra_options = [ ]
2015-01-05 04:54:45 +03:00
2015-03-27 16:41:19 +03:00
plansmbtorture4testsuite ( ' krb5.kdc ' , " %s :local " % env , [ ' ncacn_np:$SERVER_IP ' , " -k " , " yes " , ' -P ' ,
2018-07-30 09:16:12 +03:00
' --workgroup=$DOMAIN ' , ' --realm=$REALM ' ,
' --option=torture:krb5-hostname=$SERVER ' ,
' --option=torture:run_removedollar_test=true ' ,
' --option=torture:expect_machine_account=true ' ] + extra_options ,
2015-01-21 05:57:40 +03:00
" samba4.krb5.kdc with machine account " )
2015-01-05 04:54:45 +03:00
2015-06-05 02:53:19 +03:00
for env in [
' vampire_dc ' ,
' promoted_dc ' ] :
planoldpythontestsuite ( env , " samba.tests.kcc " ,
name = " samba.tests.kcc " ,
environ = { ' TEST_SERVER ' : ' $SERVER ' , ' TEST_USERNAME ' : ' $USERNAME ' ,
' TEST_PASSWORD ' : ' $PASSWORD ' ,
' TEST_ENV ' : env
2018-07-30 09:14:43 +03:00
} ,
2015-06-05 02:53:19 +03:00
extra_path = [ os . path . join ( srcdir ( ) , " samba/python " ) , ]
)
2017-08-10 02:57:24 +03:00
planpythontestsuite ( env , " samba.tests.samba_tool.visualize_drs " )
2015-09-22 06:39:19 +03:00
2018-03-14 06:53:13 +03:00
planpythontestsuite ( " ad_dc_ntvfs:local " , " samba.tests.kcc.kcc_utils " )
2018-07-30 09:16:43 +03:00
for env in [ " simpleserver " , " fileserver " , " nt4_dc " , " ad_dc " , " ad_dc_ntvfs " ,
" ad_member " , " offlinebackupdc " , " restoredc " , " renamedc " , " labdc " ] :
2017-07-04 00:31:54 +03:00
planoldpythontestsuite ( env , " netlogonsvc " ,
extra_path = [ os . path . join ( srcdir ( ) , ' python/samba/tests ' ) ] ,
name = " samba.tests.netlogonsvc.python( %s ) " % env )
2018-07-30 09:17:02 +03:00
for env in [ " ktest " , " ad_member " , " ad_dc_no_ntlm " ] :
2017-07-05 05:32:54 +03:00
planoldpythontestsuite ( env , " ntlmdisabled " ,
2017-07-04 04:31:11 +03:00
extra_path = [ os . path . join ( srcdir ( ) , ' python/samba/tests ' ) ] ,
2017-07-05 05:32:54 +03:00
name = " samba.tests.ntlmdisabled.python( %s ) " % env )
2017-07-04 04:31:11 +03:00
2015-09-22 06:39:19 +03:00
# Demote the vampire DC, it must be the last test each DC, before the dbcheck
2015-09-22 06:40:00 +03:00
for env in [ ' vampire_dc ' , ' promoted_dc ' , ' rodc ' ] :
2018-06-06 06:01:28 +03:00
planoldpythontestsuite ( env , " samba.tests.samba_tool.demote " ,
name = " samba.tests.samba_tool.demote " ,
environ = {
' CONFIGFILE ' : ' $PREFIX/ %s /etc/smb.conf ' % env
} ,
extra_args = [ ' -U " $USERNAME % $PASSWORD " ' ] ,
extra_path = [ os . path . join ( srcdir ( ) , " samba/python " ) ]
)
2015-09-22 06:39:19 +03:00
# TODO: Verifying the databases really should be a part of the
# environment teardown.
# check the databases are all OK. PLEASE LEAVE THIS AS THE LAST TEST
2018-06-21 06:04:00 +03:00
for env in [ " ad_dc_ntvfs " , " ad_dc " , " fl2000dc " , " fl2003dc " , " fl2008r2dc " ,
2018-06-11 02:02:11 +03:00
' vampire_dc ' , ' promoted_dc ' , ' backupfromdc ' , ' restoredc ' ,
2018-07-23 06:20:03 +03:00
' renamedc ' , ' offlinebackupdc ' , ' labdc ' ] :
2018-07-30 09:17:14 +03:00
plantestsuite ( " samba4.blackbox.dbcheck( %s ) " % env , env + " :local " , [ " PYTHON= %s " % python , os . path . join ( bbdir , " dbcheck.sh " ) , ' $PREFIX/provision ' , configuration ] )
2017-11-27 01:09:49 +03:00
2018-07-13 00:15:34 +03:00
# cmocka tests not requiring a specific environment
2017-11-27 01:09:49 +03:00
#
2018-07-30 09:17:14 +03:00
plantestsuite ( " samba4.dsdb.samdb.ldb_modules.unique_object_sids " , " none " ,
2017-11-27 01:09:49 +03:00
[ os . path . join ( bindir ( ) , " test_unique_object_sids " ) ] )
2017-12-14 21:21:10 +03:00
plantestsuite ( " samba4.dsdb.samdb.ldb_modules.encrypted_secrets " , " none " ,
2018-07-30 09:15:34 +03:00
[ os . path . join ( bindir ( ) , " test_encrypted_secrets " ) ] )
2018-04-09 21:45:47 +03:00
plantestsuite ( " lib.audit_logging.audit_logging " , " none " ,
2018-07-30 09:15:34 +03:00
[ os . path . join ( bindir ( ) , " audit_logging_test " ) ] )
2018-07-13 00:15:34 +03:00
plantestsuite ( " lib.audit_logging.audit_logging.errors " , " none " ,
2018-07-30 09:15:34 +03:00
[ os . path . join ( bindir ( ) , " audit_logging_error_test " ) ] )
2018-04-04 02:59:41 +03:00
plantestsuite ( " samba4.dsdb.samdb.ldb_modules.audit_util " , " none " ,
2018-07-30 09:15:34 +03:00
[ os . path . join ( bindir ( ) , " test_audit_util " ) ] )
2018-04-04 02:59:41 +03:00
plantestsuite ( " samba4.dsdb.samdb.ldb_modules.audit_log " , " none " ,
2018-07-30 09:15:34 +03:00
[ os . path . join ( bindir ( ) , " test_audit_log " ) ] )
2018-07-13 00:15:34 +03:00
plantestsuite ( " samba4.dsdb.samdb.ldb_modules.audit_log.errors " , " none " ,
2018-07-30 09:15:34 +03:00
[ os . path . join ( bindir ( ) , " test_audit_log_errors " ) ] )
2018-07-13 00:15:34 +03:00
plantestsuite ( " samba4.dsdb.samdb.ldb_modules.group_audit " , " none " ,
2018-07-30 09:15:34 +03:00
[ os . path . join ( bindir ( ) , " test_group_audit " ) ] )
2018-07-13 00:15:34 +03:00
plantestsuite ( " samba4.dsdb.samdb.ldb_modules.group_audit.errors " , " none " ,
2018-07-30 09:15:34 +03:00
[ os . path . join ( bindir ( ) , " test_group_audit_errors " ) ] )