mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
s4:torture: add a torture_user2_credentials() helper to pass additional credentials
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14512 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
parent
457b989881
commit
341ad1ae68
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
struct smbcli_state;
|
struct smbcli_state;
|
||||||
struct smbcli_tree;
|
struct smbcli_tree;
|
||||||
|
struct cli_credentials;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Useful target macros for handling server bugs in torture tests.
|
* Useful target macros for handling server bugs in torture tests.
|
||||||
@ -107,5 +108,14 @@ NTSTATUS torture_check_privilege(struct smbcli_state *cli,
|
|||||||
const char *sid_str,
|
const char *sid_str,
|
||||||
const char *privilege);
|
const char *privilege);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Use this to pass a 2nd user:
|
||||||
|
*
|
||||||
|
* --option='torture:user2name=user2'
|
||||||
|
* --option='torture:user2domain=domain2'
|
||||||
|
* --option='torture:user2password=password2'
|
||||||
|
*/
|
||||||
|
struct cli_credentials *torture_user2_credentials(struct torture_context *tctx,
|
||||||
|
TALLOC_CTX *mem_ctx);
|
||||||
|
|
||||||
#endif /* _TORTURE_UTIL_H_ */
|
#endif /* _TORTURE_UTIL_H_ */
|
||||||
|
@ -37,6 +37,8 @@
|
|||||||
#include "libcli/util/clilsa.h"
|
#include "libcli/util/clilsa.h"
|
||||||
#include "torture/util.h"
|
#include "torture/util.h"
|
||||||
#include "libcli/smb/smbXcli_base.h"
|
#include "libcli/smb/smbXcli_base.h"
|
||||||
|
#include "auth/credentials/credentials.h"
|
||||||
|
#include "auth/credentials/credentials_krb5.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
setup a directory ready for a test
|
setup a directory ready for a test
|
||||||
@ -968,3 +970,51 @@ NTSTATUS torture_check_privilege(struct smbcli_state *cli,
|
|||||||
|
|
||||||
return smblsa_sid_check_privilege(cli, sid_str, privilege);
|
return smblsa_sid_check_privilege(cli, sid_str, privilege);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Use this to pass a 2nd user:
|
||||||
|
*
|
||||||
|
* --option='torture:user2name=user2'
|
||||||
|
* --option='torture:user2domain=domain2'
|
||||||
|
* --option='torture:user2password=password2'
|
||||||
|
*/
|
||||||
|
struct cli_credentials *torture_user2_credentials(struct torture_context *tctx,
|
||||||
|
TALLOC_CTX *mem_ctx)
|
||||||
|
{
|
||||||
|
struct cli_credentials *credentials1 = popt_get_cmdline_credentials();
|
||||||
|
const char *user1domain = cli_credentials_get_domain(credentials1);
|
||||||
|
const char *user2name = torture_setting_string(tctx, "user2name", NULL);
|
||||||
|
const char *user2domain = torture_setting_string(tctx, "user2domain", user1domain);
|
||||||
|
const char *user2password = torture_setting_string(tctx, "user2password", NULL);
|
||||||
|
struct cli_credentials *credentials2 = NULL;
|
||||||
|
|
||||||
|
credentials2 = cli_credentials_shallow_copy(mem_ctx, credentials1);
|
||||||
|
if (credentials2 == NULL) {
|
||||||
|
torture_comment(tctx,
|
||||||
|
"%s: cli_credentials_shallow_copy() failed\n",
|
||||||
|
__func__);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
if (user2name != NULL) {
|
||||||
|
torture_comment(tctx,
|
||||||
|
"Using "
|
||||||
|
"'torture:user2name'='%s' "
|
||||||
|
"'torture:user2domain'='%s' "
|
||||||
|
"'torture:user2password'='REDACTED'",
|
||||||
|
user2name,
|
||||||
|
user2domain);
|
||||||
|
cli_credentials_set_username(credentials2, user2name, CRED_SPECIFIED);
|
||||||
|
cli_credentials_set_domain(credentials2, user2domain, CRED_SPECIFIED);
|
||||||
|
cli_credentials_set_password(credentials2, user2password, CRED_SPECIFIED);
|
||||||
|
} else {
|
||||||
|
torture_comment(tctx,
|
||||||
|
"Fallback to anonymous for "
|
||||||
|
"'torture:user2name'=NULL "
|
||||||
|
"'torture:user2domain'='%s' "
|
||||||
|
"'torture:user2password'='REDACTED'",
|
||||||
|
user2domain);
|
||||||
|
cli_credentials_set_anonymous(credentials2);
|
||||||
|
}
|
||||||
|
|
||||||
|
return credentials2;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user