Docs: Remove some ntdb references
[bbaumbach/samba-autobuild/.git] / libgpo / gpo_ldap.c
index a884198ed5b7b9f6b974d21d1709474ab310aa09..f797c2f8ad535e6160fd857eaf4f87f22669f602 100644 (file)
  */
 
 #include "includes.h"
-#if _SAMBA_BUILD_ == 4
 #include "libgpo/gpo.h"
-#include "libgpo/gpo_s4.h"
-#include "source4/libgpo/ads_convenience.h"
-#endif
+#include "auth.h"
+#include "../libcli/security/security.h"
 
 /****************************************************************
  parse the raw extension string into a GP_EXT structure
@@ -485,7 +483,7 @@ ADS_STATUS ads_get_gpo(ADS_STRUCT *ads,
                "ntSecurityDescriptor",
                "versionNumber",
                NULL};
-       uint32_t sd_flags = DACL_SECURITY_INFORMATION;
+       uint32_t sd_flags = SECINFO_DACL;
 
        ZERO_STRUCTP(gpo);
 
@@ -552,7 +550,7 @@ static ADS_STATUS add_gplink_to_gpo_list(ADS_STRUCT *ads,
                                         struct GP_LINK *gp_link,
                                         enum GPO_LINK_TYPE link_type,
                                         bool only_add_forced_gpos,
-                                        const NT_USER_TOKEN *token)
+                                        const struct security_token *token)
 {
        ADS_STATUS status;
        int i;
@@ -580,7 +578,7 @@ static ADS_STATUS add_gplink_to_gpo_list(ADS_STRUCT *ads,
                        }
                }
 
-               new_gpo = TALLOC_ZERO_P(mem_ctx, struct GROUP_POLICY_OBJECT);
+               new_gpo = talloc_zero(mem_ctx, struct GROUP_POLICY_OBJECT);
                ADS_ERROR_HAVE_NO_MEMORY(new_gpo);
 
                status = ads_get_gpo(ads, mem_ctx, gp_link->link_names[i],
@@ -619,16 +617,16 @@ static ADS_STATUS add_gplink_to_gpo_list(ADS_STRUCT *ads,
 ADS_STATUS ads_get_sid_token(ADS_STRUCT *ads,
                             TALLOC_CTX *mem_ctx,
                             const char *dn,
-                            NT_USER_TOKEN **token)
+                            struct security_token **token)
 {
        ADS_STATUS status;
-       DOM_SID object_sid;
-       DOM_SID primary_group_sid;
-       DOM_SID *ad_token_sids;
+       struct dom_sid object_sid;
+       struct dom_sid primary_group_sid;
+       struct dom_sid *ad_token_sids;
        size_t num_ad_token_sids = 0;
-       DOM_SID *token_sids;
-       size_t num_token_sids = 0;
-       NT_USER_TOKEN *new_token = NULL;
+       struct dom_sid *token_sids;
+       uint32_t num_token_sids = 0;
+       struct security_token *new_token = NULL;
        int i;
 
        status = ads_get_tokensids(ads, mem_ctx, dn,
@@ -638,7 +636,7 @@ ADS_STATUS ads_get_sid_token(ADS_STRUCT *ads,
                return status;
        }
 
-       token_sids = TALLOC_ARRAY(mem_ctx, DOM_SID, 1);
+       token_sids = talloc_array(mem_ctx, struct dom_sid, 1);
        ADS_ERROR_HAVE_NO_MEMORY(token_sids);
 
        status = ADS_ERROR_NT(add_sid_to_array_unique(mem_ctx,
@@ -670,7 +668,7 @@ ADS_STATUS ads_get_sid_token(ADS_STRUCT *ads,
 
        *token = new_token;
 
-       debug_nt_user_token(DBGC_CLASS, 5, *token);
+       security_token_debug(DBGC_CLASS, 5, *token);
 
        return ADS_ERROR_LDAP(LDAP_SUCCESS);
 }
@@ -686,7 +684,7 @@ static ADS_STATUS add_local_policy_to_gpo_list(TALLOC_CTX *mem_ctx,
 
        ADS_ERROR_HAVE_NO_MEMORY(gpo_list);
 
-       gpo = TALLOC_ZERO_P(mem_ctx, struct GROUP_POLICY_OBJECT);
+       gpo = talloc_zero(mem_ctx, struct GROUP_POLICY_OBJECT);
        ADS_ERROR_HAVE_NO_MEMORY(gpo);
 
        gpo->name = talloc_strdup(mem_ctx, "Local Policy");
@@ -710,7 +708,7 @@ ADS_STATUS ads_get_gpo_list(ADS_STRUCT *ads,
                            TALLOC_CTX *mem_ctx,
                            const char *dn,
                            uint32_t flags,
-                           const NT_USER_TOKEN *token,
+                           const struct security_token *token,
                            struct GROUP_POLICY_OBJECT **gpo_list)
 {
        /* (L)ocal (S)ite (D)omain (O)rganizational(U)nit */
@@ -726,6 +724,10 @@ ADS_STATUS ads_get_gpo_list(ADS_STRUCT *ads,
                return ADS_ERROR_NT(NT_STATUS_INVALID_PARAMETER);
        }
 
+       if (!ads_set_sasl_wrap_flags(ads, ADS_AUTH_SASL_SIGN)) {
+               return ADS_ERROR(LDAP_INVALID_CREDENTIALS);
+       }
+
        DEBUG(10,("ads_get_gpo_list: getting GPO list for [%s]\n", dn));
 
        /* (L)ocal */
@@ -754,7 +756,7 @@ ADS_STATUS ads_get_gpo_list(ADS_STRUCT *ads,
                if (ADS_ERR_OK(status)) {
 
                        if (DEBUGLEVEL >= 100) {
-                               dump_gplink(ads, mem_ctx, &gp_link);
+                               dump_gplink(&gp_link);
                        }
 
                        status = add_gplink_to_gpo_list(ads, mem_ctx, gpo_list,
@@ -792,7 +794,7 @@ ADS_STATUS ads_get_gpo_list(ADS_STRUCT *ads,
                        if (ADS_ERR_OK(status)) {
 
                                if (DEBUGLEVEL >= 100) {
-                                       dump_gplink(ads, mem_ctx, &gp_link);
+                                       dump_gplink(&gp_link);
                                }
 
                                /* block inheritance from now on */
@@ -838,7 +840,7 @@ ADS_STATUS ads_get_gpo_list(ADS_STRUCT *ads,
                        if (ADS_ERR_OK(status)) {
 
                                if (DEBUGLEVEL >= 100) {
-                                       dump_gplink(ads, mem_ctx, &gp_link);
+                                       dump_gplink(&gp_link);
                                }
 
                                /* block inheritance from now on */