/* * Outgoing Access-Request Reply - write the detail files. */ static rlm_rcode_t CC_HINT(nonnull) mod_post_proxy(void *instance, REQUEST *request) { if (request->proxy_reply && request->proxy_reply->vps) { return detail_do(instance, request, request->proxy_reply, false); } /* * No reply: we must be doing Post-Proxy-Type = Fail. * * Note that we just call the normal accounting function, * to minimize the amount of code, and to highlight that * it's doing normal accounting. */ if (!request->proxy_reply) { rlm_rcode_t rcode; rcode = mod_accounting(instance, request); if (rcode == RLM_MODULE_OK) { request->reply->code = PW_CODE_ACCOUNTING_RESPONSE; } return rcode; } return RLM_MODULE_NOOP; }
static rlm_rcode_t CC_HINT(nonnull) mod_pre_proxy(void *instance, REQUEST *request) { if (request->proxy && request->proxy->vps) { return detail_do(instance, request, request->proxy, false); } return RLM_MODULE_NOOP; }
/* * Accounting - write the detail files. */ static rlm_rcode_t CC_HINT(nonnull) mod_accounting(void *instance, REQUEST *request) { #ifdef WITH_DETAIL if (request->listener->type == RAD_LISTEN_DETAIL && strcmp(((detail_instance_t *)instance)->filename, ((listen_detail_t *)request->listener->data)->filename) == 0) { RDEBUG("Suppressing writes to detail file as the request was just read from a detail file"); return RLM_MODULE_NOOP; } #endif return detail_do(instance, request, request->packet, true); }
/* * Outgoing CoA - write the detail files. */ static rlm_rcode_t CC_HINT(nonnull) mod_send_coa(void *instance, REQUEST *request) { return detail_do(instance, request, request->reply, false); }
/* * Incoming CoA - write the detail files. */ static rlm_rcode_t CC_HINT(nonnull) mod_recv_coa(void *instance, REQUEST *request) { return detail_do(instance, request, request->packet, false); }
/* * Outgoing Access-Request Reply - write the detail files. */ static rlm_rcode_t mod_post_auth(void *instance, REQUEST *request) { return detail_do(instance, request, request->reply, false); }
/* * Incoming Access Request - write the detail files. */ static rlm_rcode_t mod_authorize(void *instance, REQUEST *request) { return detail_do(instance, request, request->packet, false); }