diff options
author | Andrew Tridgell <tridge@samba.org> | 2001-12-10 22:10:16 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2001-12-10 22:10:16 +0000 |
commit | 273deacb32325369bcaebab384fe6072b0893959 (patch) | |
tree | bdda5a4e0093b786f1a971fa9c7ca965c650d632 /source3/nsswitch/winbindd_ads.c | |
parent | a427fafc1f95d472189e867781a4b75ab0c8adcb (diff) | |
download | samba-273deacb32325369bcaebab384fe6072b0893959.tar.gz samba-273deacb32325369bcaebab384fe6072b0893959.tar.bz2 samba-273deacb32325369bcaebab384fe6072b0893959.zip |
robustness fixes and moved ccache location into winbindd_ads code
(This used to be commit 24aa09ff3dd128c6f12b4cb072943ff668a29a67)
Diffstat (limited to 'source3/nsswitch/winbindd_ads.c')
-rw-r--r-- | source3/nsswitch/winbindd_ads.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source3/nsswitch/winbindd_ads.c b/source3/nsswitch/winbindd_ads.c index 7f9d2eb4e5..84e8ab3fc3 100644 --- a/source3/nsswitch/winbindd_ads.c +++ b/source3/nsswitch/winbindd_ads.c @@ -93,11 +93,17 @@ static ADS_STRUCT *ads_cached_connection(struct winbindd_domain *domain) { ADS_STRUCT *ads; int rc; + char *ccache; if (domain->private) { return (ADS_STRUCT *)domain->private; } + /* we don't want this to affect the users ccache */ + ccache = lock_path("winbindd_ccache"); + setenv("KRB5CCNAME", ccache, 1); + unlink(ccache); + ads = ads_init(NULL, NULL, NULL, NULL); if (!ads) { DEBUG(1,("ads_init for domain %s failed\n", domain->name)); @@ -154,6 +160,8 @@ static NTSTATUS query_user_list(struct winbindd_domain *domain, void *msg = NULL; NTSTATUS status = NT_STATUS_UNSUCCESSFUL; + *num_entries = 0; + DEBUG(3,("ads: query_user_list\n")); if ((*start_ndx) != 0) { @@ -245,6 +253,8 @@ static NTSTATUS enum_dom_groups(struct winbindd_domain *domain, void *msg = NULL; NTSTATUS status = NT_STATUS_UNSUCCESSFUL; + *num_entries = 0; + DEBUG(3,("ads: enum_dom_groups\n")); if ((*start_ndx) != 0) { @@ -514,6 +524,8 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain, char *sidstr; NTSTATUS status = NT_STATUS_UNSUCCESSFUL; + *num_groups = 0; + DEBUG(3,("ads: lookup_usergroups\n")); (*num_groups) = 0; |