summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2013-12-19 17:29:10 +0100
committerAndreas Schneider <asn@samba.org>2014-01-07 16:59:39 +0100
commitc3f9d9929c494e9f750e0fd02443cc645ca1bba8 (patch)
tree509d37dd9fe21f00693dd6c944c12b92d25a274a
parenta78b4d4f65e05ad73ed59713f1ce323d176e7b8c (diff)
downloadsamba-c3f9d9929c494e9f750e0fd02443cc645ca1bba8.tar.gz
libgpo: allow to pass down a list of deleted GPOs in gpo_process_gpo_list().
Guenther Signed-off-by: Günther Deschner <gd@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
-rw-r--r--libgpo/gpo.h3
-rw-r--r--libgpo/gpo_util.c7
-rw-r--r--source3/utils/net_ads_gpo.c2
3 files changed, 7 insertions, 5 deletions
diff --git a/libgpo/gpo.h b/libgpo/gpo.h
index f32b7399986..4f856fd8f08 100644
--- a/libgpo/gpo.h
+++ b/libgpo/gpo.h
@@ -228,7 +228,8 @@ void dump_gpo_list(const struct GROUP_POLICY_OBJECT *gpo_list,
void dump_gplink(const struct GP_LINK *gp_link);
NTSTATUS gpo_process_gpo_list(TALLOC_CTX *mem_ctx,
const struct security_token *token,
- struct GROUP_POLICY_OBJECT *gpo_list,
+ const struct GROUP_POLICY_OBJECT *deleted_gpo_list,
+ const struct GROUP_POLICY_OBJECT *changed_gpo_list,
const char *extensions_guid_filter,
uint32_t flags);
NTSTATUS check_refresh_gpo(ADS_STRUCT *ads,
diff --git a/libgpo/gpo_util.c b/libgpo/gpo_util.c
index b654d4ad584..4d87eb3afca 100644
--- a/libgpo/gpo_util.c
+++ b/libgpo/gpo_util.c
@@ -427,7 +427,8 @@ bool gpo_get_gp_ext_from_gpo(TALLOC_CTX *mem_ctx,
NTSTATUS gpo_process_gpo_list(TALLOC_CTX *mem_ctx,
const struct security_token *token,
- struct GROUP_POLICY_OBJECT *gpo_list,
+ const struct GROUP_POLICY_OBJECT *deleted_gpo_list,
+ const struct GROUP_POLICY_OBJECT *changed_gpo_list,
const char *extensions_guid_filter,
uint32_t flags)
{
@@ -455,8 +456,8 @@ NTSTATUS gpo_process_gpo_list(TALLOC_CTX *mem_ctx,
status = gpext_process_extension(mem_ctx,
flags, token, root_key,
- NULL,
- gpo_list,
+ deleted_gpo_list,
+ changed_gpo_list,
extensions_guid_filter);
talloc_free(reg_ctx);
talloc_free(root_key);
diff --git a/source3/utils/net_ads_gpo.c b/source3/utils/net_ads_gpo.c
index b9b0a142296..444e160561c 100644
--- a/source3/utils/net_ads_gpo.c
+++ b/source3/utils/net_ads_gpo.c
@@ -433,7 +433,7 @@ static int net_ads_gpo_apply(struct net_context *c, int argc, const char **argv)
goto out;
}
- status = ADS_ERROR_NT(gpo_process_gpo_list(mem_ctx, token, gpo_list,
+ status = ADS_ERROR_NT(gpo_process_gpo_list(mem_ctx, token, NULL, gpo_list,
filter, flags));
if (!ADS_ERR_OK(status)) {
d_printf("failed to process gpo list: %s\n",