summaryrefslogtreecommitdiff
path: root/source4/heimdal/lib/gssapi/krb5/init_sec_context.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/heimdal/lib/gssapi/krb5/init_sec_context.c')
-rw-r--r--source4/heimdal/lib/gssapi/krb5/init_sec_context.c27
1 files changed, 13 insertions, 14 deletions
diff --git a/source4/heimdal/lib/gssapi/krb5/init_sec_context.c b/source4/heimdal/lib/gssapi/krb5/init_sec_context.c
index 4538a5376e..53855ca045 100644
--- a/source4/heimdal/lib/gssapi/krb5/init_sec_context.c
+++ b/source4/heimdal/lib/gssapi/krb5/init_sec_context.c
@@ -768,22 +768,21 @@ repl_mutual
/* There is no OID wrapping. */
indata.length = input_token->length;
indata.data = input_token->value;
- kret = krb5_rd_rep (context,
- ctx->auth_context,
- &indata,
- &repl);
- if (kret >= ASN1_BAD_TIMEFORMAT && kret <= ASN1_INDEF_EXTRA_DATA) {
- ret = _gsskrb5_decapsulate (minor_status,
- input_token,
- &indata,
- "\x03\x00",
- GSS_KRB5_MECHANISM);
+ kret = krb5_rd_rep(context,
+ ctx->auth_context,
+ &indata,
+ &repl);
+ if (kret) {
+ ret = _gsskrb5_decapsulate(minor_status,
+ input_token,
+ &indata,
+ "\x03\x00",
+ GSS_KRB5_MECHANISM);
if (ret == GSS_S_COMPLETE) {
- *minor_status = handle_error_packet(context, ctx, indata);
- return GSS_S_FAILURE;
+ *minor_status = handle_error_packet(context, ctx, indata);
+ } else {
+ *minor_status = kret;
}
- } else if (kret) {
- *minor_status = kret;
return GSS_S_FAILURE;
}
} else {