X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=utils%2Fgssd%2Fcontext_heimdal.c;h=fc241e3a2192bb9d31a4590cb2ab745f95207c67;hb=eb3a145789b9eedd39b56e1d76f412435abaa747;hp=5520cbcc61d15850b16f9d249ed28de139f2a41c;hpb=27b9c1633398fe605d35da74318f96731506059e;p=nfs-utils.git diff --git a/utils/gssd/context_heimdal.c b/utils/gssd/context_heimdal.c index 5520cbc..fc241e3 100644 --- a/utils/gssd/context_heimdal.c +++ b/utils/gssd/context_heimdal.c @@ -72,14 +72,14 @@ int write_heimdal_enc_key(char **p, char *end, gss_ctx_id_t ctx) if ((ret = krb5_init_context(&context))) { printerr(0, "ERROR: initializing krb5_context: %s\n", - error_message(ret)); + gssd_k5_err_msg(NULL, ret)); goto out_err; } if ((ret = krb5_auth_con_getlocalsubkey(context, ctx->auth_context, &key))){ printerr(0, "ERROR: getting auth_context key: %s\n", - error_message(ret)); + gssd_k5_err_msg(context, ret)); goto out_err_free_context; } @@ -97,7 +97,7 @@ int write_heimdal_enc_key(char **p, char *end, gss_ctx_id_t ctx) calloc(1, enc_key.keyvalue.length)) == NULL) { printerr(0, "ERROR: allocating memory for enc key: %s\n", - error_message(ENOMEM)); + gssd_k5_err_msg(context, ENOMEM)); goto out_err_free_key; } skd = (char *) key->keyvalue.data; @@ -130,14 +130,14 @@ int write_heimdal_seq_key(char **p, char *end, gss_ctx_id_t ctx) if ((ret = krb5_init_context(&context))) { printerr(0, "ERROR: initializing krb5_context: %s\n", - error_message(ret)); + gssd_k5_err_msg(NULL, ret)); goto out_err; } if ((ret = krb5_auth_con_getlocalsubkey(context, ctx->auth_context, &key))){ printerr(0, "ERROR: getting auth_context key: %s\n", - error_message(ret)); + gssd_k5_err_msg(context, ret)); goto out_err_free_context; } @@ -198,7 +198,7 @@ int write_heimdal_seq_key(char **p, char *end, gss_ctx_id_t ctx) */ int -serialize_krb5_ctx(gss_ctx_id_t ctx, gss_buffer_desc *buf) +serialize_krb5_ctx(gss_ctx_id_t ctx, gss_buffer_desc *buf, int32_t *endtime) { char *p, *end; @@ -239,6 +239,9 @@ serialize_krb5_ctx(gss_ctx_id_t ctx, gss_buffer_desc *buf) /* endtime */ if (WRITE_BYTES(&p, end, ctx->lifetime)) goto out_err; + if (endtime) + *endtime = ctx->lifetime; + /* seq_send */ if (WRITE_BYTES(&p, end, ctx->auth_context->local_seqnumber)) goto out_err;