mirror of
https://github.com/samba-team/samba.git
synced 2025-03-27 22:50:26 +03:00
libgpo: add gp_inifile_init_context_direct()
This varient ignores the group policy flags and does not try to find the right unix path. Guenther Signed-off-by: Guenther Deschner <gd@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
This commit is contained in:
parent
90deb9f04c
commit
5c16dfe325
@ -272,6 +272,59 @@ NTSTATUS gp_inifile_init_context(TALLOC_CTX *mem_ctx,
|
||||
return status;
|
||||
}
|
||||
|
||||
/****************************************************************
|
||||
****************************************************************/
|
||||
|
||||
NTSTATUS gp_inifile_init_context_direct(TALLOC_CTX *mem_ctx,
|
||||
const char *unix_path,
|
||||
struct gp_inifile_context **pgp_ctx)
|
||||
{
|
||||
struct gp_inifile_context *gp_ctx = NULL;
|
||||
NTSTATUS status;
|
||||
int rv;
|
||||
char *tmp_filename = NULL;
|
||||
|
||||
if (unix_path == NULL || pgp_ctx == NULL) {
|
||||
return NT_STATUS_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
gp_ctx = talloc_zero(mem_ctx, struct gp_inifile_context);
|
||||
if (gp_ctx == NULL) {
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
status = convert_file_from_ucs2(mem_ctx, unix_path,
|
||||
&tmp_filename);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
goto failed;
|
||||
}
|
||||
|
||||
rv = pm_process(tmp_filename,
|
||||
change_section,
|
||||
store_keyval_pair,
|
||||
gp_ctx);
|
||||
if (rv != 0) {
|
||||
return NT_STATUS_NO_SUCH_FILE;
|
||||
}
|
||||
|
||||
gp_ctx->generated_filename = tmp_filename;
|
||||
gp_ctx->mem_ctx = mem_ctx;
|
||||
|
||||
*pgp_ctx = gp_ctx;
|
||||
|
||||
return NT_STATUS_OK;
|
||||
|
||||
failed:
|
||||
|
||||
DEBUG(1,("gp_inifile_init_context_direct failed: %s\n",
|
||||
nt_errstr(status)));
|
||||
|
||||
talloc_free(gp_ctx);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
/****************************************************************
|
||||
parse the local gpt.ini file
|
||||
****************************************************************/
|
||||
|
@ -35,7 +35,9 @@ struct gp_inifile_context {
|
||||
NTSTATUS gp_inifile_init_context(TALLOC_CTX *mem_ctx, uint32_t flags,
|
||||
const char *unix_path, const char *suffix,
|
||||
struct gp_inifile_context **ctx_ret);
|
||||
|
||||
NTSTATUS gp_inifile_init_context_direct(TALLOC_CTX *mem_ctx,
|
||||
const char *unix_path,
|
||||
struct gp_inifile_context **ctx_ret);
|
||||
NTSTATUS parse_gpt_ini(TALLOC_CTX *ctx,
|
||||
const char *filename,
|
||||
uint32_t *version,
|
||||
|
Loading…
x
Reference in New Issue
Block a user