bug-gnu-radius
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-gnu-radius] Problem in proxying with multiple servers in the realms


From: Maurice Makaay
Subject: [Bug-gnu-radius] Problem in proxying with multiple servers in the realms file
Date: Tue, 20 Jul 2004 12:20:19 +0200

Hi,

This might be a bug or this might be a simple stupidity error. For now
I'll post this message to the bugs list.

I'm building a radius setup where we will proxy authentication for a 
certain realm to two radiusservers of a customer (primary and fallback
radius). I created a realms file which looks something like this:

  therealm  1.2.3.4:1812,2.3.4.5:1812  strip

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. Here's a bit of debug logging:

Jul 20 12:08:01 /vol/radius/uumm/raddb/users reloaded.
Jul 20 12:08:01 Ready
Jul 20 12:08:01 Ready to process requests.
Jul 20 12:08:05 request.c:351:request_handle: AUTH request 0 added to the list. 
1 requests held.
Jul 20 12:08:05 request.c:351:request_handle: AUTH request 0 added to the list. 
1 requests held.
Jul 20 12:08:05 proxy.c:253:proxy_send_request: Update id=61, proxy_id=14, 
realm=paul.nl, server_no=0
Jul 20 12:08:05 proxy.c:171:proxy_send_pdu: Proxying id 61 to 1020304
Jul 20 12:08:05 request.c:366:request_update: enter, pid=15877, ptr = 76658
Jul 20 12:08:05 radius.c:386:radius_req_update: Update request 61: proxy_id=14, 
realm=paul.nl, server_no=0
Jul 20 12:08:05 request.c:378:request_update: exit
Jul 20 12:08:05 request.c:366:request_update: enter, pid=15877, ptr = 0
Jul 20 12:08:05 request.c:378:request_update: exit

This is all debugging info I have. I see a request going to 1020304. That's
where it all stops. 


Is this proxying construction already supposed to work, or should some
more work be done in that area? 

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 (I might of course be wrong, due
to my current excessive lack of sleep ;-). A quick grep delivers:

./ChangeLog
./include/radiusd.h
./radiusd/radius.c
./radiusd/request.c

Changelog and radiusd.h aren't interesting. 
radius.c only contains the radius_req_xmit function definition:

    void
    radius_req_xmit(REQUEST *request)
    {
        ......function code.....
    }

radiusd/request.c only contains the request_class struct definition:

    struct request_class request_class[] = {
            { "AUTH", 0, MAX_REQUEST_TIME, CLEANUP_DELAY,
            ......
             radius_req_xmit,     /* Retransmitter */
            ......
            { "ACCT", 0, MAX_REQUEST_TIME, CLEANUP_DELAY,
            ......
             radius_req_xmit,     /* Retransmitter */
            ......
    };

<desperate>Help! Am I missing something here?</desperate>


With kind regards,

Maurice Makaay
InterNLnet BV




reply via email to

[Prev in Thread] Current Thread [Next in Thread]