On 17 Aug 2011, at 12:34, Oliver Schröder wrote:
Am 17.08.2011 12:01, schrieb Arran Cudbard-Bell:
On 17 Aug 2011, at 10:38, Oliver Schröder wrote:
The original module does not create parent directories when needed. The patch fixes this behavior, so you can define filenames for logging like: filename = ${logdir}/whatever/%Y/%m/detail.%d
There's already code to recursively create directories in /src/main please call this if you want to add the functionality.
My patch uses this code. See the attached .diff
Could you please submit it via GitHub. http://wiki.freeradius.org/GitHub That way you get the credit/blame :)
DEFAULT NAS-IP-Address =~ "(1.2.3.4|4.3.2.1)" LDap-basedn := "ou=Service-11200,ou=people,dc=company,dc=com", LDap-Multimap-reply := "RadiusReplyattrDSL", LDap-Multimap-check := "RadiusCheckattrDSL"
rlm_ldap will then look for values in these fields and attach them to the reply set.
No, the same can be achieved with unlang.
I have not found any documentation helping me to implement this via unlang. Can you nudge me in the right direction?
If(%{my_attribute} =~ /^([^,]+)?,?([^,]+)?,?([^,]+)?,?([^,]+)?,([^,]+)?,?([^,]+)?,?([^,]+)?,?([^,]+)?$/){ update reply { my_reply_attr_0 := "%{1}" my_reply_attr_1 := "%{2}" ... } } or if(%{parent_attribute} =~ /my_attribute=([^,]+)/){ update reply { my_attribute := "%{1}" } } You can still use the users file to set a reply attribute with the comma delimited value, and then process it with unlang later. Yes it's not perfect, but unlang/regexps are pretty fast, and you're not likely to have more than a few attributes in the response. Group the unlang statements in a policy to avoid duplication. -Arran Arran Cudbard-Bell a.cudbardb@freeradius.org RADIUS - Half the complexity of Diameter