Next: Radius-Specific Functions, Previous: Authentication with Scheme, Up: Guile [Contents][Index]
The Scheme accounting procedure must be declared as follows:
Its argument is:
The list of A/V pairs from the incoming request
The function must return a boolean value. The accounting succeeds only
if it has returned #t.
Here is an example of a Scheme accounting function. The function dumps the contents of the incoming request to a file:
(define radius-acct-file "/var/log/acct/radius")
(define (acct req)
(call-with-output-file radius-acct-file
(lambda (port)
(for-each (lambda (pair)
(display (car pair) port)
(display "=" port)
(display (cdr pair) port)
(newline port))
req)
(newline port)))
#t)