s4-selftest: Avoid running kinit for each new connection
authorAndrew Bartlett <abartlet@samba.org>
Sun, 19 Feb 2012 10:24:59 +0000 (21:24 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Sun, 19 Feb 2012 23:49:56 +0000 (00:49 +0100)
Kerberos is efficient when the credentials cache is set up once and
then reused.

Sadly this test creates a user, does a test and deletes the user, over
and over.

For this, using NTLM saves a little time, but we also stress the rest
of the DB, and should rework the test.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Mon Feb 20 00:49:56 CET 2012 on sn-devel-104

source4/dsdb/tests/python/acl.py
source4/dsdb/tests/python/dirsync.py
source4/dsdb/tests/python/sec_descriptor.py

index 238889a..a624614 100755 (executable)
@@ -26,7 +26,7 @@ from samba.dcerpc import security, drsuapi, misc
 from samba.auth import system_session
 from samba import gensec, sd_utils
 from samba.samdb import SamDB
-from samba.credentials import Credentials
+from samba.credentials import Credentials, DONT_USE_KERBEROS
 import samba.tests
 from samba.tests import delete_force
 from subunit.run import SubunitTestRunner
@@ -94,6 +94,7 @@ class AclTests(samba.tests.TestCase):
         creds_tmp.set_workstation(creds.get_workstation())
         creds_tmp.set_gensec_features(creds_tmp.get_gensec_features()
                                       | gensec.FEATURE_SEAL)
+        creds_tmp.set_kerberos_state(DONT_USE_KERBEROS) # kinit is too expensive to use in a tight loop
         ldb_target = SamDB(url=ldaphost, credentials=creds_tmp, lp=lp)
         return ldb_target
 
index 64b847f..c8027fc 100755 (executable)
@@ -37,7 +37,7 @@ from samba.ndr import ndr_unpack, ndr_pack
 from samba.auth import system_session
 from samba import gensec, sd_utils
 from samba.samdb import SamDB
-from samba.credentials import Credentials
+from samba.credentials import Credentials, DONT_USE_KERBEROS
 import samba.tests
 from samba.tests import delete_force
 from subunit.run import SubunitTestRunner
@@ -98,6 +98,7 @@ class DirsyncBaseTests(samba.tests.TestCase):
         creds_tmp.set_workstation(creds.get_workstation())
         creds_tmp.set_gensec_features(creds_tmp.get_gensec_features()
                                       | gensec.FEATURE_SEAL)
+        creds_tmp.set_kerberos_state(DONT_USE_KERBEROS) # kinit is too expensive to use in a tight loop
         ldb_target = SamDB(url=ldaphost, credentials=creds_tmp, lp=lp)
         return ldb_target
 
index b3e6207..80212a1 100755 (executable)
@@ -24,7 +24,7 @@ from samba.dcerpc import security
 
 from samba import gensec, sd_utils
 from samba.samdb import SamDB
-from samba.credentials import Credentials
+from samba.credentials import Credentials, DONT_USE_KERBEROS
 from samba.auth import system_session
 from samba.dsdb import DS_DOMAIN_FUNCTION_2008
 from samba.dcerpc.security import (
@@ -136,6 +136,7 @@ showInAdvancedViewOnly: TRUE
         creds_tmp.set_workstation(creds.get_workstation())
         creds_tmp.set_gensec_features(creds_tmp.get_gensec_features()
                                       | gensec.FEATURE_SEAL)
+        creds_tmp.set_kerberos_state(DONT_USE_KERBEROS) # kinit is too expensive to use in a tight loop
         ldb_target = SamDB(url=host, credentials=creds_tmp, lp=lp)
         return ldb_target