} else {
VALUE_PAIR const *failed[2];
- fr_pair_list_sort(&request->reply->vps, fr_pair_cmp_by_da);
- if (fr_pair_validate(failed, request->filter, request->reply->vps)) {
+ fr_pair_list_sort(&request->reply_pairs, fr_pair_cmp_by_da);
+ if (fr_pair_validate(failed, request->filter, request->reply_pairs)) {
RDEBUG("%s: Response passed filter", request->name);
stats.passed++;
} else {
request->reply->id = request->packet->id;
request->reply->code = 0; /* UNKNOWN code */
memcpy(request->reply->vector, request->packet->vector, sizeof(request->reply->vector));
- request->reply->vps = NULL;
+ request->reply_pairs = NULL;
request->reply->data = NULL;
request->reply->data_len = 0;
vp->vp_uint32 = request->reply->code;
- if (!fr_pair_validate(failed, filter_vps, request->reply->vps)) {
+ if (!fr_pair_validate(failed, filter_vps, request->reply_pairs)) {
fr_pair_validate_debug(request, failed);
fr_perror("Output file %s does not match attributes in filter %s",
output_file ? output_file : input_file, filter_file);
fr_cursor_t cursor;
total = 0;
- for (vp = fr_cursor_init(&cursor, &request->reply->vps);
+ for (vp = fr_cursor_init(&cursor, &request->reply_pairs);
vp != NULL;
vp = fr_cursor_next(&cursor)) {
/*
ptr[3] = CHBIND_NSID_RADIUS;
RDEBUG2("Sending chbind response: code %i", (int )(ptr[0]));
- log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, NULL);
/* Encode the chbind attributes into the response */
ptr += 4;
end = ptr + total;
- fr_cursor_init(&cursor, &request->reply->vps);
+ fr_cursor_init(&cursor, &request->reply_pairs);
while ((vp = fr_cursor_current(&cursor)) && (ptr < end)) {
/*
* Skip things which shouldn't be in channel bindings.
* Don't add a Message-Authenticator if
* it's already there.
*/
- vp = fr_pair_find_by_da(request->reply->vps, attr_message_authenticator);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_message_authenticator);
if (!vp) {
static uint8_t auth_vector[RADIUS_AUTH_VECTOR_LENGTH] = { 0x00 };
/*
* Delete any previous replies.
*/
- fr_pair_delete_by_da(&eap_session->request->reply->vps, attr_eap_message);
- fr_pair_delete_by_da(&eap_session->request->reply->vps, attr_state);
+ fr_pair_delete_by_da(&eap_session->request->reply_pairs, attr_eap_message);
+ fr_pair_delete_by_da(&eap_session->request->reply_pairs, attr_state);
talloc_free(eap_session->this_round->request);
eap_session->this_round->request = talloc_zero(eap_session->this_round, eap_packet_t);
* then delete them so they don't screw
* up any of the other code.
*/
- for (vp = fr_cursor_init(&cursor, &request->reply->vps);
+ for (vp = fr_cursor_init(&cursor, &request->reply_pairs);
vp;
vp = fr_cursor_next(&cursor)) {
if (vp->da == attr_eap_aka_sim_permanent_id_req) {
pair_delete_request(attr_eap_aka_sim_next_pseudonym);
- vp = fr_pair_find_by_da(request->reply->vps, attr_eap_aka_sim_next_reauth_id);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_eap_aka_sim_next_reauth_id);
if (vp) {
/*
* Generate a random fastauth string
request->rcode = RLM_MODULE_NOOP; /* Needed because we may call resume functions directly */
- vp = fr_pair_find_by_da(request->reply->vps, attr_eap_aka_sim_next_pseudonym);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_eap_aka_sim_next_pseudonym);
if (vp) {
/*
* Generate a random pseudonym string
}
}
- fr_cursor_init(&cursor, &request->reply->vps);
+ fr_cursor_init(&cursor, &request->reply_pairs);
fr_cursor_init(&to_encode, &head);
/*
* - FR_NOTIFICATION_VALUE_NOT_SUBSCRIBED
* User has not subscribed to the requested service.
*/
- notification_vp = fr_pair_find_by_da(request->reply->vps, attr_eap_aka_sim_notification);
+ notification_vp = fr_pair_find_by_da(request->reply_pairs, attr_eap_aka_sim_notification);
/*
* Change the failure notification depending where
{
eap_aka_sim_session_t *eap_aka_sim_session = talloc_get_type_abort(eap_session->opaque,
eap_aka_sim_session_t);
- VALUE_PAIR *to_peer = request->reply->vps, *vp;
+ VALUE_PAIR *to_peer = request->reply_pairs, *vp;
VALUE_PAIR *kdf_id;
case AKA_SIM_ANY_ID_REQ:
RDEBUG2("Composing EAP-Request/Reauthentication failed. Clearing reply attributes and "
"requesting additional Identity");
- fr_pair_list_free(&request->reply->vps);
+ fr_pair_list_free(&request->reply_pairs);
eap_aka_sim_session->id_req = AKA_SIM_FULLAUTH_ID_REQ;
return common_identity_enter(mctx, request, eap_session);
REQUEST *request, eap_session_t *eap_session)
{
eap_aka_sim_session_t *eap_aka_sim_session = talloc_get_type_abort(eap_session->opaque, eap_aka_sim_session_t);
- VALUE_PAIR *to_peer = request->reply->vps, *vp;
+ VALUE_PAIR *to_peer = request->reply_pairs, *vp;
fr_aka_sim_vector_src_t src = AKA_SIM_VECTOR_SRC_AUTO;
VALUE_PAIR *kdf_id;
{
eap_aka_sim_session_t *eap_aka_sim_session = talloc_get_type_abort(eap_session->opaque,
eap_aka_sim_session_t);
- VALUE_PAIR *to_peer = request->reply->vps, *vp;
+ VALUE_PAIR *to_peer = request->reply_pairs, *vp;
fr_aka_sim_vector_src_t src = AKA_SIM_VECTOR_SRC_AUTO;
VALUE_PAIR *kdf_id;
* If the user provided no versions, then
* just add the default (1).
*/
- if (!(fr_pair_find_by_da(request->reply->vps, attr_eap_aka_sim_version_list))) {
+ if (!(fr_pair_find_by_da(request->reply_pairs, attr_eap_aka_sim_version_list))) {
MEM(pair_add_reply(&vp, attr_eap_aka_sim_version_list) >= 0);
vp->vp_uint16 = EAP_SIM_VERSION;
}
* Iterate over the the versions adding them
* to the version list we use for keying.
*/
- for (vp = fr_cursor_init(&cursor, &request->reply->vps); vp; vp = fr_cursor_next(&cursor)) {
+ for (vp = fr_cursor_init(&cursor, &request->reply_pairs); vp; vp = fr_cursor_next(&cursor)) {
if (vp->da != attr_eap_aka_sim_version_list) continue;
if ((end - p) < 2) break;
/*
* Free anything we were going to send out...
*/
- fr_pair_list_free(&request->reply->vps);
+ fr_pair_list_free(&request->reply_pairs);
/*
* If we're failing, then any identities
/*
* Free anything we were going to send out...
*/
- fr_pair_list_free(&request->reply->vps);
+ fr_pair_list_free(&request->reply_pairs);
/*
* If there's an issue composing the failure
RDEBUG2("Previous section returned (%s), clearing reply attributes and "
"requesting additional identity",
fr_table_str_by_value(rcode_table, request->rcode, "<INVALID>"));
- fr_pair_list_free(&request->reply->vps);
+ fr_pair_list_free(&request->reply_pairs);
eap_aka_sim_session->id_req = AKA_SIM_FULLAUTH_ID_REQ;
return common_identity_enter(mctx, request, eap_session);
RDEBUG2("Previous section returned (%s), clearing reply attributes and "
"requesting additional identity",
fr_table_str_by_value(rcode_table, request->rcode, "<INVALID>"));
- fr_pair_list_free(&request->reply->vps);
+ fr_pair_list_free(&request->reply_pairs);
eap_aka_sim_session->id_req = AKA_SIM_FULLAUTH_ID_REQ;
return common_identity_enter(mctx, request, eap_session);
RDEBUG2("Previous section returned (%s), clearing reply attributes and "
"requesting additional identity",
fr_table_str_by_value(rcode_table, request->rcode, "<INVALID>"));
- fr_pair_list_free(&request->reply->vps);
+ fr_pair_list_free(&request->reply_pairs);
eap_aka_sim_session->id_req = AKA_SIM_FULLAUTH_ID_REQ;
return common_identity_enter(mctx, request, eap_session);
* and send it to the peer.
*/
if (inst->network_name &&
- !fr_pair_find_by_da(request->reply->vps, attr_eap_aka_sim_kdf_input)) {
+ !fr_pair_find_by_da(request->reply_pairs, attr_eap_aka_sim_kdf_input)) {
MEM(pair_add_reply(&vp, attr_eap_aka_sim_kdf_input) >= 0);
fr_pair_value_bstrdup_buffer(vp, inst->network_name, false);
}
* Use the default bidding value we have configured
*/
if (eap_aka_sim_session->send_at_bidding_prefer_prime &&
- !fr_pair_find_by_da(request->reply->vps, attr_eap_aka_sim_bidding)) {
+ !fr_pair_find_by_da(request->reply_pairs, attr_eap_aka_sim_bidding)) {
MEM(pair_add_reply(&vp, attr_eap_aka_sim_bidding) >= 0);
vp->vp_uint16 = FR_BIDDING_VALUE_PREFER_AKA_PRIME;
}
* Set the defaults for protected result indicator
*/
if (eap_aka_sim_session->send_result_ind &&
- !fr_pair_find_by_da(request->reply->vps, attr_eap_aka_sim_result_ind)) {
+ !fr_pair_find_by_da(request->reply_pairs, attr_eap_aka_sim_result_ind)) {
MEM(pair_add_reply(&vp, attr_eap_aka_sim_result_ind) >= 0);
vp->vp_bool = true;
}
* Set the defaults for protected result indicator
*/
if (eap_aka_sim_session->send_result_ind &&
- !fr_pair_find_by_da(request->reply->vps, attr_eap_aka_sim_result_ind)) {
+ !fr_pair_find_by_da(request->reply_pairs, attr_eap_aka_sim_result_ind)) {
MEM(pair_add_reply(&vp, attr_eap_aka_sim_result_ind) >= 0);
vp->vp_bool = true;
}
* - 0 on success.
* - -1 on failure.
*/
-#define pair_add_reply(_attr, _da) fr_pair_add_by_da(request->reply, _attr, &request->reply->vps, _da)
+#define pair_add_reply(_attr, _da) fr_pair_add_by_da(request->reply, _attr, &request->reply_pairs, _da)
/** Allocate a VALUE_PAIR in the control list
*
* - 0 if we allocated a new attribute.
* - -1 on failure.
*/
-#define pair_update_reply(_attr, _da) fr_pair_update_by_da(request->reply, _attr, &request->reply->vps, _da)
+#define pair_update_reply(_attr, _da) fr_pair_update_by_da(request->reply, _attr, &request->reply_pairs, _da)
/** Return or allocate a VALUE_PAIR in the control list
*
* - >0 the number of pairs deleted.
* - 0 if no pairs were deleted.
*/
-#define pair_delete_reply(_pair) pair_delete(&request->reply->vps, _pair)
+#define pair_delete_reply(_pair) pair_delete(&request->reply_pairs, _pair)
/** Delete a VALUE_PAIR in the control list
*
fr_cursor_init(&request_cursor, &request->packet->vps);
fr_cursor_iter_by_da_init(&op_cursor, &request->packet->vps, attr_snmp_operation);
- fr_cursor_init(&reply_cursor, &request->reply->vps);
+ fr_cursor_init(&reply_cursor, &request->reply_pairs);
fr_cursor_init(&out_cursor, &head);
RDEBUG2("Processing SNMP stats request");
case PAIR_LIST_REPLY:
if (!request->reply) return NULL;
- return &request->reply->vps;
+ return &request->reply_pairs;
case PAIR_LIST_CONTROL:
return &request->control_pairs;
request->packet->vps) < 0) ||
(fr_pair_list_copy(child->reply,
&child->reply->vps,
- request->reply->vps) < 0) ||
+ request->reply_pairs) < 0) ||
(fr_pair_list_copy(child,
&child->control,
request->control_pairs) < 0)) {
request->packet->vps) < 0) ||
(fr_pair_list_copy(child->reply,
&child->reply->vps,
- request->reply->vps) < 0) ||
+ request->reply_pairs) < 0) ||
(fr_pair_list_copy(child,
&child->control,
request->control_pairs) < 0)) {
return 1;
}
- slen = fr_arp_encode(buffer, buffer_len, request->packet->data, request->reply->vps);
+ slen = fr_arp_encode(buffer, buffer_len, request->packet->data, request->reply_pairs);
if (slen <= 0) {
RPEDEBUG("Failed encoding reply");
return -1;
request->reply->code,
request->async->listen->name);
- log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
}
return slen;
* Allow the admin to explicitly set the reply
* type.
*/
- vp = fr_pair_find_by_da(request->reply->vps, attr_arp_operation);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_arp_operation);
if (vp) {
request->reply->code = vp->vp_uint8;
} else switch (rcode) {
if (request->parent && RDEBUG_ENABLED) {
RDEBUG("Sending %s", fr_arp_packet_codes[request->reply->code]);
- log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
}
break;
/*
* Allow for over-ride of reply code.
*/
- vp = fr_pair_find_by_da(request->reply->vps, inst->attr_packet_type);
+ vp = fr_pair_find_by_da(request->reply_pairs, inst->attr_packet_type);
if (vp) request->reply->code = vp->vp_uint32;
if (request->reply->code == FR_CODE_DO_NOT_RESPOND) {
request->reply->id);
}
- log_request_proto_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
+ log_request_proto_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
break;
default:
}
data_len = fr_dhcpv4_encode(buffer, buffer_len, original, request->reply->code,
- ntohl(original->xid), request->reply->vps);
+ ntohl(original->xid), request->reply_pairs);
if (data_len < 0) {
RPEDEBUG("Failed encoding DHCPV4 reply");
return -1;
* Allow the admin to explicitly set the reply
* type.
*/
- vp = fr_pair_find_by_da(request->reply->vps, attr_message_type);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_message_type);
if (vp) {
request->reply->code = vp->vp_uint8;
} else switch (rcode) {
* Offer and ACK MUST have YIADDR.
*/
if ((request->reply->code == FR_DHCP_OFFER) || (request->reply->code == FR_DHCP_ACK)) {
- vp = fr_pair_find_by_da(request->reply->vps, attr_yiaddr);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_yiaddr);
if (!vp) {
REDEBUG("%s packet does not have YIADDR. The client will not receive an IP address.",
dhcp_message_types[request->reply->code]);
}
data_len = fr_dhcpv6_encode(buffer, buffer_len, request->packet->data, request->packet->data_len,
- request->reply->code, request->reply->vps);
+ request->reply->code, request->reply_pairs);
if (data_len < 0) {
RPEDEBUG("Failed encoding DHCPv6 reply");
return -1;
* Allow the admin to explicitly set the reply
* type.
*/
- vp = fr_pair_find_by_da(request->reply->vps, attr_packet_type);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_packet_type);
if (vp) {
request->reply->code = vp->vp_uint32;
} else switch (rcode) {
{
VALUE_PAIR *vp;
- vp = fr_pair_find_by_da(request->reply->vps, attr_ldap_sync_cookie);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_ldap_sync_cookie);
if (!vp) {
if (config->allow_refresh) RDEBUG2("No &reply.Cookie attribute found. All entries matching "
"sync configuration will be returned");
data_len = fr_radius_encode(buffer, buffer_len, request->packet->data,
client->secret, talloc_array_length(client->secret) - 1,
- request->reply->code, request->reply->id, request->reply->vps);
+ request->reply->code, request->reply->id, request->reply_pairs);
if (data_len < 0) {
RPEDEBUG("Failed encoding RADIUS reply");
return -1;
data_len,
request->async->listen->name);
- log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
}
return data_len;
/*
* Allow for over-ride of reply code.
*/
- vp = fr_pair_find_by_da(request->reply->vps, attr_packet_type);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_packet_type);
if (vp) request->reply->code = vp->vp_uint32;
dv = fr_dict_enum_by_value(attr_packet_type, fr_box_uint32(request->reply->code));
if (request->parent && RDEBUG_ENABLED) {
RDEBUG("Sending %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
- log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
}
break;
/*
* Allow for over-ride of reply code.
*/
- vp = fr_pair_find_by_da(request->reply->vps, attr_packet_type);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_packet_type);
if (vp) {
request->reply->code = vp->vp_uint32;
goto setup_send;
/*
* Allow for over-ride of reply code.
*/
- vp = fr_pair_find_by_da(request->reply->vps, attr_packet_type);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_packet_type);
if (vp) request->reply->code = vp->vp_uint32;
setup_send:
if (!request->reply->code) {
- vp = fr_pair_find_by_da(request->reply->vps, attr_packet_type);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_packet_type);
if (vp) {
request->reply->code = vp->vp_uint32;
} else {
* "send Access-Challenge" section.
*/
if ((request->reply->code == FR_CODE_ACCESS_CHALLENGE) &&
- !(vp = fr_pair_find_by_da(request->reply->vps, attr_state))) {
+ !(vp = fr_pair_find_by_da(request->reply_pairs, attr_state))) {
uint8_t buffer[16];
fr_rand_buffer(buffer, sizeof(buffer));
}
if (request->parent && RDEBUG_ENABLED) {
RDEBUG("Sending %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
- log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
}
break;
* re-authorization requests.
*/
if (request->packet->code == FR_CODE_COA_REQUEST) {
- vp = fr_pair_find_by_da(request->reply->vps, attr_service_type);
- if (vp && !fr_pair_find_by_da(request->reply->vps, attr_state)) {
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_service_type);
+ if (vp && !fr_pair_find_by_da(request->reply_pairs, attr_state)) {
REDEBUG("CoA-Request with Service-Type = Authorize-Only MUST contain a State attribute");
request->reply->code = FR_CODE_COA_NAK;
goto nak;
/*
* Allow for over-ride of reply code.
*/
- vp = fr_pair_find_by_da(request->reply->vps, attr_packet_type);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_packet_type);
if (vp) request->reply->code = vp->vp_uint32;
nak:
if (request->parent && RDEBUG_ENABLED) {
RDEBUG("Sending %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
- log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
}
break;
/*
* Allow for over-ride of reply code.
*/
- vp = fr_pair_find_by_da(request->reply->vps, attr_packet_type);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_packet_type);
if (vp) request->reply->code = vp->vp_uint32;
dv = fr_dict_enum_by_value(attr_packet_type, fr_box_uint32(request->reply->code));
if (request->parent && RDEBUG_ENABLED) {
RDEBUG("Sending %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
- log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
}
break;
data_len = fr_tacacs_encode(buffer, buffer_len, request->packet->data,
client->secret, talloc_array_length(client->secret) - 1,
- request->reply->vps);
+ request->reply_pairs);
if (data_len < 0) {
RPEDEBUG("Failed encoding TACACS+ reply");
return -1;
data_len,
request->async->listen->name);
- log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
}
RHEXDUMP3(buffer, data_len, "proto_tacacs encode packet");
/*
* Set the server reply message.
*/
- if (!fr_pair_find_by_da(request->reply->vps, attr_tacacs_server_message)) {
+ if (!fr_pair_find_by_da(request->reply_pairs, attr_tacacs_server_message)) {
MEM(pair_update_reply(&vp, attr_tacacs_server_message) >= 0);
fr_pair_value_strdup(vp, "Accounting failed");
}
/*
* Set the server reply message. Note that we do not tell the user *why* they failed authentication.
*/
- if (!fr_pair_find_by_da(request->reply->vps, attr_tacacs_server_message)) {
+ if (!fr_pair_find_by_da(request->reply_pairs, attr_tacacs_server_message)) {
MEM(pair_update_reply(&vp, attr_tacacs_server_message) >= 0);
fr_pair_value_strdup(vp, "Authentication failed");
}
/*
* Set the server reply message. Note that we do not tell the user *why* they failed authentication.
*/
- if (!fr_pair_find_by_da(request->reply->vps, attr_tacacs_server_message)) {
+ if (!fr_pair_find_by_da(request->reply_pairs, attr_tacacs_server_message)) {
MEM(pair_update_reply(&vp, attr_tacacs_server_message) >= 0);
fr_pair_value_strdup(vp, "Authentication failed");
}
#endif
data_len = fr_vmps_encode(buffer, buffer_len, request->packet->data,
- request->reply->code, request->reply->id, request->reply->vps);
+ request->reply->code, request->reply->id, request->reply_pairs);
if (data_len < 0) {
RPEDEBUG("Failed encoding VMPS reply");
return -1;
} else {
RDEBUG("Denying client");
}
- if (RDEBUG_ENABLED) log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, NULL);
+ if (RDEBUG_ENABLED) log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, NULL);
break;
default:
/*
* Doesn't exist, add it in.
*/
- vp = fr_pair_find_by_da(request->reply->vps, attr_user_name);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_user_name);
if (!vp) {
vp = fr_pair_copy(request->reply, username);
- fr_pair_add(&request->reply->vps, vp);
+ fr_pair_add(&request->reply_pairs, vp);
}
/*
return RLM_MODULE_NOOP;
}
- if (fr_pair_find_by_da(request->reply->vps, attr_eap_message)) {
+ if (fr_pair_find_by_da(request->reply_pairs, attr_eap_message)) {
RDEBUG3("Reply already contained an EAP-Message, not inserting EAP-Failure");
return RLM_MODULE_NOOP;
}
RDEBUG2("Storing attributes for final response");
RINDENT();
- if (fr_pair_list_copy_by_da(data, &data->mppe_keys, request->reply->vps,
+ if (fr_pair_list_copy_by_da(data, &data->mppe_keys, request->reply_pairs,
attr_ms_mppe_encryption_policy) > 0) {
RDEBUG2("%s", attr_ms_mppe_encryption_policy->name);
}
- if (fr_pair_list_copy_by_da(data, &data->mppe_keys, request->reply->vps,
+ if (fr_pair_list_copy_by_da(data, &data->mppe_keys, request->reply_pairs,
attr_ms_mppe_encryption_type) > 0) {
RDEBUG2("%s", attr_ms_mppe_encryption_type->name);
}
- if (fr_pair_list_copy_by_da(data, &data->mppe_keys, request->reply->vps,
+ if (fr_pair_list_copy_by_da(data, &data->mppe_keys, request->reply_pairs,
attr_ms_mppe_recv_key) > 0) {
RDEBUG2("%s", attr_ms_mppe_recv_key->name);
}
- if (fr_pair_list_copy_by_da(data, &data->mppe_keys, request->reply->vps,
+ if (fr_pair_list_copy_by_da(data, &data->mppe_keys, request->reply_pairs,
attr_ms_mppe_send_key) > 0) {
RDEBUG2("%s", attr_ms_mppe_send_key->name);
}
* Move the attribute, so it doesn't go into
* the reply.
*/
- fr_pair_list_copy_by_da(data, &response, request->reply->vps, attr_ms_chap2_success);
+ fr_pair_list_copy_by_da(data, &response, request->reply_pairs, attr_ms_chap2_success);
break;
default:
* access-accept e.g. vlan, etc. This lets the PEAP
* use_tunneled_reply code work
*/
- MEM(fr_pair_list_copy(data, &data->reply, request->reply->vps) >= 0);
+ MEM(fr_pair_list_copy(data, &data->reply, request->reply_pairs) >= 0);
/*
* And we need to challenge the user, not ack/reject them,
* return success or failure, depending on the result.
*/
if (rcode == RLM_MODULE_OK) {
- if (fr_pair_list_copy_by_da(data, &response, request->reply->vps, attr_ms_chap2_success) < 0) {
+ if (fr_pair_list_copy_by_da(data, &response, request->reply_pairs, attr_ms_chap2_success) < 0) {
RPERROR("Failed copying %s", attr_ms_chap2_success->name);
return RLM_MODULE_FAIL;
}
data->code = FR_EAP_MSCHAPV2_SUCCESS;
} else if (inst->send_error) {
- if (fr_pair_list_copy_by_da(data, &response, request->reply->vps, attr_ms_chap_error) < 0) {
+ if (fr_pair_list_copy_by_da(data, &response, request->reply_pairs, attr_ms_chap_error) < 0) {
RPERROR("Failed copying %s", attr_ms_chap_error->name);
return RLM_MODULE_FAIL;
}
/* encapsulate response here */
if (req->response) {
RDEBUG2("sending chbind response");
- fr_pair_add(&request->reply->vps,
+ fr_pair_add(&request->reply_pairs,
eap_chbind_packet2vp(request->reply, req->response));
} else {
RDEBUG2("no chbind response");
/*
* If there's already a fixed IP, don't do anything
*/
- yiaddr = fr_pair_find_by_da(request->reply->vps, attr_your_ip_address);
+ yiaddr = fr_pair_find_by_da(request->reply_pairs, attr_your_ip_address);
if (yiaddr) return 0;
host = get_host(request, inst->hosts_by_ether, inst->hosts_by_uid);
if (info->cmd->type != ISC_FIXED_ADDRESS) continue;
- MEM(vp = fr_pair_afrom_da(request->reply->vps, attr_your_ip_address));
+ MEM(vp = fr_pair_afrom_da(request->reply_pairs, attr_your_ip_address));
rcode = fr_value_box_copy(vp, &(vp->data), info->argv[0]);
if (rcode < 0) return rcode;
/*
* <sigh> I miss pair_add()
*/
- (void) fr_cursor_init(&cursor, &request->reply->vps);
+ (void) fr_cursor_init(&cursor, &request->reply_pairs);
(void) fr_cursor_tail(&cursor);
fr_cursor_append(&cursor, vp);
VALUE_PAIR *yiaddr;
rcode = 0;
- yiaddr = fr_pair_find_by_da(request->reply->vps, attr_your_ip_address);
+ yiaddr = fr_pair_find_by_da(request->reply_pairs, attr_your_ip_address);
/*
* First, apply any "host" options
fr_cursor_t option_cursor;
fr_cursor_t reply_cursor;
- (void) fr_cursor_init(&reply_cursor, &request->reply->vps);
+ (void) fr_cursor_init(&reply_cursor, &request->reply_pairs);
(void) fr_cursor_tail(&reply_cursor);
/*
vp = fr_cursor_next(&option_cursor)) {
VALUE_PAIR *reply;
- reply = fr_pair_find_by_da(request->reply->vps, vp->da);
+ reply = fr_pair_find_by_da(request->reply_pairs, vp->da);
if (reply) continue;
/*
mruby_request = mrb_obj_new(mrb, inst->mruby_request, 0, NULL);
mrb_iv_set(mrb, mruby_request, mrb_intern_cstr(mrb, "@frconfig"), inst->mrubyconf_hash);
mruby_set_vps(request, mrb, mruby_request, "@request", &request->packet->vps);
- mruby_set_vps(request, mrb, mruby_request, "@reply", &request->reply->vps);
+ mruby_set_vps(request, mrb, mruby_request, "@reply", &request->reply_pairs);
mruby_set_vps(request, mrb, mruby_request, "@control", &request->control_pairs);
mruby_set_vps(request, mrb, mruby_request, "@session_state", &request->state);
return RLM_MODULE_FAIL;
}
- add_vp_tuple(request->reply, request, &request->reply->vps, mrb, mrb_ary_entry(mruby_result, 1), function_name);
+ add_vp_tuple(request->reply, request, &request->reply_pairs, mrb, mrb_ary_entry(mruby_result, 1), function_name);
add_vp_tuple(request, request, &request->control_pairs, mrb, mrb_ary_entry(mruby_result, 2), function_name);
return (rlm_rcode_t)mrb_int(mrb, mrb_ary_entry(mruby_result, 0));
do {
result_add(request, inst, request, &request->control_pairs, pw, 0, "config");
- result_add(request->reply, inst, request, &request->reply->vps, pw, 1, "reply_items");
+ result_add(request->reply, inst, request, &request->reply_pairs, pw, 1, "reply_items");
result_add(request->packet, inst, request, &request->packet->vps, pw, 2, "request_items");
} while ((pw = get_next(buffer, inst->ht, &last_found)));
rad_state_hv = get_hv("RAD_STATE", 1);
perl_store_vps(request->packet, request, &request->packet->vps, rad_request_hv, "RAD_REQUEST", "request");
- perl_store_vps(request->reply, request, &request->reply->vps, rad_reply_hv, "RAD_REPLY", "reply");
+ perl_store_vps(request->reply, request, &request->reply_pairs, rad_reply_hv, "RAD_REPLY", "reply");
perl_store_vps(request, request, &request->control_pairs, rad_config_hv, "RAD_CONFIG", "control");
perl_store_vps(request->state_ctx, request, &request->state, rad_state_hv, "RAD_STATE", "session-state");
}
if ((get_hv_content(request->reply, request, rad_reply_hv, &vp, "RAD_REPLY", "reply")) == 0) {
- fr_pair_list_free(&request->reply->vps);
- request->reply->vps = vp;
+ fr_pair_list_free(&request->reply_pairs);
+ request->reply_pairs = vp;
vp = NULL;
}
/* Now have the return value */
rcode = PyLong_AsLong(p_tuple_int);
/* Reply item tuple */
- mod_vptuple(request->reply, inst, request, &request->reply->vps,
+ mod_vptuple(request->reply, inst, request, &request->reply_pairs,
PyTuple_GET_ITEM(p_ret, 1), funcname, "reply");
/* Config item tuple */
mod_vptuple(request, inst, request, &request->control_pairs,
if ((u->code == FR_CODE_ACCESS_REQUEST) && (code == FR_CODE_ACCESS_CHALLENGE)) {
VALUE_PAIR *vp;
- vp = fr_pair_find_by_da(request->reply->vps, attr_packet_type);
+ vp = fr_pair_find_by_da(request->reply_pairs, attr_packet_type);
if (!vp) {
MEM(vp = fr_pair_afrom_da(request->reply, attr_packet_type));
vp->vp_uint32 = FR_CODE_ACCESS_CHALLENGE;
- fr_pair_add(&request->reply->vps, vp);
+ fr_pair_add(&request->reply_pairs, vp);
}
}
MEM(vp = fr_pair_afrom_da(request->reply, attr_message_authenticator));
(void) fr_pair_value_memdup(vp, (uint8_t const *) "", 1, false);
- fr_pair_add(&request->reply->vps, vp);
+ fr_pair_add(&request->reply_pairs, vp);
}
treq->request->reply->code = code;
r->rcode = radius_code_to_rcode[code];
- fr_pair_add(&request->reply->vps, reply);
+ fr_pair_add(&request->reply_pairs, reply);
fr_trunk_request_signal_complete(treq);
}
}
p[4] = 'N';
p[3] = 'A';
p[2] = 'P';
- fr_pair_add(&request->reply->vps, vp);
+ fr_pair_add(&request->reply_pairs, vp);
} else {
RDEBUG2("SoH decoding NAP from DHCP request");
* process the reply rows
*/
if ((rows > 0) &&
- (paircmp(request, request->packet->vps, check_tmp, &request->reply->vps) != 0)) {
+ (paircmp(request, request->packet->vps, check_tmp, &request->reply_pairs) != 0)) {
fr_pair_list_free(&check_tmp);
entry = entry->next;
log_request_pair_list(L_DBG_LVL_2, request, reply_tmp, NULL);
- radius_pairmove(request, &request->reply->vps, reply_tmp, true);
+ radius_pairmove(request, &request->reply_pairs, reply_tmp, true);
reply_tmp = NULL;
/*
* If there's no reply query configured, then we assume
*/
RDEBUG2("User found in radcheck table");
user_found = true;
- if (paircmp(request, request->packet->vps, check_tmp, &request->reply->vps) != 0) {
+ if (paircmp(request, request->packet->vps, check_tmp, &request->reply_pairs) != 0) {
fr_pair_list_free(&check_tmp);
check_tmp = NULL;
goto skip_reply;
log_request_pair_list(L_DBG_LVL_2, request, reply_tmp, NULL);
- radius_pairmove(request, &request->reply->vps, reply_tmp, true);
+ radius_pairmove(request, &request->reply_pairs, reply_tmp, true);
rcode = RLM_MODULE_OK;
reply_tmp = NULL;
/*
* If there is a Framed-IP-Address attribute in the reply do nothing
*/
- if (fr_pair_find_by_da(request->reply->vps, inst->framed_ip_address) != NULL) {
+ if (fr_pair_find_by_da(request->reply_pairs, inst->framed_ip_address) != NULL) {
RDEBUG2("%s already exists", inst->framed_ip_address->name);
return do_logging(inst, request, inst->log_exists, RLM_MODULE_NOOP);
}
RDEBUG2("Allocated IP %s", allocation);
- fr_pair_add(&request->reply->vps, vp);
+ fr_pair_add(&request->reply_pairs, vp);
/*
* UPDATE
/*
* Create attributes based on the statistics.
*/
- fr_cursor_init(&cursor, &request->reply->vps);
+ fr_cursor_init(&cursor, &request->reply_pairs);
MEM(pair_update_reply(&vp, attr_freeradius_stats4_type) >= 0);
vp->vp_uint32 = stats_type;
uint8_t mip_rk_1[EVP_MAX_MD_SIZE], mip_rk_2[EVP_MAX_MD_SIZE];
uint8_t mip_rk[2 * EVP_MAX_MD_SIZE];
- msk = fr_pair_find_by_da(request->reply->vps, attr_eap_msk);
- emsk = fr_pair_find_by_da(request->reply->vps, attr_eap_emsk);
+ msk = fr_pair_find_by_da(request->reply_pairs, attr_eap_msk);
+ emsk = fr_pair_find_by_da(request->reply_pairs, attr_eap_emsk);
if (!msk || !emsk) {
REDEBUG2("No EAP-MSK or EAP-EMSK. Cannot create WiMAX keys");
return RLM_MODULE_NOOP;
* Calculate mobility keys
*/
mn_nai = fr_pair_find_by_da(request->packet->vps, attr_wimax_mn_nai);
- if (!mn_nai) mn_nai = fr_pair_find_by_da(request->reply->vps, attr_wimax_mn_nai);
+ if (!mn_nai) mn_nai = fr_pair_find_by_da(request->reply_pairs, attr_wimax_mn_nai);
if (!mn_nai) {
RWDEBUG("%s was not found in the request or in the reply", attr_wimax_mn_nai->name);
RWDEBUG("We cannot calculate MN-HA keys");
* WiMAX-IP-Technology
*/
vp = NULL;
- if (mn_nai) vp = fr_pair_find_by_da(request->reply->vps, attr_wimax_ip_technology);
+ if (mn_nai) vp = fr_pair_find_by_da(request->reply_pairs, attr_wimax_ip_technology);
if (!vp) {
RWDEBUG("%s not found in reply", attr_wimax_ip_technology->name);
RWDEBUG("Not calculating MN-HA keys");
/*
* Look for WiMAX-hHA-IP-MIP4
*/
- ip = fr_pair_find_by_da(request->reply->vps, attr_wimax_hha_ip_mip4);
+ ip = fr_pair_find_by_da(request->reply_pairs, attr_wimax_hha_ip_mip4);
if (!ip) {
RWDEBUG("%s not found. Cannot calculate MN-HA-PMIP4 key", attr_wimax_hha_ip_mip4->name);
break;
/*
* Look for WiMAX-hHA-IP-MIP4
*/
- ip = fr_pair_find_by_da(request->reply->vps, attr_wimax_hha_ip_mip4);
+ ip = fr_pair_find_by_da(request->reply_pairs, attr_wimax_hha_ip_mip4);
if (!ip) {
RWDEBUG("%s not found. Cannot calculate MN-HA-CMIP4 key", attr_wimax_hha_ip_mip4->name);
break;
/*
* Look for WiMAX-hHA-IP-MIP6
*/
- ip = fr_pair_find_by_da(request->reply->vps, attr_wimax_hha_ip_mip6);
+ ip = fr_pair_find_by_da(request->reply_pairs, attr_wimax_hha_ip_mip6);
if (!ip) {
RWDEBUG("%s not found. Cannot calculate MN-HA-CMIP6 key", attr_wimax_hha_ip_mip6->name);
break;
*
* FA-RK= H(MIP-RK, "FA-RK")
*/
- fa_rk = fr_pair_find_by_da(request->reply->vps, attr_wimax_fa_rk_key);
+ fa_rk = fr_pair_find_by_da(request->reply_pairs, attr_wimax_fa_rk_key);
if (fa_rk && (fa_rk->vp_length <= 1)) {
HMAC_Init_ex(hmac, mip_rk, rk_len, EVP_sha1(), NULL);