Alan DeKok wrote: > [EMAIL PROTECTED] (Rainer Clasen) wrote: > > in both cases the only server for a realm was marked dead immediately > > before the crash. > > On further examination, the code in rad_respond() does NOT check for > errors returned from proxy_send(). So if the request is marked to be > proxied, and the realm is dead, then something wrong happens. > > I'll commit a bug fix now. Grab the CVS snapshot from tonight. > > If this fixes your problem, I think we should release 0.5 ASAP.
I've taken the changes from CVS and applied them to my patched version (only logging enhancements). proxy.c:1.52-1.53, radiusd.c:1.238-1.239. I got the following backtrace: #0 0x19590 in proxy_send (request=0x14ea78) at proxy.c:413 413 request->proxy->timestamp = request->timestamp - (delaypair ? delaypair->lvalue : 0); (gdb) bt #0 0x19590 in proxy_send (request=0x14ea78) at proxy.c:413 #1 0x15a24 in rad_respond (request=0x14ea78, fun=0x1784c <rad_accounting>) at radiusd.c:1528 #2 0x1fea4 in request_handler_thread (arg=0xa8760) at threads.c:169 (gdb) p *request $1 = {magic = 16909060, packet = 0x0, proxy = 0x0, reply = 0x0, proxy_reply = 0x0, config_items = 0x0, username = 0xa045a8, password = 0x0, secret = "xxxxxxxx", '\000' <repeats 23 times>, child_pid = 0, timestamp = 1014224649, number = 27909, proxysecret = "xxxxxxxxx\000\000\000xxxx\000\00xxxxxxx\000\000\004\027\000\000\000\r", proxy_is_replicate = 0, proxy_try_count = 7, proxy_next_try = 1014224654, simul_max = 0, simul_count = 0, simul_mpp = 0, finished = 1, options = 0, container = 0x4c1000} again, the proxysecret belongs to a server marked dead immediately before the crash. But the secret belongs to a NAS usually not used by users of this realm. There was no matching entry (realm + NAS) in the logfile. In all cases it was due to non-auth requests. Rainer -- KeyID=759975BD fingerprint=887A 4BE3 6AB7 EE3C 4AE0 B0E1 0556 E25A 7599 75BD - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html