There is a logic error in the unlang man page. I was just reading this: --- Operators The operator used to assign the value of the attribute may be one of the following, with the given meaning. = Add the attribute to the list, if and only if an attribute of the same name is already present in that list. := Add the attribute to the list. If any attribute of the same name is already present in that list, its value is replaced with the value of the current attribute. --- I was fairly sure that the '=' operator only assigned if the value is NOT set. I checked the docs on the wiki (http://wiki.freeradius.org/Operators) which states this. Below a quick patch. Chris --- freeradius-server-2.1.3/man/man5/unlang.5 2008-12-05 16:37:56.000000000 +0000 +++ freeradius-server-2.1.3.fix/man/man5/unlang.5 2009-02-03 13:35:18.157287116 +0000 @@ -530,7 +530,7 @@ .RS .IP = Add the attribute to the list, if and only if an attribute of the same -name is already present in that list. +name is not already present in that list. .IP := Add the attribute to the list. If any attribute of the same name is already present in that list, its value is replaced with the value of