From 943cb79596e2823f166bc6a59d40008afa187b7a Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Fri, 2 Mar 2012 22:02:36 +0100 Subject: [PATCH] s4:auth/gensec_gssapi: remember the expire time metze --- source4/auth/gensec/gensec_gssapi.c | 10 ++++++++-- source4/auth/gensec/gensec_gssapi.h | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/source4/auth/gensec/gensec_gssapi.c b/source4/auth/gensec/gensec_gssapi.c index 31964731d5a..fedd1c831c4 100644 --- a/source4/auth/gensec/gensec_gssapi.c +++ b/source4/auth/gensec/gensec_gssapi.c @@ -415,6 +415,9 @@ static NTSTATUS gensec_gssapi_update(struct gensec_security *gensec_security, OM_uint32 min_stat2; gss_buffer_desc input_token, output_token; gss_OID gss_oid_p = NULL; + OM_uint32 time_rec = 0; + struct timeval tv; + input_token.length = in.length; input_token.value = in.data; @@ -455,7 +458,7 @@ static NTSTATUS gensec_gssapi_update(struct gensec_security *gensec_security, &gss_oid_p, &output_token, &gensec_gssapi_state->gss_got_flags, /* ret flags */ - NULL); + &time_rec); if (gss_oid_p) { gensec_gssapi_state->gss_oid = gss_oid_p; } @@ -484,7 +487,7 @@ static NTSTATUS gensec_gssapi_update(struct gensec_security *gensec_security, &gss_oid_p, &output_token, &gensec_gssapi_state->gss_got_flags, - NULL, + &time_rec, &gensec_gssapi_state->delegated_cred_handle); if (gss_oid_p) { gensec_gssapi_state->gss_oid = gss_oid_p; @@ -508,6 +511,9 @@ static NTSTATUS gensec_gssapi_update(struct gensec_security *gensec_security, DEBUG(5, ("gensec_gssapi: NO credentials were delegated\n")); } + tv = timeval_current_ofs(time_rec, 0); + gensec_gssapi_state->expire_time = timeval_to_nttime(&tv); + /* We may have been invoked as SASL, so there * is more work to do */ if (gensec_gssapi_state->sasl) { diff --git a/source4/auth/gensec/gensec_gssapi.h b/source4/auth/gensec/gensec_gssapi.h index 569d787f7f1..b7429b5f48d 100644 --- a/source4/auth/gensec/gensec_gssapi.h +++ b/source4/auth/gensec/gensec_gssapi.h @@ -43,6 +43,7 @@ struct gensec_gssapi_state { gss_cred_id_t delegated_cred_handle; + NTTIME expire_time; /* gensec_gssapi only */ gss_krb5_lucid_context_v1_t *lucid; -- 2.11.4.GIT