summaryrefslogtreecommitdiffstats
path: root/source3/libgpo
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-02-29 18:23:53 +0100
committerGünther Deschner <gd@samba.org>2008-02-29 18:23:53 +0100
commit72b8392f9c48d87dcd351ec3a24cc6f68516011f (patch)
tree36129035bb60c2d8890add4752e87e376461b1c2 /source3/libgpo
parentf3efceace4ad097882f6574b533318d332bff6b1 (diff)
downloadsamba-72b8392f9c48d87dcd351ec3a24cc6f68516011f.tar.gz
samba-72b8392f9c48d87dcd351ec3a24cc6f68516011f.tar.xz
samba-72b8392f9c48d87dcd351ec3a24cc6f68516011f.zip
Add gp_get_machine_token().
Guenther (This used to be commit 2f1bc7ddad97b9137ae4cce696bf4e08f9b7ca20)
Diffstat (limited to 'source3/libgpo')
-rw-r--r--source3/libgpo/gpo_util.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/source3/libgpo/gpo_util.c b/source3/libgpo/gpo_util.c
index 79f2690245e..b9053d0ae5b 100644
--- a/source3/libgpo/gpo_util.c
+++ b/source3/libgpo/gpo_util.c
@@ -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;
+}