diff --git a/lib/gssapi/krb5/cfx.c b/lib/gssapi/krb5/cfx.c index 35e5a9e45..6ff106f4e 100755 --- a/lib/gssapi/krb5/cfx.c +++ b/lib/gssapi/krb5/cfx.c @@ -41,9 +41,9 @@ #define CFXAcceptorSubkey (1 << 2) krb5_error_code -_gsskrb5cfx_wrap_length_cfx(const gsskrb5_ctx context_handle, - krb5_context context, +_gsskrb5cfx_wrap_length_cfx(krb5_context context, krb5_crypto crypto, + int dce_style, int conf_req_flag, size_t input_length, size_t *output_length, @@ -71,7 +71,7 @@ _gsskrb5cfx_wrap_length_cfx(const gsskrb5_ctx context_handle, /* Header is concatenated with data before encryption */ input_length += sizeof(gss_cfx_wrap_token_desc); - if (IS_DCE_STYLE(context_handle)) { + if (dce_style) { ret = krb5_crypto_getblocksize(context, crypto, &padsize); } else { ret = krb5_crypto_getpadsize(context, crypto, &padsize); @@ -972,8 +972,9 @@ OM_uint32 _gssapi_wrap_cfx(OM_uint32 *minor_status, int32_t seq_number; u_char *p; - ret = _gsskrb5cfx_wrap_length_cfx(ctx, context, + ret = _gsskrb5cfx_wrap_length_cfx(context, ctx->crypto, conf_req_flag, + IS_DCE_STYLE(ctx), input_message_buffer->length, &wrapped_len, &cksumsize, &padlength); if (ret != 0) { diff --git a/lib/gssapi/krb5/test_cfx.c b/lib/gssapi/krb5/test_cfx.c index 28b403ba1..b9db6d4e0 100644 --- a/lib/gssapi/krb5/test_cfx.c +++ b/lib/gssapi/krb5/test_cfx.c @@ -77,6 +77,7 @@ test_range(const struct range *r, int integ, ret = _gsskrb5cfx_wrap_length_cfx(context, crypto, integ, + 0, max_wrap_size, &rsize, &cksumsize, &padsize); if (ret) @@ -118,6 +119,7 @@ test_special(krb5_context context, krb5_crypto crypto, ret = _gsskrb5cfx_wrap_length_cfx(context, crypto, integ, + 0, max_wrap_size, &rsize, &cksumsize, &padsize); if (ret)