]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Use md4/md5 calc functions where possibe
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 8 Jan 2019 02:12:25 +0000 (10:12 +0800)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 8 Jan 2019 04:03:19 +0000 (12:03 +0800)
src/lib/server/xlat_func.c
src/modules/proto_bfd/proto_bfd.c
src/modules/rlm_eap/types/rlm_eap_fast/rlm_eap_fast.c
src/modules/rlm_pap/rlm_pap.c

index dc2bd44dda1266c81233acf8f5868d8a308c879b..b4282913a4533f634f3c39bd8296b6f8d1a8f7be 100644 (file)
@@ -1136,7 +1136,6 @@ static xlat_action_t md4_xlat(TALLOC_CTX *ctx, fr_cursor_t *out,
                              fr_value_box_t **in)
 {
        uint8_t         digest[MD5_DIGEST_LENGTH];
-       fr_md4_ctx_t    *md4_ctx;
        fr_value_box_t  *vb;
 
        /*
@@ -1147,15 +1146,12 @@ static xlat_action_t md4_xlat(TALLOC_CTX *ctx, fr_cursor_t *out,
                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);
@@ -1174,7 +1170,6 @@ static xlat_action_t md5_xlat(TALLOC_CTX *ctx, fr_cursor_t *out,
                              fr_value_box_t **in)
 {
        uint8_t         digest[MD5_DIGEST_LENGTH];
-       FR_MD5_CTX      md5_ctx;
        fr_value_box_t  *vb;
 
        /*
@@ -1185,14 +1180,12 @@ static xlat_action_t md5_xlat(TALLOC_CTX *ctx, fr_cursor_t *out,
                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);
index 6344d8bda51dbcb605e5eb8880062d97a50846e2..a8d798a04ab8160118d91a00553f05c4755b08f0 100644 (file)
@@ -636,7 +636,6 @@ static int bfd_verify_sequence(bfd_state_t *session, uint32_t sequence_no,
 
 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));
@@ -645,9 +644,7 @@ static void bfd_calc_md5(bfd_state_t *session, bfd_packet_t *bfd)
        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)
index 8726fd6e1473f21cdec4baabcd2461628bccbd0e..7690b2d6cdba4d4ab9d7a39679642b9fa0193825 100644 (file)
@@ -227,10 +227,9 @@ static int mod_instantiate(void *instance, CONF_SECTION *cs)
        }
 
        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;
 }
index 67c0edaef50612aaf1be0f51cd58af387c7d8bba..8fcf3e128debe120ef9c90419a6fe3a9772ce59e 100644 (file)
@@ -651,7 +651,6 @@ static rlm_rcode_t CC_HINT(nonnull) pap_auth_crypt(UNUSED rlm_pap_t const *inst,
 
 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");
@@ -664,9 +663,7 @@ static rlm_rcode_t CC_HINT(nonnull) pap_auth_md5(rlm_pap_t const *inst, REQUEST
                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");
@@ -1324,7 +1321,6 @@ static rlm_rcode_t CC_HINT(nonnull) pap_auth_lm(rlm_pap_t const *inst, REQUEST *
 
 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];
@@ -1369,9 +1365,7 @@ static rlm_rcode_t CC_HINT(nonnull) pap_auth_ns_mta_md5(UNUSED rlm_pap_t const *
                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) {