blackbox: fix samba4.blackbox.kinit test
commitdcfb34fbb4b7484bdaa70fbe9ae9fd84738ab469
authorAlexander Bokovoy <ab@samba.org>
Wed, 23 May 2012 14:34:24 +0000 (23 17:34 +0300)
committerAlexander Bokovoy <ab@samba.org>
Wed, 23 May 2012 16:46:12 +0000 (23 18:46 +0200)
tree0bfc075f397402fda5c3f96925afa3a79d49d580
parent2b144531f1a760514f217012e9dab01359b7a0d7
blackbox: fix samba4.blackbox.kinit test

This deserves some explanation.

With commit 518232d4578d700f5f5ea1609275a6cd1de3a1e7 samba4.blackbox.kinit test set
was wrapped with password settings reset before and after the tests with an idea to
maintain reliable state for the tests. As result, the resetting of the password
settings was done after the test that tried to use smbclient with a Kerberos ticket
obtained with machine account credentials.

However, the code in credentials_krb5.c, function cli_credentials_get_client_gss_creds(),
never worked correctly when credentials were already in ccache. Instead, gensec_gssapi module
always re-kinited even if existing credentials were available in the ccache. This had an effect
on 'samba4.blackbox.kinit(dc:local).reset password policies(dc:local)' test equal to
never having initialized ccache at all, as if 'rm -f $KRB5CCNAME' was run before the test.

When the issue of not using already initialized credentials from ccache was fixed with
d0aae88f1290e6a7a6d4bfc24aa62795e4892a31 'auth-credentials: Support using pre-fetched ccache
when obtaining kerberos credentials' commit, Samba 4 credentials library started to correctly
re-used already obtained credentials from ccaches. This caused failure of the test
'samba4.blackbox.kinit(dc:local).reset password policies(dc:local)' because machine account
has no permissions to modify password settings.

Thus, the correct fix is to reset ccache state before performing the test.

Autobuild-User: Alexander Bokovoy <ab@samba.org>
Autobuild-Date: Wed May 23 18:46:12 CEST 2012 on sn-devel-104
testprogs/blackbox/test_kinit.sh