mirror of
https://github.com/samba-team/samba.git
synced 2025-10-25 19:33:18 +03:00
r12928: This patch improves the interaction between the vampire and provsion code.
Previously, we had to know (or guess) the host and domain guid at the
provision stage. Now we query the database post-provision, to extract
the values and fill in the zone file.
This allows us to generate a correct zone file in the Windows migration case.
In an effort to make SWAT easier to use, I have removed and renamed
some of the provision options.
I have also fixed a nasty issue in my js code. I had implictly
declared a global variable of the name 'join', with disasterious
results for any subsequent user of the string utility function:
esp exception - ASSERT at lib/appweb/ejs/ejsParser.c:2064, 0
Backtrace:
[ 0] substitute_var:20 -> list[i] = join("", list2)
[ 1] setup_file:9 -> data = substitute_var(data, subobj)
Andrew Bartlett
This commit is contained in:
committed by
Gerald (Jerry) Carter
parent
01e98966ca
commit
a38ceefd11
@@ -46,7 +46,7 @@ static int ejs_net_context(MprVarHandle eid, int argc, struct MprVar **argv)
|
||||
/* TODO: Need to get the right event context in here */
|
||||
ctx = libnet_context_init(NULL);
|
||||
|
||||
if (argc == 0) {
|
||||
if (argc == 0 || (argc == 1 && argv[0]->type == MPR_TYPE_NULL)) {
|
||||
creds = cli_credentials_init(ctx);
|
||||
if (creds == NULL) {
|
||||
ejsSetErrorMsg(eid, "cli_credential_init() failed");
|
||||
@@ -156,14 +156,19 @@ static int ejs_net_samsync_ldb(MprVarHandle eid, int argc, struct MprVar **argv)
|
||||
|
||||
/* prepare parameters for the samsync */
|
||||
samsync->in.machine_account = NULL;
|
||||
samsync->in.session_info = NULL;
|
||||
samsync->in.binding_string = NULL;
|
||||
samsync->out.error_string = NULL;
|
||||
|
||||
if (argc == 1 && argv[0]->type == MPR_TYPE_OBJECT) {
|
||||
MprVar *credentials = mprGetProperty(argv[0], "machine_account", NULL);
|
||||
MprVar *session_info = mprGetProperty(argv[0], "session_info", NULL);
|
||||
if (credentials) {
|
||||
samsync->in.machine_account = talloc_get_type(mprGetPtr(credentials, "creds"), struct cli_credentials);
|
||||
}
|
||||
if (session_info) {
|
||||
samsync->in.session_info = talloc_get_type(mprGetPtr(session_info, "session_info"), struct auth_session_info);
|
||||
}
|
||||
}
|
||||
|
||||
/* do the domain samsync */
|
||||
|
||||
Reference in New Issue
Block a user