How to use mpd-drop-user with FreeRADIUS server?

Hi all!

The mpd PPPoE (net/mpd) server is able to drop a user's connection if an accounting packet includes a 'mpd-drop-user' with a non-zero value. Using external authentication scripts this feature works fine, except the shutdown procedure. On a server with many concurrent connections, if I try to stop the mpd process, it takes a very long time to succeed (if it succeds). This has impact oh the shutdown procedure, because it is possible that the shutdown to not finish properly, requiring a cold reset, this leading to other filesystem problems, database consistency, etc.

Now, I want to use a RADIUS server instead of external scripts. My test server is able to authenticate the users, to account traffic, to alocate IP addresses for the clients from a specific IP pool, but can't use the 'mpd-drop-user' RADIUS accounting response because I don't know how to send this attribute with FreeRADIUS 2.x.

It seems that this server does not have any method known to me to add an attribute into a accounting response packet when used with a SQL backend. There may be an option, to use 'rlm_perl' or some 'exec' external scripts, but I want to avoid this method because it may lead to problems on shutdown.

So, I would appreciate if anyone can guide me on how to solve this problem, especially how to add a vendor-supplied-attribute to an accounting response packet with FreeRADIUS server.
 
Back
Top