Revert "winbind: Remove wbint_LookupUserGroups"
authorVolker Lendecke <vl@samba.org>
Thu, 2 Mar 2017 13:55:15 +0000 (14:55 +0100)
committerRalph Boehme <slow@samba.org>
Mon, 6 Mar 2017 14:09:17 +0000 (15:09 +0100)
This reverts commit 256632ed3cc724bab0fc22132ca6b52faf680ab2.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12612

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
librpc/idl/winbind.idl
source3/winbindd/winbindd_dual_srv.c

index 6245e13ac6ae32d9b06638c9136e9a7697efb096..05db6b96b81c8ced9afd56311832282fbb501b17 100644 (file)
@@ -103,6 +103,11 @@ interface winbind
        [out] wbint_RidArray *rids
        );
 
+    NTSTATUS wbint_LookupUserGroups(
+       [in] dom_sid *sid,
+       [out] wbint_SidArray *sids
+       );
+
     NTSTATUS wbint_QuerySequenceNumber(
        [out] uint32 *sequence
        );
index b0b38a6e108f7bcc54919e8bb4e39232408049de..7b97f33effe3227a0ca9598779288184e04ed2b9 100644 (file)
@@ -301,6 +301,23 @@ NTSTATUS _wbint_LookupUserAliases(struct pipes_struct *p,
        return status;
 }
 
+NTSTATUS _wbint_LookupUserGroups(struct pipes_struct *p,
+                                struct wbint_LookupUserGroups *r)
+{
+       struct winbindd_domain *domain = wb_child_domain();
+       NTSTATUS status;
+
+       if (domain == NULL) {
+               return NT_STATUS_REQUEST_NOT_ACCEPTED;
+       }
+
+       status = wb_cache_lookup_usergroups(domain, p->mem_ctx, r->in.sid,
+                                           &r->out.sids->num_sids,
+                                           &r->out.sids->sids);
+       reset_cm_connection_on_error(domain, status);
+       return status;
+}
+
 NTSTATUS _wbint_QuerySequenceNumber(struct pipes_struct *p,
                                    struct wbint_QuerySequenceNumber *r)
 {