diff options
author | Andrew Tridgell <tridge@samba.org> | 2001-12-10 02:25:19 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2001-12-10 02:25:19 +0000 |
commit | f3918919d24ebd1bf1f309e65196e216558da0b5 (patch) | |
tree | 16d0fe795fc9073932d420e46046603b7905d124 /source3/nsswitch/winbindd_cache.c | |
parent | dd0b65a91c50f49abe6dd608c958467857b56a92 (diff) | |
download | samba-f3918919d24ebd1bf1f309e65196e216558da0b5.tar.gz samba-f3918919d24ebd1bf1f309e65196e216558da0b5.tar.bz2 samba-f3918919d24ebd1bf1f309e65196e216558da0b5.zip |
moved the domain sid lookup and enumeration of trusted domains into
the backends
at startup, loop until we get the domain sid for our primary domain,
trying every 10 seconds. This makes winbindd handle a room-wide power
failure better
(This used to be commit 7c60ae59378be1b2af2e57ee3927966a29a797a5)
Diffstat (limited to 'source3/nsswitch/winbindd_cache.c')
-rw-r--r-- | source3/nsswitch/winbindd_cache.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/source3/nsswitch/winbindd_cache.c b/source3/nsswitch/winbindd_cache.c index 912ac162b5..9f87f8377f 100644 --- a/source3/nsswitch/winbindd_cache.c +++ b/source3/nsswitch/winbindd_cache.c @@ -706,6 +706,27 @@ static NTSTATUS sequence_number(struct winbindd_domain *domain, uint32 *seq) return NT_STATUS_OK; } +/* enumerate trusted domains */ +static NTSTATUS trusted_domains(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, + uint32 *num_domains, + char ***names, + DOM_SID **dom_sids) +{ + struct winbind_cache *cache = get_cache(domain); + + return cache->backend->trusted_domains(domain, mem_ctx, num_domains, + names, dom_sids); +} + +/* find the domain sid */ +static NTSTATUS domain_sid(struct winbindd_domain *domain, DOM_SID *sid) +{ + struct winbind_cache *cache = get_cache(domain); + + return cache->backend->domain_sid(domain, sid); +} + /* the ADS backend methods are exposed via this structure */ struct winbindd_methods cache_methods = { query_user_list, @@ -715,7 +736,9 @@ struct winbindd_methods cache_methods = { query_user, lookup_usergroups, lookup_groupmem, - sequence_number + sequence_number, + trusted_domains, + domain_sid }; |