fr_value_box_t **in)
{
uint8_t digest[MD5_DIGEST_LENGTH];
- fr_md4_ctx_t *md4_ctx;
fr_value_box_t *vb;
/*
return XLAT_ACTION_FAIL;
}
- md4_ctx = fr_md4_ctx_alloc(true);
if (*in) {
- fr_md4_update(md4_ctx, (*in)->vb_octets, (*in)->vb_length);
+ fr_md4_calc(digest, (*in)->vb_octets, (*in)->vb_length);
} else {
- /* MD4 of empty string */
- fr_md4_update(md4_ctx, NULL, 0);
+ /* Digest of empty string */
+ fr_md4_calc(digest, NULL, 0);
}
- fr_md4_final(digest, md4_ctx);
- fr_md4_ctx_free(&md4_ctx);
MEM(vb = fr_value_box_alloc_null(ctx));
fr_value_box_memdup(vb, vb, NULL, digest, sizeof(digest), false);
fr_value_box_t **in)
{
uint8_t digest[MD5_DIGEST_LENGTH];
- FR_MD5_CTX md5_ctx;
fr_value_box_t *vb;
/*
return XLAT_ACTION_FAIL;
}
- fr_md5_init(&md5_ctx);
if (*in) {
- fr_md5_update(&md5_ctx, (*in)->vb_octets, (*in)->vb_length);
+ fr_md5_calc(digest, (*in)->vb_octets, (*in)->vb_length);
} else {
- /* MD5 of empty string */
- fr_md5_update(&md5_ctx, NULL, 0);
+ /* Digest of empty string */
+ fr_md5_calc(digest, NULL, 0);
}
- fr_md5_final(digest, &md5_ctx);
MEM(vb = fr_value_box_alloc_null(ctx));
fr_value_box_memdup(vb, vb, NULL, digest, sizeof(digest), false);
static void bfd_calc_md5(bfd_state_t *session, bfd_packet_t *bfd)
{
- FR_MD5_CTX ctx;
bfd_auth_md5_t *md5 = &bfd->auth.md5;
rad_assert(session->secret_len <= sizeof(md5->digest));
memset(md5->digest, 0, sizeof(md5->digest));
memcpy(md5->digest, session->secret, session->secret_len);
- fr_md5_init(&ctx);
- fr_md5_update(&ctx, (const uint8_t *) bfd, bfd->length);
- fr_md5_final(md5->digest, &ctx);
+ fr_md5_calc(md5->digest,(const uint8_t *) bfd, bfd->length);
}
static void bfd_auth_md5(bfd_state_t *session, bfd_packet_t *bfd)
}
rad_assert(PAC_A_ID_LENGTH == MD5_DIGEST_LENGTH);
- FR_MD5_CTX ctx;
- fr_md5_init(&ctx);
- fr_md5_update(&ctx, inst->authority_identity, talloc_array_length(inst->authority_identity) - 1);
- fr_md5_final(inst->a_id, &ctx);
+
+ fr_md5_calc(inst->a_id, (uint8_t const *)inst->authority_identity,
+ talloc_array_length(inst->authority_identity) - 1);
return 0;
}
static rlm_rcode_t CC_HINT(nonnull) pap_auth_md5(rlm_pap_t const *inst, REQUEST *request, VALUE_PAIR *vp)
{
- FR_MD5_CTX md5_context;
uint8_t digest[128];
RDEBUG("Comparing with \"known-good\" MD5-Password");
return RLM_MODULE_INVALID;
}
- fr_md5_init(&md5_context);
- fr_md5_update(&md5_context, request->password->vp_octets, request->password->vp_length);
- fr_md5_final(digest, &md5_context);
+ fr_md5_calc(digest, request->password->vp_octets, request->password->vp_length);
if (fr_digest_cmp(digest, vp->vp_octets, vp->vp_length) != 0) {
REDEBUG("MD5 digest does not match \"known good\" digest");
static rlm_rcode_t CC_HINT(nonnull) pap_auth_ns_mta_md5(UNUSED rlm_pap_t const *inst, REQUEST *request, VALUE_PAIR *vp)
{
- FR_MD5_CTX md5_context;
uint8_t digest[128];
uint8_t buff[FR_MAX_STRING_LEN];
uint8_t buff2[FR_MAX_STRING_LEN + 50];
memcpy(p, &vp->vp_octets[32], 32);
p += 32;
- fr_md5_init(&md5_context);
- fr_md5_update(&md5_context, (uint8_t *) buff2, p - buff2);
- fr_md5_final(buff, &md5_context);
+ fr_md5_calc(buff, (uint8_t *) buff2, p - buff2);
}
if (fr_digest_cmp(digest, buff, 16) != 0) {