The branch, master has been updated via 8c87d4e s3-gpo: Build scripts, security and registry CSE with --enable-developer via b6d2017 s3-gpo: Fix build of scripts CSE from 24d43f8 WHATSNEW: Add new 'net tdb locking' command
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 8c87d4eedc123ba000a536666b961f589581f8c4 Author: Günther Deschner <g...@samba.org> Date: Thu May 4 15:07:14 2017 +0200 s3-gpo: Build scripts, security and registry CSE with --enable-developer Guenther Signed-off-by: Guenther Deschner <g...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Autobuild-User(master): Volker Lendecke <v...@samba.org> Autobuild-Date(master): Tue May 9 05:18:52 CEST 2017 on sn-devel-144 commit b6d2017467b59a5929a21b53fff52542d3dee9de Author: Günther Deschner <g...@samba.org> Date: Thu May 4 15:06:39 2017 +0200 s3-gpo: Fix build of scripts CSE Guenther Signed-off-by: Guenther Deschner <g...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> ----------------------------------------------------------------------- Summary of changes: source3/libgpo/gpext/registry.c | 2 ++ source3/libgpo/gpext/scripts.c | 41 ++++++++++++++++++++++++----------------- source3/libgpo/gpext/security.c | 2 ++ source3/wscript | 1 + 4 files changed, 29 insertions(+), 17 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/libgpo/gpext/registry.c b/source3/libgpo/gpext/registry.c index 088701a..4a0d0cf 100644 --- a/source3/libgpo/gpext/registry.c +++ b/source3/libgpo/gpext/registry.c @@ -37,6 +37,8 @@ static TALLOC_CTX *ctx = NULL; +NTSTATUS gpext_registry_init(TALLOC_CTX *mem_ctx); + /**************************************************************** ****************************************************************/ diff --git a/source3/libgpo/gpext/scripts.c b/source3/libgpo/gpext/scripts.c index 3f2c514..de66413 100644 --- a/source3/libgpo/gpext/scripts.c +++ b/source3/libgpo/gpext/scripts.c @@ -44,6 +44,8 @@ #define GP_SCRIPTS_REG_VAL_PARAMETERS "Parameters" #define GP_SCRIPTS_REG_VAL_EXECTIME "ExecTime" +NTSTATUS gpext_scripts_init(TALLOC_CTX *mem_ctx); + static TALLOC_CTX *ctx = NULL; /**************************************************************** @@ -83,7 +85,7 @@ static NTSTATUS generate_gp_registry_entry(TALLOC_CTX *mem_ctx, const char *key, const char *value, uint32_t data_type, - const void *data_p, + DATA_BLOB *blob, enum gp_reg_action action, struct gp_registry_entry **entry_out) { @@ -97,19 +99,7 @@ static NTSTATUS generate_gp_registry_entry(TALLOC_CTX *mem_ctx, NT_STATUS_HAVE_NO_MEMORY(data); data->type = data_type; - switch (data->type) { - case REG_QWORD: - data->data = data_blob_talloc(mem_ctx, NULL, 8); - SBVAL(data->data.data, 0, *(uint64_t *)data_p); - break; - case REG_SZ: - if (!push_reg_sz(mem_ctx, &data->data, (const char *)data_p)) { - return NT_STATUS_NO_MEMORY; - } - break; - default: - return NT_STATUS_NOT_SUPPORTED; - } + data->data = *blob; entry->key = key; entry->data = data; @@ -141,6 +131,8 @@ static NTSTATUS scripts_parse_ini_section(struct gp_inifile_context *ini_ctx, const char *script = NULL; const char *count = NULL; const char *parameters = NULL; + DATA_BLOB blob; + bool ok; count = talloc_asprintf(ini_ctx->mem_ctx, "%d", i); NT_STATUS_HAVE_NO_MEMORY(count); @@ -167,11 +159,17 @@ static NTSTATUS scripts_parse_ini_section(struct gp_inifile_context *ini_ctx, { struct gp_registry_entry *entry = NULL; + + ok = push_reg_sz(ini_ctx->mem_ctx, &blob, script); + if (!ok) { + return NT_STATUS_NO_MEMORY; + } + status = generate_gp_registry_entry(ini_ctx->mem_ctx, count, GP_SCRIPTS_REG_VAL_SCRIPT, REG_SZ, - script, + &blob, GP_REG_ACTION_ADD_VALUE, &entry); NT_STATUS_NOT_OK_RETURN(status); @@ -184,11 +182,17 @@ static NTSTATUS scripts_parse_ini_section(struct gp_inifile_context *ini_ctx, } { struct gp_registry_entry *entry = NULL; + + ok = push_reg_sz(ini_ctx->mem_ctx, &blob, parameters); + if (!ok) { + return NT_STATUS_NO_MEMORY; + } + status = generate_gp_registry_entry(ini_ctx->mem_ctx, count, GP_SCRIPTS_REG_VAL_PARAMETERS, REG_SZ, - parameters, + &blob, GP_REG_ACTION_ADD_VALUE, &entry); NT_STATUS_NOT_OK_RETURN(status); @@ -201,11 +205,14 @@ static NTSTATUS scripts_parse_ini_section(struct gp_inifile_context *ini_ctx, } { struct gp_registry_entry *entry = NULL; + + blob = data_blob_talloc_zero(ini_ctx->mem_ctx, 8); + status = generate_gp_registry_entry(ini_ctx->mem_ctx, count, GP_SCRIPTS_REG_VAL_EXECTIME, REG_QWORD, - 0, + &blob, GP_REG_ACTION_ADD_VALUE, &entry); NT_STATUS_NOT_OK_RETURN(status); diff --git a/source3/libgpo/gpext/security.c b/source3/libgpo/gpext/security.c index 3650f4c..29e7bb7 100644 --- a/source3/libgpo/gpext/security.c +++ b/source3/libgpo/gpext/security.c @@ -42,6 +42,8 @@ #define GPTTMPL_SECTION_FILE_SECURITY "File Security" #define GPTTMPL_SECTION_SERVICE_GENERAL_SETTING "Service General Setting" +NTSTATUS gpext_security_init(TALLOC_CTX *mem_ctx); + static TALLOC_CTX *ctx = NULL; struct gpttmpl_table { diff --git a/source3/wscript b/source3/wscript index e9705b9..5a3749c 100644 --- a/source3/wscript +++ b/source3/wscript @@ -1699,6 +1699,7 @@ main() { default_shared_modules.extend(TO_LIST('vfs_skel_opaque vfs_skel_transparent vfs_shadow_copy_test')) default_shared_modules.extend(TO_LIST('auth_skel pdb_test')) default_shared_modules.extend(TO_LIST('vfs_fake_dfq')) + default_shared_modules.extend(TO_LIST('gpext_security gpext_registry gpext_scripts')) if Options.options.enable_selftest or Options.options.developer: default_shared_modules.extend(TO_LIST('vfs_fake_acls vfs_nfs4acl_xattr')) -- Samba Shared Repository