diff options
author | Lutz Justen <ljusten@google.com> | 2017-09-21 10:01:58 -0700 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2017-09-23 01:25:24 +0200 |
commit | 6a531773b841f6b713226d1166a1e7d4dbc9b282 (patch) | |
tree | 6352dc5b6c1c7364c2e94ff6ee7313d5638d1d19 /libgpo | |
parent | c40531d9b964588f96d2ab5545b328f8dc787ad9 (diff) | |
download | samba-6a531773b841f6b713226d1166a1e7d4dbc9b282.tar.gz |
lib: gpo: Changes order to match GPO application order.
The order of GPOs in a gpo_list generated by ads_get_gpo_list
did not match the order of application. Since GPOs are pushed
to the FRONT of gpo_list, GPOs have to be pushed in the opposite
order of application. (Pushing to front is useful to get
inheritance blocking right).
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13046
Signed-off-by: Lutz Justen <ljusten@google.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
Diffstat (limited to 'libgpo')
-rw-r--r-- | libgpo/gpo_ldap.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/libgpo/gpo_ldap.c b/libgpo/gpo_ldap.c index 4533d61a1e3..7ede12c3c21 100644 --- a/libgpo/gpo_ldap.c +++ b/libgpo/gpo_ldap.c @@ -812,12 +812,6 @@ ADS_STATUS ads_get_gpo_list(ADS_STRUCT *ads, dump_gplink(&gp_link); } - /* block inheritance from now on */ - if (gp_link.gp_opts & - GPOPTIONS_BLOCK_INHERITANCE) { - add_only_forced_gpos = true; - } - status = add_gplink_to_gpo_list(ads, mem_ctx, gpo_list, @@ -829,6 +823,12 @@ ADS_STATUS ads_get_gpo_list(ADS_STRUCT *ads, if (!ADS_ERR_OK(status)) { return status; } + + /* block inheritance from now on */ + if (gp_link.gp_opts & + GPOPTIONS_BLOCK_INHERITANCE) { + add_only_forced_gpos = true; + } } } @@ -858,12 +858,6 @@ ADS_STATUS ads_get_gpo_list(ADS_STRUCT *ads, dump_gplink(&gp_link); } - /* block inheritance from now on */ - if (gp_link.gp_opts & - GPOPTIONS_BLOCK_INHERITANCE) { - add_only_forced_gpos = true; - } - status = add_gplink_to_gpo_list(ads, mem_ctx, gpo_list, @@ -875,6 +869,12 @@ ADS_STATUS ads_get_gpo_list(ADS_STRUCT *ads, if (!ADS_ERR_OK(status)) { return status; } + + /* block inheritance from now on */ + if (gp_link.gp_opts & + GPOPTIONS_BLOCK_INHERITANCE) { + add_only_forced_gpos = true; + } } } |