listen { type = detail } - Forked accounting

Alan DeKok aland at deployingradius.com
Thu Mar 20 15:33:04 CET 2008


Arran Cudbard-Bell wrote:
> What I was to do now is write out the accounting packet to two detail
> files, something like acct-buffer-sql and acct-buffer-proxy.

  I don't think you need two detail files.

> Use one file to populate our local SQL db, and the other to deal with
> proxying the accounting information back to the home server.

  "forward" to the home server.

> This would mean duplicate accounting-response packets being sent,

  Huh?  No.

> which
> isn't ideal. Is there any way to stop the server sending an accounting
> response packet when it receives the reply from the home server ?

  Set up *one* detail file, and the server will work like this?:

 1. NAS sends Accounting-Request to the server.
 2. The server logs it to "detail" (and SQL, and anywhere else)
 3. The server responds to the NAS with Accounting-Response
 4. The server discovers a packet in the detail file, and reads it
 5. The server decides it has to be proxied
 6. The server proxies it.
 7. The server (eventually) gets a response
 8. The server "responds" to the client.

  Q: What is the client in (8)?
  A: The "detail" file!

  So there *is* an Accounting-Response sent after the reply from the
home server.  But it's sent to the place where the packet came from: the
detail file.

  In this case, the detail file code say "thanks", and doesn't send the
packet anywhere.  This is the Right Thing to do.

  Alan DeKok.



More information about the Freeradius-Users mailing list