How to convert the Reply-Message as challenge
Sankalp Dubey
Sankalp_Dubey at symantec.com
Tue May 14 13:42:17 CEST 2013
Hi
We have a radius server which does not understand EAP and we are using Free Radius as EAP-PEAP-GTC proxy-inner-tunnel.
As the present code does not set User-Password in EAP-PEAP-GTC mode so we made the following code changes:
1. File: src/modules/rlm_eap/types/rlm_eap_gtc/rlm_eap_gtc.c
In function gtc_initiate(void *type_data, EAP_HANDLER *handler)
Added following lines with reference to the src/modules/rlm_eap/types/rlm_eap_mschapv2/rlm_eap_mschapv2.c file
#ifdef WITH_PROXY
/*
* The EAP session doesn't have enough information to
* proxy the "inside EAP" protocol. Disable EAP proxying.
*/
handler->request->options &= ~RAD_REQUEST_OPTION_PROXY_EAP;
#endif
2. We also added the following functions in rlm_eap_gtc.c file
static int gtc_postproxy(EAP_HANDLER *handler, void *tunnel_data)
This functions doesn't seem to be called.
3. gtc_autheticate changes:
#ifdef WITH_PROXY
/*
* If this options is set, then we do NOT authenticate the
* user here. Instead, now that we've added the PAP
* attributes to the request, we STOP, and let the outer
* tunnel code handle it.
*
* This means that the outer tunnel code will DELETE the
* EAP attributes, and proxy the PAP attributes to a
* home server.
*/
if (handler->request->options & RAD_REQUEST_OPTION_PROXY_EAP) {
/*
* Set up the callbacks for the tunnel
*/
eap_tunnel_data_t *tunnel;
tunnel = rad_malloc(sizeof(*tunnel));
memset(tunnel, 0, sizeof(*tunnel));
tunnel->tls_session = type_data;
tunnel->callback = gtc_postproxy;
/*
* Associate the callback with the request.
*/
rcode = request_data_add(handler->request,
handler->request->proxy,
REQUEST_DATA_EAP_TUNNEL_CALLBACK,
tunnel, free);
rad_assert(rcode == 0);
pairdelete(&handler->request->packet->vps, PW_STATE);
return 1;
}
#endif
The modified rlm_eap_gtc.c is attached for reference.
With these code changes we are able to set the User-Password in EAP-PEAP-GTC proxy mode. Also, debug message from gtc_postproxy is not visible in the log file.
However, when the proxied-to RADIUS Server throws Access-Challenge the same is not forwarded by Free RADIUS to the client i.e. Reply-Message is stripped by Free RADIUS.
Please let us know how to convert the Reply-Message as challenge for the client.
Thanks n regards
Sankalp Dubey
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeradius.org/pipermail/freeradius-devel/attachments/20130514/22c4bda0/attachment-0001.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: rlm_eap_gtc.c
URL: <http://lists.freeradius.org/pipermail/freeradius-devel/attachments/20130514/22c4bda0/attachment-0001.c>
More information about the Freeradius-Devel
mailing list