Hi Stefan, On Tue, Jul 21, 2015 at 8:28 PM, Stefan Paetow <Stefan.Paetow@jisc.ac.uk> wrote:
Can you send both sets of attributes in each response?
Yes, i think so. I suppose, mpd will just ignore what is not valid.
That would be the easiest bet, yes. Is that also the case for the Mikrotik NAS?
Yes it is. What's your another idea here?
Yes, i think it would be possible to add a nas type, like mikrotik, mpd, etc.
There are only limited types of nastype you can set. You could use the short name instead.
Do you have an example how it could be done using unlang?
But either way, you can use this kind of unlang:
if ("%{client:shortname}" == 'mikrotik-15') { { update reply { # strip the non-Mikrotik attributes } }
I have the following value in Mikrotik-Rate-Limit: 2048k/2048k 384k/384k 768k/768k 100/100 8 0K/0K And this is the two values to mpd-limit reply: in#1=all rate-limit 2048000 384000 768000 pass out#1=all rate-limit 2048000 384000 768000 pass Following your suggestion, i've been thinking to use something like this in authorize section: authorize { preprocess auth_log chap mschap suffix eap { ok = return } unix files sql expiration logintime pap if ("%{client:shortname}" == 'mpd-nas') { { update reply { Tmp-String-0 = %{sql:SELECT Value FROM radreply WHERE Username = %{User-Name} and attribute ='Mikrotik-Rate-Limit'} Tmp-String-1 = %{sql:SELECT Value FROM radreply WHERE Username = %{User-Name} and attribute ='Mikrotik-Rate-Limit'} # here i still have to convert to mpd values, but i don't know how. mpd-limit = Tmp-String-0 mpd-limit = Tmp-String-1 } } } What do you think? Am i right? how could i convert Tmp-String-0 and 1 to mpd-limit output in/out? should i use awk? Thanks for your help.