summaryrefslogtreecommitdiffstats
path: root/src/tests/keywords/update-xlat
blob: 59230dcc34bf14843eddd1483c31811bc0040be7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#
# 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'
	}
}