diff options
author | Günther Deschner <gd@samba.org> | 2007-02-08 17:02:39 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:17:50 -0500 |
commit | 7e1a84b7226fb8dcd5d34c64a3478a6d886a9a91 (patch) | |
tree | 889d4bf55b8b13de330867db8c93f1e4e7bb8427 /source/include/includes.h | |
parent | e7e44554bf7c61020e2c5c652e3f8f37a296d3aa (diff) | |
download | samba-7e1a84b7226fb8dcd5d34c64a3478a6d886a9a91.tar.gz samba-7e1a84b7226fb8dcd5d34c64a3478a6d886a9a91.tar.xz samba-7e1a84b7226fb8dcd5d34c64a3478a6d886a9a91.zip |
r21240: Fix longstanding Bug #4009.
For the winbind cached ADS LDAP connection handling
(ads_cached_connection()) we were (incorrectly) assuming that the
service ticket lifetime equaled the tgt lifetime. For setups where the
service ticket just lives 10 minutes, we were leaving hundreds of LDAP
connections in CLOSE_WAIT state, until we fail to service entirely with
"Too many open files".
Also sequence_number() in winbindd_ads.c needs to delete the cached LDAP
connection after the ads_do_search_retry() has failed to submit the
search request (although the bind succeeded (returning an expired
service ticket that we cannot delete from the memory cred cache - this
will get fixed later)).
Guenther
Diffstat (limited to 'source/include/includes.h')
-rw-r--r-- | source/include/includes.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/include/includes.h b/source/include/includes.h index 8aaaba97993..3864faddb94 100644 --- a/source/include/includes.h +++ b/source/include/includes.h @@ -1165,7 +1165,7 @@ BOOL smb_krb5_principal_compare_any_realm(krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2); int cli_krb5_get_ticket(const char *principal, time_t time_offset, - DATA_BLOB *ticket, DATA_BLOB *session_key_krb5, uint32 extra_ap_opts, const char *ccname); + DATA_BLOB *ticket, DATA_BLOB *session_key_krb5, uint32 extra_ap_opts, const char *ccname, time_t *tgs_expire); PAC_LOGON_INFO *get_logon_info_from_pac(PAC_DATA *pac_data); krb5_error_code smb_krb5_renew_ticket(const char *ccache_string, const char *client_string, const char *service_string, time_t *new_start_time); krb5_error_code kpasswd_err_to_krb5_err(krb5_error_code res_code); |