Re: Problem in proxying with multiple servers in the realms file

Sergey Poznyakoff <[email protected]> Tue, 20 Jul 2004 15:54:26 +0300
Newsgroups gmane.comp.gnu.radius.bugs
Organization Farlep-Internet
Message-ID <[email protected]>
Hi Maurice,

> The manual states that the server specification is a comma separated
> list of servers. These will be tried in turn, until the list is
> exhausted (somewhat in conjunction with the retries parameter).
> But if I test out this setup, the radiusserver does not seem to
> retransmit the proxy request to the second server in case the first
> server does not work.

In order to toggle the retransmission the client must resend its
request (usually clients are configured to send 2-3 of them within
a predefined interval of time). This should change in the future
versions when I enable the use of timeout parameter.

> Here's a bit of debug logging:

Judging by this, the client did not retransmit its request, so
the server also chose not to retransmit data to another proxy.

> I have skimmed through the sources, but I ran into the function 
> "radius_req_xmit", which I can't really place. I do not have the feeling
> this function is ever actually called

Yes, it is called. The full reverse call graph is:

  request_xmit() request.c:126
   request_forward() request.c:155
    request_retransmit() request.c:166
     _request_iterator() request.c:260
      request_handle() request.c:301
       udp_input_handler() radiusd.c:1053    
        channel_handle() input.c:137
	 input_select() input.c:256
	  radiusd_main_loop() radiusd.c:830
	   radiusd_main() radiusd.c:558
	    radiusd_start() radiusd.c:567
	     main() radiusd.c:602 
         input_select_channel() input.c:302
	  radiusd_rpp_wait() radiusd.c:790
	  [..the further branch is executed only by shutdown requests,
	     so it is of no interest here..]

(Line numbers may be a bit different in your version).

Regards,
Sergey

PS: I owe you an answer to your previous letter :)