diff options
Diffstat (limited to 'source4/scripting')
-rw-r--r-- | source4/scripting/ejs/smbcalls_creds.c | 12 | ||||
-rw-r--r-- | source4/scripting/libjs/provision.js | 3 |
2 files changed, 15 insertions, 0 deletions
diff --git a/source4/scripting/ejs/smbcalls_creds.c b/source4/scripting/ejs/smbcalls_creds.c index cc2ccf8c47..3cd554b957 100644 --- a/source4/scripting/ejs/smbcalls_creds.c +++ b/source4/scripting/ejs/smbcalls_creds.c @@ -240,6 +240,16 @@ int ejs_credentials_cmdline(int eid, int argc, struct MprVar **argv) return ejs_credentials_obj(obj, cmdline_credentials); } +static int ejs_credentials_update_all_keytabs(MprVarHandle eid, int argc, struct MprVar **argv) +{ + if (!NT_STATUS_IS_OK(cli_credentials_update_all_keytabs(mprMemCtx()))) { + mpr_Return(eid, mprCreateBoolVar(False)); + } else { + mpr_Return(eid, mprCreateBoolVar(True)); + } + return 0; +} + /* setup C functions that be called from ejs @@ -247,4 +257,6 @@ int ejs_credentials_cmdline(int eid, int argc, struct MprVar **argv) void smb_setup_ejs_credentials(void) { ejsDefineCFunction(-1, "credentials_init", ejs_credentials_init, NULL, MPR_VAR_SCRIPT_HANDLE); + ejsDefineCFunction(-1, "credentials_update_all_keytabs", ejs_credentials_update_all_keytabs, NULL, MPR_VAR_SCRIPT_HANDLE); } + diff --git a/source4/scripting/libjs/provision.js b/source4/scripting/libjs/provision.js index 513fb23cd9..0b6a31ae4f 100644 --- a/source4/scripting/libjs/provision.js +++ b/source4/scripting/libjs/provision.js @@ -302,6 +302,9 @@ function provision(subobj, message, blank, paths) setup_file("provision.zone", paths.dns, subobj); + message("Setting up keytabs\n"); + var keytab_ok = credentials_update_all_keytabs(); + assert(keytab_ok); } /* |