/** A wrapper around send generic which restores fields
*
*/
-SEND(generic_radius_response)
+RESUME(generic_radius_response)
{
if (mctx->rctx) radius_request_pairs_to_reply(request, talloc_get_type_abort(mctx->rctx, process_radius_request_pairs_t));
- return CALL_SEND(generic);
+ return CALL_RESUME(send_generic);
}
RECV(access_request)
}
fr_state_discard(inst->auth.state_tree, request);
+ radius_request_pairs_to_reply(request, mctx->rctx);
RETURN_MODULE_OK;
}
}
fr_state_discard(inst->auth.state_tree, request);
+ radius_request_pairs_to_reply(request, mctx->rctx);
RETURN_MODULE_OK;
}
}
fr_assert(request->reply->code == FR_RADIUS_CODE_ACCESS_CHALLENGE);
+ radius_request_pairs_to_reply(request, mctx->rctx);
RETURN_MODULE_OK;
}
rlm_rcode_t rcode = *p_result;
fr_pair_t *vp;
CONF_SECTION *cs;
- fr_dict_enum_value_t const *dv;
+ fr_dict_enum_value_t const *dv;
fr_process_state_t const *state;
process_radius_t const *inst = talloc_get_type_abort_const(mctx->inst->data, process_radius_t);
[RLM_MODULE_DISALLOW] = FR_RADIUS_CODE_ACCESS_REJECT
},
.rcode = RLM_MODULE_NOOP,
- .send = send_generic_radius_response,
+ .send = send_generic,
.resume = resume_access_accept,
.section_offset = offsetof(process_radius_sections_t, access_accept),
},
[RLM_MODULE_DISALLOW] = FR_RADIUS_CODE_ACCESS_REJECT
},
.rcode = RLM_MODULE_NOOP,
- .send = send_generic_radius_response,
+ .send = send_generic,
.resume = resume_access_reject,
.section_offset = offsetof(process_radius_sections_t, access_reject),
},
[RLM_MODULE_DISALLOW] = FR_RADIUS_CODE_ACCESS_REJECT
},
.rcode = RLM_MODULE_NOOP,
- .send = send_generic_radius_response,
+ .send = send_generic,
.resume = resume_access_challenge,
.section_offset = offsetof(process_radius_sections_t, access_challenge),
},
[RLM_MODULE_DISALLOW] = FR_RADIUS_CODE_DO_NOT_RESPOND
},
.rcode = RLM_MODULE_NOOP,
- .send = send_generic_radius_response,
- .resume = resume_send_generic,
+ .send = send_generic,
+ .resume = resume_generic_radius_response,
.section_offset = offsetof(process_radius_sections_t, accounting_response),
},
[ FR_RADIUS_CODE_STATUS_SERVER ] = { /* @todo - negotiation, stats, etc. */
[RLM_MODULE_DISALLOW] = FR_RADIUS_CODE_COA_NAK
},
.rcode = RLM_MODULE_NOOP,
- .send = send_generic_radius_response,
- .resume = resume_send_generic,
+ .send = send_generic,
+ .resume = resume_generic_radius_response,
.section_offset = offsetof(process_radius_sections_t, coa_ack),
},
[ FR_RADIUS_CODE_COA_NAK ] = {
},
.rcode = RLM_MODULE_NOOP,
.send = send_generic,
- .resume = resume_send_generic,
+ .resume = resume_generic_radius_response,
.section_offset = offsetof(process_radius_sections_t, coa_nak),
},
[ FR_RADIUS_CODE_DISCONNECT_REQUEST ] = {
[RLM_MODULE_DISALLOW] = FR_RADIUS_CODE_DISCONNECT_NAK
},
.rcode = RLM_MODULE_NOOP,
- .recv = recv_generic_radius_request,
- .resume = resume_recv_generic,
+ .send = send_generic,
+ .resume = resume_generic_radius_response,
.section_offset = offsetof(process_radius_sections_t, disconnect_request),
},
[ FR_RADIUS_CODE_DISCONNECT_ACK ] = {
[RLM_MODULE_DISALLOW] = FR_RADIUS_CODE_DISCONNECT_NAK
},
.rcode = RLM_MODULE_NOOP,
- .send = send_generic_radius_response,
- .resume = resume_send_generic,
+ .send = send_generic,
+ .resume = resume_generic_radius_response,
.section_offset = offsetof(process_radius_sections_t, disconnect_ack),
},
[ FR_RADIUS_CODE_DISCONNECT_NAK ] = {
[RLM_MODULE_DISALLOW] = FR_RADIUS_CODE_DISCONNECT_NAK
},
.rcode = RLM_MODULE_NOOP,
- .send = send_generic_radius_response,
- .resume = resume_send_generic,
+ .send = send_generic,
+ .resume = resume_generic_radius_response,
.section_offset = offsetof(process_radius_sections_t, disconnect_nak),
},
[ FR_RADIUS_CODE_PROTOCOL_ERROR ] = { /* @todo - fill out required fields */