1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-03 13:47:25 +03:00

Reuse the lp_ctx and samdb returned by the python provision.

Apply the same fix as in libnet_vampire in the old DRS test code.

Andrew Bartlett
This commit is contained in:
Andrew Bartlett 2008-04-11 19:37:23 +10:00
parent 6875e6823f
commit 34adb0e0bb

View File

@ -69,13 +69,6 @@ static NTSTATUS test_become_dc_prepare_db(void *private_data,
struct provision_settings settings;
struct provision_result result;
NTSTATUS status;
bool ok;
struct loadparm_context *lp_ctx = loadparm_init(s);
char *smbconf;
if (!lp_ctx) {
return NT_STATUS_NO_MEMORY;
}
settings.site_name = p->dest_dsa->site_name;
settings.root_dn_str = p->forest->root_dn_str;
@ -91,35 +84,8 @@ static NTSTATUS test_become_dc_prepare_db(void *private_data,
status = provision_bare(s, s->lp_ctx, &settings, &result);
smbconf = talloc_asprintf(lp_ctx, "%s/%s", s->targetdir, "/etc/smb.conf");
ok = lp_load(lp_ctx, smbconf);
if (!ok) {
DEBUG(0,("Failed load freshly generated smb.conf '%s'\n", smbconf));
return NT_STATUS_INVALID_PARAMETER;
}
s->ldb = ldb_wrap_connect(s, lp_ctx, lp_sam_url(lp_ctx),
system_session(s, lp_ctx),
NULL, 0, NULL);
if (!s->ldb) {
DEBUG(0,("Failed to open '%s'\n", lp_sam_url(lp_ctx)));
return NT_STATUS_INTERNAL_DB_ERROR;
}
ok = samdb_set_ntds_invocation_id(s->ldb, &p->dest_dsa->invocation_id);
if (!ok) {
DEBUG(0,("Failed to set cached ntds invocationId\n"));
return NT_STATUS_FOOBAR;
}
ok = samdb_set_ntds_objectGUID(s->ldb, &p->dest_dsa->ntds_guid);
if (!ok) {
DEBUG(0,("Failed to set cached ntds objectGUID\n"));
return NT_STATUS_FOOBAR;
}
s->lp_ctx = lp_ctx;
s->ldb = result.samdb;
s->lp_ctx = result.lp_ctx;
return NT_STATUS_OK;