summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2007-06-22 11:20:37 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:23:32 -0500
commitc66831e04b468743df8993edc68cd72ebb4a391d (patch)
tree38b5868f7b57876d147f936554ee042d53b3cc8f
parent7fd8a16d23f721af2243e8c14e4b4769cb7a72d5 (diff)
downloadsamba-c66831e04b468743df8993edc68cd72ebb4a391d.tar.gz
samba-c66831e04b468743df8993edc68cd72ebb4a391d.tar.bz2
samba-c66831e04b468743df8993edc68cd72ebb4a391d.zip
r23582: Fix event based krb5 ticket refreshing in winbindd.
We were incorrectly using the renew_till timestamp instead of the renewed ticket's endtime to calculate the next refreshing date. Guenther (This used to be commit aa3511a5b5e6a96a02110a7ad0ab1d43e6d25766)
-rw-r--r--source3/include/includes.h2
-rw-r--r--source3/libsmb/clikrb5.c10
2 files changed, 6 insertions, 6 deletions
diff --git a/source3/include/includes.h b/source3/include/includes.h
index 3994d3b3c9..895cc58cec 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -1184,7 +1184,7 @@ BOOL smb_krb5_principal_compare_any_realm(krb5_context context,
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, 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 smb_krb5_renew_ticket(const char *ccache_string, const char *client_string, const char *service_string, time_t *expire_time);
krb5_error_code kpasswd_err_to_krb5_err(krb5_error_code res_code);
krb5_error_code smb_krb5_gen_netbios_krb5_address(smb_krb5_addresses **kerb_addr);
krb5_error_code smb_krb5_free_addresses(krb5_context context, smb_krb5_addresses *addr);
diff --git a/source3/libsmb/clikrb5.c b/source3/libsmb/clikrb5.c
index a668d3b55c..078706d1db 100644
--- a/source3/libsmb/clikrb5.c
+++ b/source3/libsmb/clikrb5.c
@@ -1134,7 +1134,7 @@ out:
krb5_error_code smb_krb5_renew_ticket(const char *ccache_string, /* FILE:/tmp/krb5cc_0 */
const char *client_string, /* gd@BER.SUSE.DE */
const char *service_string, /* krbtgt/BER.SUSE.DE@BER.SUSE.DE */
- time_t *new_start_time)
+ time_t *expire_time)
{
krb5_error_code ret;
krb5_context context = NULL;
@@ -1189,8 +1189,8 @@ out:
ret = krb5_cc_store_cred(context, ccache, &creds);
- if (new_start_time) {
- *new_start_time = (time_t) creds.times.renew_till;
+ if (expire_time) {
+ *expire_time = (time_t) creds.times.endtime;
}
krb5_free_cred_contents(context, &creds);
@@ -1247,8 +1247,8 @@ out:
ret = krb5_cc_store_cred(context, ccache, creds);
- if (new_start_time) {
- *new_start_time = (time_t) creds->times.renew_till;
+ if (expire_time) {
+ *expire_time = (time_t) creds->times.endtime;
}
krb5_free_cred_contents(context, &creds_in);