static bool print_alias_memberships(TALLOC_CTX *mem_ctx, const struct dom_sid *domain_sid, const struct dom_sid *member) { uint32 *alias_rids; size_t i, num_alias_rids; alias_rids = NULL; num_alias_rids = 0; if (!NT_STATUS_IS_OK(pdb_enum_alias_memberships( mem_ctx, domain_sid, member, 1, &alias_rids, &num_alias_rids))) { d_fprintf(stderr, _("Could not list memberships for sid %s\n"), sid_string_tos(member)); return false; } for (i = 0; i < num_alias_rids; i++) { struct dom_sid alias; sid_compose(&alias, domain_sid, alias_rids[i]); printf("%s\n", sid_string_tos(&alias)); } return true; }
static NTSTATUS lookup_useraliases(struct winbindd_domain *domain, TALLOC_CTX *mem_ctx, uint32 num_sids, const DOM_SID *sids, uint32 *p_num_aliases, uint32 **rids) { NTSTATUS result; size_t num_aliases = 0; result = pdb_enum_alias_memberships(mem_ctx, &domain->sid, sids, num_sids, rids, &num_aliases); *p_num_aliases = num_aliases; return result; }