summaryrefslogtreecommitdiffstats
path: root/utils/gssd
diff options
context:
space:
mode:
authorDoug Nazar <nazard.michi@gmail.com>2010-07-19 10:48:34 -0400
committerSteve Dickson <steved@redhat.com>2010-07-19 10:48:34 -0400
commiteafc5a8873b09482c71313f425080cce2031010a (patch)
tree06b0809e903e7afdbeae1c9080527510c1fc9edb /utils/gssd
parent0bd7e91cea26bcfc5581290e4cdd87870da29b9e (diff)
downloadnfs-utils-eafc5a8873b09482c71313f425080cce2031010a.tar.gz
nfs-utils-eafc5a8873b09482c71313f425080cce2031010a.tar.xz
nfs-utils-eafc5a8873b09482c71313f425080cce2031010a.zip
gssd: Fix endtime issue
Commit 4c5ff6d4 removed the setting of endtime for a few contexts by accident. Now to figure out why I get stale handles on submounts. Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'utils/gssd')
-rw-r--r--utils/gssd/context_lucid.c4
-rw-r--r--utils/gssd/context_mit.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/utils/gssd/context_lucid.c b/utils/gssd/context_lucid.c
index b87bf76..b8d4734 100644
--- a/utils/gssd/context_lucid.c
+++ b/utils/gssd/context_lucid.c
@@ -77,7 +77,7 @@ prepare_krb5_rfc1964_buffer(gss_krb5_lucid_context_v1_t *lctx,
unsigned char fakeseed[FAKESEED_SIZE];
uint32_t word_send_seq;
gss_krb5_lucid_key_t enc_key;
- int i;
+ uint32_t i;
char *skd, *dkd;
gss_buffer_desc fakeoid;
@@ -202,6 +202,8 @@ prepare_krb5_rfc4121_buffer(gss_krb5_lucid_context_v1_t *lctx,
if (WRITE_BYTES(&p, end, v2_flags)) goto out_err;
if (WRITE_BYTES(&p, end, lctx->endtime)) goto out_err;
+ if (endtime)
+ *endtime = lctx->endtime;
if (WRITE_BYTES(&p, end, lctx->send_seq)) goto out_err;
/* Protocol 0 here implies DES3 or RC4 */
diff --git a/utils/gssd/context_mit.c b/utils/gssd/context_mit.c
index f9cbb02..e6db9cb 100644
--- a/utils/gssd/context_mit.c
+++ b/utils/gssd/context_mit.c
@@ -191,6 +191,8 @@ serialize_krb5_ctx(gss_ctx_id_t ctx, gss_buffer_desc *buf, int32_t *endtime)
if (WRITE_BYTES(&p, end, kctx->signalg)) goto out_err;
if (WRITE_BYTES(&p, end, kctx->sealalg)) goto out_err;
if (WRITE_BYTES(&p, end, kctx->endtime)) goto out_err;
+ if (endtime)
+ *endtime = kctx->endtime;
word_seq_send = kctx->seq_send;
if (WRITE_BYTES(&p, end, word_seq_send)) goto out_err;
if (write_oid(&p, end, kctx->mech_used)) goto out_err;