Re: Failure to relay Access-Challenge

Gayatri Prabhu <[email protected]> Thu, 22 Aug 2002 11:54:54 -0700 (PDT)
Newsgroups gmane.comp.gnu.radius.bugs
Message-ID <[email protected]>
Hi Sergey,
 
Thanks for the really quick response ! I did put in
this very case in the switch statement before I sent
you my previous email. It didn't seem to fix the
problem entirely. The Proxy sent out an Access-Reject
to the NAS instead of relaying the Access-Challenge
from the Server. 

What seems to happen is that the Proxy calls
radauthenticate() which in turn calls sfn_init().
sfn_init() doesn't handle the case for a proxied
Access-Challenge either. I didn't want to play around
the code too much because I didn't want to change
something I shouldn't be changing. 
 
I ran the test after applying your patch. I would
really appreciate it if you could take a look at the
new log files and get back to me at your earliest
convenience.
 
Thanks again,
Gayatri

--- Sergey Poznyakoff <[email protected]> wrote:
> Hello Gayatri,
> 
> Thank you for complete and professional description
> of the problem.
> The following simple patch should fix it:
> 
> *** orig/radiusd/radiusd.c	Tue Mar 19 17:30:53 2002
> --- radiusd/radiusd.c	Thu Aug 22 21:15:18 2002
> ***************
> *** 958,963 ****
> --- 958,964 ----
>   	case RT_AUTHENTICATION_ACK:
>   	case RT_AUTHENTICATION_REJECT:
>   	case RT_ACCOUNTING_RESPONSE:
> + 	case RT_ACCESS_CHALLENGE:
>   		if (proxy_receive(radreq, activefd) < 0) {
>   			radreq_free(radreq);
>   			return 0;
> 
> 
> Please inform me if it works for you.
> 
> Regards,
> Sergey



__________________________________________________
Do You Yahoo!?
HotJobs - Search Thousands of New Jobs
http://www.hotjobs.com
radiusproxy1.log (application/octet-stream, 2.5 KB)
Aug 22 14:43:11: Main.info: Starting - reading configuration files ...
Aug 22 14:43:11: Main.info: reading /usr/local/etc/raddb/config
Aug 22 14:43:11: Main.info: ready
Aug 22 14:43:11: Main.info: /usr/local/etc/raddb/users reloaded.
Aug 22 14:43:11: Main.info: Ready to process requests.
Aug 22 14:43:17: Main.debug: auth.c:439:rad_auth_init: checking username: [email protected]
Aug 22 14:43:17: Main.debug: proxy.c:514:proxy_send: Sending authentication request of id 0 to c0a80114 (server regulus.altigy.com:1812)
Aug 22 14:43:17: Main.debug: proxy.c:205:rad_send_request: proxy_send: User-Name = user1name
Aug 22 14:43:17: Main.debug: proxy.c:205:rad_send_request: proxy_send: CHAP-Password = \141\004\230\377\130\377\212\062\221\102\123\063\220\377\377\144\177
Aug 22 14:43:17: Main.debug: proxy.c:205:rad_send_request: proxy_send: CHAP-Challenge = 123456789
Aug 22 14:43:17: Main.debug: proxy.c:205:rad_send_request: proxy_send: NAS-Identifier = 00:08:A1:09:99:AB
Aug 22 14:43:17: Main.debug: proxy.c:205:rad_send_request: proxy_send: NAS-IP-Address = 192.168.1.100
Aug 22 14:43:17: Main.debug: proxy.c:205:rad_send_request: proxy_send: NAS-Port-Id = 1812
Aug 22 14:43:17: Main.debug: proxy.c:205:rad_send_request: proxy_send: Proxy-State = \144\001\377\377\076\000\000\000\000\000\000\000\024\001¨À
Aug 22 14:43:17: Main.debug: radiusd.c:1258:rad_spawn_child: adding PROXY request to the list. 1 requests held.
Aug 22 14:43:17: Main.debug: proxy.c:138:rad_proxy: allocated ptr 0x80ef3c8
Aug 22 14:43:17: Main.debug: proxy.c:646:proxy_receive: Compare: myip c0a80164, radreq->id 0, radreq->ipaddr c0a80114
Aug 22 14:43:17: Main.debug: proxy.c:579:proxy_compare_request_no_state: (old=data) id 0 0, ipaddr 0xc0a80114 0xc0a80114
Aug 22 14:43:17: Main.debug: radiusd.c:1258:rad_spawn_child: adding AUTH request to the list. 2 requests held.
Aug 22 14:43:17: Main.debug: radiusd.c:1298:rad_spawn_child: started handler at pid 18081
Aug 22 14:43:17: Auth.debug: auth.c:752:rad_authenticate: auth: [email protected]
Aug 22 14:43:17: Auth.debug: files.c:333:user_find_sym: looking for [email protected]
Aug 22 14:43:17: Auth.debug: files.c:343:user_find_sym: returning 0
Aug 22 14:43:17: Auth.notice: Invalid user: [[email protected]]: CLID unknown (from nas rigel.altigy.com)
Aug 22 14:43:17: Auth.debug: auth.c:858:sfn_init: 0 -> 17
Aug 22 14:43:17: Auth.debug: auth.c:1266:sfn_reject: REJECT: [email protected]
Aug 22 14:43:17: Main.debug: radiusd.c:1326:rad_child_cleanup: child 18081 exited: 0
radiusserver1.log (application/octet-stream, 1.2 KB)
Aug 22 14:38:04: Main.info: ready
Aug 22 14:38:04: Main.info: /usr/local/radius/isprads/etc/raddb/users reloaded.
Aug 22 14:38:04: Main.info: Ready to process requests.
Aug 22 14:38:33: Main.debug: auth.c:443:rad_auth_init: checking username: user1name
Aug 22 14:38:33: Main.debug: radiusd.c:1257:rad_spawn_child: adding AUTH request to the list. 1 requests held.
Aug 22 14:38:33: Main.debug: radiusd.c:1297:rad_spawn_child: started handler at pid 29059
Aug 22 14:38:33: Auth.debug: auth.c:756:rad_authenticate: auth: user1name
Aug 22 14:38:33: Auth.debug: files.c:333:user_find_sym: looking for user1name
Aug 22 14:38:33: Auth.debug: files.c:1595:paircmp: returning 0
Aug 22 14:38:33: Auth.debug: files.c:343:user_find_sym: returning 1
Aug 22 14:38:33: Auth.debug: auth.c:308:rad_check_password: auth_type=0, userpass=©a×]ê9)¶óTÎgßÏ, name=user1name, password=user1pass
Aug 22 14:38:33: Auth.debug: auth.c:350:rad_check_password:   auth: Local
Aug 22 14:38:33: Auth.debug: auth.c:1232:sfn_menu: sending challenge (menu ispmenu) to user1name
Aug 22 14:38:33: Auth.debug: auth.c:1235:sfn_menu: 13 -> 16
Aug 22 14:38:33: Main.debug: radiusd.c:1325:rad_child_cleanup: child 29059 exited: 0