OK... the code to handle the detail file is now in. radiusd.conf: listen { type = detail filename = foo max_outstanding = 10 # this will be deleted later } If one thread is waiting for something to do, then ONE packet is read from the detail file, and handed to a child thread. This means that if the server is busy handling authentication and/or accounting requests, it completely ignores the detail file. As it should. I've also updated the "detail" module so that in the post-proxy section, it writes the accounting packet IF there's no reply from the home server. This lets the detail module sit in Post-Proxy-Type Fail, and Just Do The Right Thing. Please test. I've done some basic work, and it should be OK. It doesn't hit assertions, it doesn't crash, and I've run 1000's of packets through it. Alan DeKok. -- http://deployingradius.com - The web site of the book http://deployingradius.com/blog/ - The blog