libgpo: fix the build of gpext plugins.
authorGünther Deschner <gd@samba.org>
Mon, 20 Apr 2009 21:38:11 +0000 (23:38 +0200)
committerGünther Deschner <gd@samba.org>
Mon, 20 Apr 2009 21:38:11 +0000 (23:38 +0200)
Guenther

libgpo/gpo_ini.h
source3/libgpo/gpext/registry.c
source3/libgpo/gpext/scripts.c
source3/libgpo/gpext/security.c
source3/utils/net_ads_gpo.c

index 02ca0ff9ad6c4c3bfa0e55a2bc28a06932433c2a..1f3fa56d32c126d7696d0978fa02371a89461983 100644 (file)
@@ -40,3 +40,6 @@ NTSTATUS parse_gpt_ini(TALLOC_CTX *ctx,
                       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);
+
index 0a0dd9bc0ee36ef13fcee1424002ced38abf4f25..ae2adcc90de6fd54df578ba90f6461dc9a1174ee 100644 (file)
@@ -18,6 +18,7 @@
  */
 
 #include "includes.h"
+#include "../libgpo/gpo_ini.h"
 
 #define GP_EXT_NAME "registry"
 
@@ -534,7 +535,7 @@ static NTSTATUS registry_process_group_policy(ADS_STRUCT *ads,
        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,
index 4ced3abda581dc30af15e47f653e0914b72b339d..43f9b3afb59200d4b226032a07ba361840017169 100644 (file)
@@ -130,9 +130,9 @@ static NTSTATUS scripts_parse_ini_section(struct gp_inifile_context *ini_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);
@@ -354,7 +354,7 @@ static NTSTATUS scripts_process_group_policy(ADS_STRUCT *ads,
        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,
index 8adeb59ead0dcb00ee7f14dd817242038b6c75f6..f0a52fda5d9ed465a2cb4dd3922aab3467fd42b1 100644 (file)
@@ -59,9 +59,9 @@ struct gpttmpl_table {
 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) {
@@ -79,7 +79,7 @@ static NTSTATUS gpttmpl_parse_header(struct gp_inifile_context *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;
        }
 
@@ -88,7 +88,7 @@ static NTSTATUS gpttmpl_parse_header(struct gp_inifile_context *ini_ctx,
        }
 
        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;
        }
@@ -157,7 +157,7 @@ static NTSTATUS security_process_group_policy(ADS_STRUCT *ads,
        /* 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;
        }
index 9e41905d797a3cd20592bb2b960ca6ab02c71ecc..7484726e7717cbe7821630300ad3035741dc9f8a 100644 (file)
@@ -401,7 +401,7 @@ static int net_ads_gpo_apply(struct net_context *c, int argc, const char **argv)
                flags |= GPO_LIST_FLAG_MACHINE;
        }
 
-       if (opt_verbose) {
+       if (c->opt_verbose) {
                flags |= GPO_INFO_FLAG_VERBOSE;
        }
 
@@ -410,7 +410,7 @@ static int net_ads_gpo_apply(struct net_context *c, int argc, const char **argv)
                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);
        }