what a wurst.
[derrell/samba3/.git] / source / libgpo / gpo_util.c
index 79f2690245e49cdf60b1067920f9e62dfd7d5dec..b9053d0ae5b3ff961dca74905fc294b457f4c93b 100644 (file)
@@ -750,3 +750,28 @@ NTSTATUS gp_find_file(TALLOC_CTX *mem_ctx,
        return NT_STATUS_NO_SUCH_FILE;
 }
 
+/****************************************************************
+****************************************************************/
+
+ADS_STATUS gp_get_machine_token(ADS_STRUCT *ads,
+                               TALLOC_CTX *mem_ctx,
+                               const char *dn,
+                               struct nt_user_token **token)
+{
+       struct nt_user_token *ad_token = NULL;
+       ADS_STATUS status;
+       NTSTATUS ntstatus;
+
+       status = ads_get_sid_token(ads, mem_ctx, dn, &ad_token);
+       if (!ADS_ERR_OK(status)) {
+               return status;
+       }
+
+       ntstatus = merge_nt_token(mem_ctx, ad_token, get_system_token(),
+                                 token);
+       if (!NT_STATUS_IS_OK(ntstatus)) {
+               return ADS_ERROR_NT(ntstatus);
+       }
+
+       return ADS_SUCCESS;
+}