diff options
author | Jim McDonough <jmcd@samba.org> | 2004-03-24 17:32:55 +0000 |
---|---|---|
committer | Jim McDonough <jmcd@samba.org> | 2004-03-24 17:32:55 +0000 |
commit | 9a8e30d04b1cfc53e8c8949a56d4f1cf5aa26501 (patch) | |
tree | e483ee3c5a38bfd45503d3bd18c0b25904949edc /source3/nsswitch | |
parent | 7d7b6190b0d07441ded54f096e7f95f51dc31024 (diff) | |
download | samba-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.c | 6 |
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; } } |