const char *filename,
uint32_t *version,
char **display_name);
+NTSTATUS gp_inifile_getstring(struct gp_inifile_context *ctx, const char *key, char **ret);
+NTSTATUS gp_inifile_getint(struct gp_inifile_context *ctx, const char *key, int *ret);
+
*/
#include "includes.h"
+#include "../libgpo/gpo_ini.h"
#define GP_EXT_NAME "registry"
debug_gpext_header(0, "registry_process_group_policy", flags, gpo,
extension_guid, snapin_guid);
- status = gpo_get_unix_path(mem_ctx, gpo, &unix_path);
+ status = gpo_get_unix_path(mem_ctx, cache_path(GPO_CACHE_DIR), gpo, &unix_path);
NT_STATUS_NOT_OK_RETURN(status);
status = reg_parse_registry(mem_ctx,
while (1) {
const char *key = NULL;
- const char *script = NULL;
+ char *script = NULL;
const char *count = NULL;
- const char *parameters = NULL;
+ char *parameters = NULL;
count = talloc_asprintf(ini_ctx->mem_ctx, "%d", i);
NT_STATUS_HAVE_NO_MEMORY(count);
debug_gpext_header(0, "scripts_process_group_policy", flags, gpo,
extension_guid, snapin_guid);
- status = gpo_get_unix_path(mem_ctx, gpo, &unix_path);
+ status = gpo_get_unix_path(mem_ctx, cache_path(GPO_CACHE_DIR), gpo, &unix_path);
NT_STATUS_NOT_OK_RETURN(status);
status = gp_inifile_init_context(mem_ctx, flags, unix_path,
static NTSTATUS gpttmpl_parse_header(struct gp_inifile_context *ini_ctx,
uint32_t *version_out)
{
- const char *signature = NULL;
+ char *signature = NULL;
NTSTATUS result;
- uint32_t version;
+ int version;
int is_unicode;
if (!ini_ctx) {
}
result = gp_inifile_getint(ini_ctx, GPTTMPL_SECTION_VERSION
":"GPTTMPL_PARAMETER_REVISION, &version);
- if (!NT_STATUS_IS_OK(result))
+ if (!NT_STATUS_IS_OK(result)) {
return NT_STATUS_INTERNAL_DB_CORRUPTION;
}
}
result = gp_inifile_getint(ini_ctx, GPTTMPL_SECTION_UNICODE
- ":"GPTTMPL_PARAMETER_UNICODE, is_unicode);
+ ":"GPTTMPL_PARAMETER_UNICODE, &is_unicode);
if (!NT_STATUS_IS_OK(result) || !is_unicode) {
return NT_STATUS_INTERNAL_DB_CORRUPTION;
}
/* this handler processes the gpttmpl files and merge output to the
* registry */
- status = gpo_get_unix_path(mem_ctx, gpo, &unix_path);
+ status = gpo_get_unix_path(mem_ctx, cache_path(GPO_CACHE_DIR), gpo, &unix_path);
if (!NT_STATUS_IS_OK(status)) {
goto out;
}
flags |= GPO_LIST_FLAG_MACHINE;
}
- if (opt_verbose) {
+ if (c->opt_verbose) {
flags |= GPO_INFO_FLAG_VERBOSE;
}
argv[0], dn);
if (uac & UF_WORKSTATION_TRUST_ACCOUNT) {
- status = gp_get_machine_token(ads, mem_ctx, dn, &token);
+ status = gp_get_machine_token(ads, mem_ctx, NULL, dn, &token);
} else {
status = ads_get_sid_token(ads, mem_ctx, dn, &token);
}