# # PRE: update # # Form attribute references with xlats # update { control:Cleartext-Password := 'hello' reply:Filter-Id := 'filter' } update request { Tmp-String-0 := 'Tmp-String-1' } # # Shouldn't update Tmp-String-0, should instead update Tmp-String-1 # ... maybe this is what Alan meant when he was talking about people # doing stupid things with this feature. # update request { "%{Tmp-String-0}" := 'hello' } if (&Tmp-String-1 != 'hello') { update reply { Filter-Id += 'Fail 0' } } if (&Tmp-String-0 == 'hello') { update reply { Filter-Id += 'Fail 1' } } # # Try updating an attribute specified by an OID string # update { Tmp-Integer-0 := 11344 } update { "Vendor-%{Tmp-Integer-0}-Attr-1" := 127.0.0.1 } if (&FreeRADIUS-Proxied-To != 127.0.0.1) { update reply { Filter-Id += 'Fail 2' } } update { "Attr-%{attr_num:Tmp-String-1}" := 'hello2' } if (&Tmp-String-1 != 'hello2') { update reply { Filter-Id += 'Fail 3' } }