]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
More pair list fixups
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 3 Nov 2020 22:30:35 +0000 (16:30 -0600)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 3 Nov 2020 22:34:22 +0000 (16:34 -0600)
src/lib/eap/chbind.c
src/lib/unlang/parallel.c
src/lib/unlang/subrequest.c
src/modules/rlm_eap/types/rlm_eap_fast/eap_fast.c
src/modules/rlm_eap/types/rlm_eap_peap/peap.c

index ed933f480816ffdec12e480ee87f9f98f6c61b65..02b0dfad32ff16bf304ea6e3f11b6169b3236601 100644 (file)
@@ -182,13 +182,13 @@ FR_CODE chbind_process(request_t *request, CHBIND_REQ *chbind)
 
        /* Set-up the fake request */
        fake = request_alloc_fake(request, NULL);
-       MEM(fr_pair_add_by_da(fake->packet, &vp, &fake->packet->vps, attr_freeradius_proxied_to) >= 0);
+       MEM(fr_pair_add_by_da(fake->packet, &vp, &fake->request_pairs, attr_freeradius_proxied_to) >= 0);
        fr_pair_value_from_str(vp, "127.0.0.1", sizeof("127.0.0.1"), '\0', false);
 
        /* Add the username to the fake request */
        if (chbind->username) {
                vp = fr_pair_copy(fake->packet, chbind->username);
-               fr_pair_add(&fake->packet->vps, vp);
+               fr_pair_add(&fake->request_pairs, vp);
        }
 
        /*
@@ -202,7 +202,7 @@ FR_CODE chbind_process(request_t *request, CHBIND_REQ *chbind)
 
                fr_assert(data_len <= talloc_array_length((uint8_t const *) chbind->request));
 
-               fr_cursor_init(&cursor, &fake->packet->vps);
+               fr_cursor_init(&cursor, &fake->request_pairs);
                while (data_len > 0) {
                        ssize_t attr_len;
 
index 60789ea613bee73f0878df71c87c09129fc274a1..3afc19835fe715ca7ba31164b112243a5356eef8 100644 (file)
@@ -112,10 +112,10 @@ static unlang_action_t unlang_parallel_process(rlm_rcode_t *p_result, request_t
                                 *      the parent.
                                 */
                                if ((fr_pair_list_copy(child->packet,
-                                                      &child->packet->vps,
+                                                      &child->request_pairs,
                                                       request->request_pairs) < 0) ||
                                    (fr_pair_list_copy(child->reply,
-                                                      &child->reply->vps,
+                                                      &child->reply_pairs,
                                                       request->reply_pairs) < 0) ||
                                    (fr_pair_list_copy(child,
                                                       &child->control,
index 75bc2fccaaeff1046d9339b557e66e4d4ac88fb3..8c5a010b4a0c25ce588b603673641284a5a33a73 100644 (file)
@@ -148,7 +148,7 @@ static unlang_action_t unlang_subrequest_process(rlm_rcode_t *p_result, request_
                                        goto done;
                                }
                                while ((extent = fr_dlist_head(&leaf))) {
-                                       fr_pair_list_copy(extent->list_ctx, extent->list, child->reply->vps);
+                                       fr_pair_list_copy(extent->list_ctx, extent->list, child->reply_pairs);
                                        fr_dlist_talloc_free_head(&leaf);
                                }
                        }
@@ -209,7 +209,7 @@ static unlang_action_t unlang_subrequest_start(rlm_rcode_t *p_result, request_t
                                                             state->session.unique_int);
 
        RDEBUG2("Creating subrequest (%s)", child->name);
-       log_request_pair_list(L_DBG_LVL_1, request, child->packet->vps, NULL);
+       log_request_pair_list(L_DBG_LVL_1, request, child->request_pairs, NULL);
 
        frame->process = unlang_subrequest_process;
        return unlang_subrequest_process(p_result, request);
@@ -306,16 +306,16 @@ static unlang_action_t unlang_subrequest_state_init(rlm_rcode_t *p_result, reque
                }
 
        }
-       fr_pair_add(&child->packet->vps, vp);
+       fr_pair_add(&child->request_pairs, vp);
 
        if (gext->src) {
                if (tmpl_is_list(gext->src)) {
-                       if (tmpl_copy_pairs(child->packet, &child->packet->vps, request, gext->src) < -1) {
+                       if (tmpl_copy_pairs(child->packet, &child->request_pairs, request, gext->src) < -1) {
                                RPEDEBUG("Failed copying source attributes into subrequest");
                                goto fail;
                        }
                } else {
-                       if (tmpl_copy_pair_children(child->packet, &child->packet->vps, request, gext->src) < -1) {
+                       if (tmpl_copy_pair_children(child->packet, &child->request_pairs, request, gext->src) < -1) {
                                RPEDEBUG("Failed copying source attributes into subrequest");
                                goto fail;
                        }
index ff0abcc0ec71eaa64e6e66b322ff22b2e0d0bae7..b6447aeb6e38e4f547f5cb519d58396330e5219d 100644 (file)
@@ -580,7 +580,7 @@ static FR_CODE eap_fast_eap_payload(request_t *request, eap_session_t *eap_sessi
         *      Allocate a fake request_t structure.
         */
        fake = request_alloc_fake(request, NULL);
-       fr_assert(!fake->packet->vps);
+       fr_assert(!fake->request_pairs);
 
        t = talloc_get_type_abort(tls_session->opaque, eap_fast_tunnel_t);
 
@@ -588,16 +588,16 @@ static FR_CODE eap_fast_eap_payload(request_t *request, eap_session_t *eap_sessi
         *      Add the tunneled attributes to the fake request.
         */
 
-       MEM(fake->packet->vps = vp = fr_pair_afrom_da(fake->packet, attr_eap_message));
-       fr_pair_value_memdup(fake->packet->vps, tlv_eap_payload->vp_octets, tlv_eap_payload->vp_length, false);
+       MEM(fake->request_pairs = vp = fr_pair_afrom_da(fake->packet, attr_eap_message));
+       fr_pair_value_memdup(fake->request_pairs, tlv_eap_payload->vp_octets, tlv_eap_payload->vp_length, false);
 
        RDEBUG2("Got tunneled request");
-       log_request_pair_list(L_DBG_LVL_1, fake, fake->packet->vps, NULL);
+       log_request_pair_list(L_DBG_LVL_1, fake, fake->request_pairs, NULL);
 
        /*
         *      Tell the request that it's a fake one.
         */
-       MEM(fr_pair_add_by_da(fake->packet, &vp, &fake->packet->vps, attr_freeradius_proxied_to) >= 0);
+       MEM(fr_pair_add_by_da(fake->packet, &vp, &fake->request_pairs, attr_freeradius_proxied_to) >= 0);
        fr_pair_value_from_str(vp, "127.0.0.1", sizeof("127.0.0.1"), '\0', false);
 
        /*
@@ -631,7 +631,7 @@ static FR_CODE eap_fast_eap_payload(request_t *request, eap_session_t *eap_sessi
 
        if (t->username) {
                vp = fr_pair_copy(fake->packet, t->username);
-               fr_pair_add(&fake->packet->vps, vp);
+               fr_pair_add(&fake->request_pairs, vp);
        }
 
        if (t->stage == EAP_FAST_AUTHENTICATION) {      /* FIXME do this only for MSCHAPv2 */
index 1353fb8a902646c0c1ecd58d1bab04afa4a0cfb0..16fe4b454fea487437fa3b7fa1ec24887526a7c1 100644 (file)
@@ -164,7 +164,7 @@ static void eap_peap_soh_verify(request_t *request, fr_radius_packet_t *packet,
 
        MEM(vp = fr_pair_afrom_da(packet, attr_soh_supported));
        vp->vp_bool = false;
-       fr_pair_add(&packet->vps, vp);
+       fr_pair_add(&request->request_pairs, vp);
 
        if (data && data[0] == FR_EAP_METHOD_NAK) {
                REDEBUG("SoH - client NAKed");
@@ -551,7 +551,7 @@ rlm_rcode_t eap_peap_process(request_t *request, eap_session_t *eap_session, fr_
 
        case PEAP_STATUS_WAIT_FOR_SOH_RESPONSE:
                fake = request_alloc_fake(request, NULL);
-               fr_assert(!fake->packet->vps);
+               fr_assert(!fake->request_pairs);
                eap_peap_soh_verify(fake, fake->packet, data, data_len);
                setup_fake_request(request, fake, t);
 
@@ -652,7 +652,7 @@ rlm_rcode_t eap_peap_process(request_t *request, eap_session_t *eap_session, fr_
        }
 
        fake = request_alloc_fake(request, NULL);
-       fr_assert(!fake->packet->vps);
+       fr_assert(!fake->request_pairs);
 
        switch (t->status) {
        /*
@@ -679,14 +679,14 @@ rlm_rcode_t eap_peap_process(request_t *request, eap_session_t *eap_session, fr_
                q[4] = FR_EAP_METHOD_IDENTITY;
                memcpy(q + EAP_HEADER_LEN + 1,
                       t->username->vp_strvalue, t->username->vp_length);
-               fr_pair_add(&fake->packet->vps, vp);
+               fr_pair_add(&fake->request_pairs, vp);
        }
                break;
 
        case PEAP_STATUS_PHASE2:
-               fake->packet->vps = eap_peap_inner_to_pairs(request, fake->packet,
+               fake->request_pairs = eap_peap_inner_to_pairs(request, fake->packet,
                                                            eap_round, data, data_len);
-               if (!fake->packet->vps) {
+               if (!fake->request_pairs) {
                        talloc_free(fake);
                        RDEBUG2("Unable to convert tunneled EAP packet to internal server data structures");
                        rcode = RLM_MODULE_REJECT;
@@ -701,7 +701,7 @@ rlm_rcode_t eap_peap_process(request_t *request, eap_session_t *eap_session, fr_
        }
 
        RDEBUG2("Got tunneled request");
-       log_request_pair_list(L_DBG_LVL_2, request, fake->packet->vps, NULL);
+       log_request_pair_list(L_DBG_LVL_2, request, fake->request_pairs, NULL);
 
        /*
         *      Update other items in the request_t data structure.
@@ -754,12 +754,12 @@ static int CC_HINT(nonnull) setup_fake_request(request_t *request, request_t *fa
        /*
         *      Tell the request that it's a fake one.
         */
-       MEM(fr_pair_add_by_da(fake->packet, &vp, &fake->packet->vps, attr_freeradius_proxied_to) >= 0);
+       MEM(fr_pair_add_by_da(fake->packet, &vp, &fake->request_pairs, attr_freeradius_proxied_to) >= 0);
        fr_pair_value_from_str(vp, "127.0.0.1", sizeof("127.0.0.1"), '\0', false);
 
        if (t->username) {
                vp = fr_pair_copy(fake->packet, t->username);
-               fr_pair_add(&fake->packet->vps, vp);
+               fr_pair_add(&fake->request_pairs, vp);
                RDEBUG2("Setting &request.User-Name from tunneled (inner) identity \"%s\"",
                        vp->vp_strvalue);
        } else {