# # PRE: update # # Remove all attributes in a list # update { control:Cleartext-Password := 'hello' reply:Filter-Id := 'filter' } update { request:Tmp-String-0 := 'foobarbaz' request:Tmp-Integer-0 := 123456789 request:Tmp-IP-Address-0 := 192.0.2.1 request:Tmp-IP-Address-0 += 192.0.2.2 control:Tmp-IP-Address-0 := 192.0.2.1 control:Tmp-IP-Address-0 += 192.0.2.3 } if (("%{Tmp-IP-Address-0[0]}" != 192.0.2.1) || ("%{Tmp-IP-Address-0[1]}" != 192.0.2.2)) { update { reply:Filter-Id := 'fail 1' } } # Remove all attributes in the control list update { request:Tmp-IP-Address-0 !* ANY } # Non Tmp-IP-Address-0 address attributes should still be in the request list if ((Tmp-String-0 != 'foobarbaz') || (Tmp-Integer-0 != 123456789)) { update reply { reply:Filter-Id += 'fail 2' } } # There should be no Tmp-IP-Address attributes in the request list if (Tmp-IP-Address-0 || ("%{Tmp-IP-Address-0[1]}" != '')) { update { reply:Filter-Id += 'fail 3' } } # But there should still be some in the control list if ((control:Tmp-IP-Address-0 != 192.0.2.1) || ("%{control:Tmp-IP-Address-0[1]}" != 192.0.2.3)) { update { reply:Filter-Id += 'fail 4' } }