324 |
|
|
325 |
/* FIXME! server timeout is not used */ |
/* FIXME! server timeout is not used */ |
326 |
void |
void |
327 |
proxy_retry(RADIUS_REQ *radreq, RADIUS_REQ *orig_req, int fd) |
proxy_retry(RADIUS_REQ *req, int fd) |
328 |
{ |
{ |
329 |
VALUE_PAIR *namepair; |
VALUE_PAIR *namepair; |
330 |
char *saved_username; |
char *saved_username; |
331 |
|
|
332 |
namepair = avl_find(radreq->request, DA_USER_NAME); |
namepair = avl_find(req->request, DA_USER_NAME); |
333 |
if (namepair == NULL) |
if (namepair == NULL) |
334 |
return; |
return; |
335 |
|
|
336 |
saved_username = namepair->avp_strvalue; |
saved_username = namepair->avp_strvalue; |
337 |
namepair->avp_strvalue = orig_req->remote_user; |
namepair->avp_strvalue = req->remote_user; |
338 |
namepair->avp_strlength = strlen(namepair->avp_strvalue); |
namepair->avp_strlength = strlen(namepair->avp_strvalue); |
339 |
|
|
340 |
proxy_send_request(fd, orig_req); |
proxy_send_request(fd, req); |
341 |
|
|
342 |
/* restore username */ |
/* restore username */ |
343 |
namepair->avp_strvalue = saved_username; |
namepair->avp_strvalue = saved_username; |
344 |
namepair->avp_strlength = strlen(namepair->avp_strvalue); |
namepair->avp_strlength = strlen(namepair->avp_strvalue); |
345 |
} |
} |
346 |
|
|
|
|
|
347 |
static int |
static int |
348 |
select_propagated(void *null ARG_UNUSED, VALUE_PAIR *pair) |
select_propagated(void *null ARG_UNUSED, VALUE_PAIR *pair) |
349 |
{ |
{ |