summaryrefslogtreecommitdiff
path: root/source3/nsswitch
diff options
context:
space:
mode:
authorJim McDonough <jmcd@samba.org>2004-03-24 17:32:55 +0000
committerJim McDonough <jmcd@samba.org>2004-03-24 17:32:55 +0000
commit9a8e30d04b1cfc53e8c8949a56d4f1cf5aa26501 (patch)
treee483ee3c5a38bfd45503d3bd18c0b25904949edc /source3/nsswitch
parent7d7b6190b0d07441ded54f096e7f95f51dc31024 (diff)
downloadsamba-9a8e30d04b1cfc53e8c8949a56d4f1cf5aa26501.tar.gz
samba-9a8e30d04b1cfc53e8c8949a56d4f1cf5aa26501.tar.bz2
samba-9a8e30d04b1cfc53e8c8949a56d4f1cf5aa26501.zip
Fix bugzilla # 1208
Winbind tickets expired. We now check the expiration time, and acquire new tickets. We couln't rely on renewing them, because if we didn't get a request before they expired, we wouldn't have renewed them. Also, there is a one-week limit in MS on renewal life, so new tickets would have been needed after a week anyway. Default is 10 hours, so we should only be acquiring them that often, unless the configuration on the DC is changed (and the minimum is 1 hour). (This used to be commit c2436c433afaab4006554a86307f76b6689d6929)
Diffstat (limited to 'source3/nsswitch')
-rw-r--r--source3/nsswitch/winbindd_ads.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source3/nsswitch/winbindd_ads.c b/source3/nsswitch/winbindd_ads.c
index 889d72293e..47e898fea7 100644
--- a/source3/nsswitch/winbindd_ads.c
+++ b/source3/nsswitch/winbindd_ads.c
@@ -43,13 +43,17 @@ static ADS_STRUCT *ads_cached_connection(struct winbindd_domain *domain)
ads = (ADS_STRUCT *)domain->private;
/* check for a valid structure */
- if ( ads->config.realm ) {
+
+ DEBUG(7, ("Current tickets expire at %d\n, time is now %d\n",
+ (uint32) ads->auth.expire, (uint32) time(NULL)));
+ if ( ads->config.realm && (ads->auth.expire > time(NULL))) {
return ads;
}
else {
/* we own this ADS_STRUCT so make sure it goes away */
ads->is_mine = True;
ads_destroy( &ads );
+ ads_kdestroy("MEMORY:winbind_ccache");
domain->private = NULL;
}
}