summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/auth_gss/gss_krb5_mech.c
diff options
context:
space:
mode:
authorSimo Sorce2012-05-26 00:09:53 +0200
committerJ. Bruce Fields2013-04-26 17:41:27 +0200
commit400f26b542e86995662a0cc5483656b7b1f42af6 (patch)
treeb5dc026aad338be6a59d60106de334dfb7bda838 /net/sunrpc/auth_gss/gss_krb5_mech.c
parentSUNRPC: allow disabling idle timeout (diff)
downloadkernel-qcow2-linux-400f26b542e86995662a0cc5483656b7b1f42af6.tar.gz
kernel-qcow2-linux-400f26b542e86995662a0cc5483656b7b1f42af6.tar.xz
kernel-qcow2-linux-400f26b542e86995662a0cc5483656b7b1f42af6.zip
SUNRPC: conditionally return endtime from import_sec_context
We expose this parameter for a future caller. It will be used to extract the endtime from the gss-proxy upcall mechanism, in order to set the rsc cache expiration time. Signed-off-by: Simo Sorce <simo@redhat.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net/sunrpc/auth_gss/gss_krb5_mech.c')
-rw-r--r--net/sunrpc/auth_gss/gss_krb5_mech.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/net/sunrpc/auth_gss/gss_krb5_mech.c b/net/sunrpc/auth_gss/gss_krb5_mech.c
index d3611f11a8df..3bc4a23938ea 100644
--- a/net/sunrpc/auth_gss/gss_krb5_mech.c
+++ b/net/sunrpc/auth_gss/gss_krb5_mech.c
@@ -679,6 +679,7 @@ out_err:
static int
gss_import_sec_context_kerberos(const void *p, size_t len,
struct gss_ctx *ctx_id,
+ time_t *endtime,
gfp_t gfp_mask)
{
const void *end = (const void *)((const char *)p + len);
@@ -694,9 +695,11 @@ gss_import_sec_context_kerberos(const void *p, size_t len,
else
ret = gss_import_v2_context(p, end, ctx, gfp_mask);
- if (ret == 0)
+ if (ret == 0) {
ctx_id->internal_ctx_id = ctx;
- else
+ if (endtime)
+ *endtime = ctx->endtime;
+ } else
kfree(ctx);
dprintk("RPC: %s: returning %d\n", __func__, ret);