summaryrefslogtreecommitdiffstats
path: root/src/lib/eval/eval_messages.mes
blob: 01b31dfd32405bb181ffabfb7da0e503ab0656f4 (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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
# Copyright (C) 2015-2023 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

$NAMESPACE isc::dhcp


# For use with TokenAnd
% EVAL_DEBUG_AND %1: Popping %2 and %3 pushing %4
This debug message indicates that two values are popped from
the value stack.  Then are then combined via logical and and
the result is pushed onto the value stack.

# For use with TokenConcat

% EVAL_DEBUG_CONCAT %1: Popping %2 and %3 pushing %4
This debug message indicates that the two strings are being popped off
of the stack.  They are then concatenated and the resulting string is
pushed onto the stack.  The strings are displayed in hex.

# For use with TokenEqual
# Start with binary for the inputs for now, we may add text in the future.

% EVAL_DEBUG_EQUAL %1: Popping %2 and %3 pushing result %4
This debug message indicates that the two strings are being popped off
of the value stack and the result of comparing them is being pushed onto
the value stack.  The strings are displayed in hex.

# For use with TokenHexString

% EVAL_DEBUG_HEXSTRING %1: Pushing hex string %2
This debug message indicates that the given binary string is being pushed
onto the value stack.  The string is displayed in hex.

# For use with TokenLowerCase

% EVAL_DEBUG_IFELSE_FALSE %1: Popping %2 (false) and %3, leaving %4
This debug message indicates that the condition is false so
the iftrue branch value is removed and the ifelse branch value
is left on the value stack.

% EVAL_DEBUG_IFELSE_TRUE %1: Popping %2 (true) and %3, leaving %4
This debug message indicates that the condition is true so
the ifelse branch value is removed and the iftrue branch value
is left on the value stack.

# For use with TokenIpAddress

% EVAL_DEBUG_INT16TOTEXT %1: Pushing Int16 %2
This debug message indicates that the given address string representation is
being pushed onto the value stack.  This represents a 16 bit integer.

# For use with TokenInt32ToText

% EVAL_DEBUG_INT32TOTEXT %1: Pushing Int32 %2
This debug message indicates that the given address string representation is
being pushed onto the value stack.  This represents a 32 bit integer.

# For use with TokenUInt8ToText

% EVAL_DEBUG_INT8TOTEXT %1: Pushing Int8 %2
This debug message indicates that the given address string representation is
being pushed onto the value stack.  This represents an 8 bit integer.

# For use with TokenInt16ToText

% EVAL_DEBUG_IPADDRESS %1: Pushing IPAddress %2
This debug message indicates that the given binary string is being pushed
onto the value stack.  This represents either an IPv4 or IPv6 address.
The string is displayed in hex.

# For use with TokenIpAddressToText

% EVAL_DEBUG_IPADDRESSTOTEXT %1: Pushing IPAddress %2
This debug message indicates that the given address string representation is
being pushed onto the value stack.  This represents either an IPv4 or IPv6
address.

# For use with TokenInt8ToText

% EVAL_DEBUG_LCASE %1: Popping string %2 and pushing converted value to lower case %3
This debug message indicates that the given string representation is being
converted to lower case and pushed onto the value stack.

# For use with TokenUpperCase

% EVAL_DEBUG_MEMBER %1: Checking membership of '%2', pushing result %3
This debug message indicates that the membership of the packet for
the client class was checked.

# For use with TokenNot

% EVAL_DEBUG_NOT %1: Popping %2 pushing %3
This debug message indicates that the first value is popped from
the value stack, negated and then pushed onto the value stack.
The string is displayed in text.

# For use with TokenOption based classes.  These include TokenOption,
# TokenRelay4Option and TokenRelay6Option.

% EVAL_DEBUG_OPTION %1: Pushing option %2 with value %3
This debug message indicates that the given string representing the
value of the requested option is being pushed onto the value stack.
The string may be the text or binary value of the string based on the
representation type requested (.text or .hex) or "true" or "false" if
the requested type is .exists.  The option code may be for either an
option or a sub-option as requested in the classification statement.

# For use with TokenOr

% EVAL_DEBUG_OR %1: Popping %2 and %3 pushing %4
This debug message indicates that two values are popped from
the value stack.  Then are then combined via logical or and
the result is pushed onto the value stack. The string is displayed
in text.

# For use with TokenPkt

% EVAL_DEBUG_PKT %1: Pushing PKT meta data %2 with value %3
This debug message indicates that the given binary string representing
the value of the requested meta data is being pushed onto the value stack.
The string is displayed in hex at the exception of interface name.

# For use with TokenPkt4

% EVAL_DEBUG_PKT4 %1: Pushing PKT4 field %2 with value %3
This debug message indicates that the given binary string representing
the value of the requested field is being pushed onto the value stack.
The string is displayed in hex.

# For use with TokenPkt6

% EVAL_DEBUG_PKT6 %1: Pushing PKT6 field %2 with value %3
This debug message indicates that the given binary string representing
the value of the requested field is being pushed onto the value stack.
The string is displayed in hex.

# For use with TokenRelay6Field

% EVAL_DEBUG_RELAY6 %1: Pushing PKT6 relay field %2 nest %3 with value %4
This debug message indicates that the given binary string representing
the value of the requested field is being pushed onto the value stack.
The string is displayed in hex.

% EVAL_DEBUG_RELAY6_RANGE %1: Pushing PKT6 relay field %2 nest %3 with value %4
This debug message is generated if the nest field is out of range.  The
empty string will always be the value pushed onto the stack.

# For use with TokenString

% EVAL_DEBUG_SPLIT %1: Popping field %2, delimiters %3, string %4, pushing result %5
This debug message indicates that three values are being popped from the stack
and a result is being pushed onto the stack. The values being popped are the
field, delimiter and string. The result is the extracted field which is pushed
onto the stack. The strings are displayed in hex.

% EVAL_DEBUG_SPLIT_DELIM_EMPTY %1: Popping field %2, delimiters %3, string %4, pushing result %5
This debug message indicates that the delimiter popped from the stack was empty
and so the result will be the entire string. The field, delimiter and string
are still popped from the stack and the result is still pushed.

% EVAL_DEBUG_SPLIT_EMPTY %1: Popping field %2, delimiters %3, string %4, pushing result %5
This debug message indicates that the string popped from the stack was empty
and so the result will also be empty. The field, delimiter and string are
still popped from the stack and the result is still pushed.

% EVAL_DEBUG_SPLIT_FIELD_OUT_OF_RANGE %1: Popping field %2, delimiters %3, string %4, pushing result %5
This debug message indicates that the field is either less than one or larger
than the number of fields in the string popped from the stack. The result will
be empty. The field, delimiter and string are still popped from the stack and
the result is still pushed.

% EVAL_DEBUG_STRING %1: Pushing text string %2
This debug message indicates that the given text string is being pushed
onto the value stack.  The string is displayed in text.

# For use with TokenSubstring
# Start with binary for the strings for now, we may add text in the future.

% EVAL_DEBUG_SUBSTRING %1: Popping length %2, start %3, string %4 pushing result %5
This debug message indicates that three values are being popped from
the value stack and a result is being pushed onto the value stack.  The
values being popped are the starting point and length of a substring to
extract from the given string.  The resulting string is pushed onto
the stack.  The strings are displayed in hex.

% EVAL_DEBUG_SUBSTRING_EMPTY %1: Popping length %2, start %3, string %4 pushing result %5
This debug message indicates that the string popped from the stack was empty
and so the result will also be empty.  The start, length and string are
still popped from the stack and the result is still pushed.

% EVAL_DEBUG_SUBSTRING_RANGE %1: Popping length %2, start %3, string %4 pushing result %5
This debug message indicates that the value of start is outside of the
string and an empty result will be pushed onto the stack.  The start,
length and string are still popped from the stack and the result is
still pushed.  The strings are displayed in hex.

# For use with TokenSubOption

% EVAL_DEBUG_SUB_OPTION %1: Pushing option %2 sub-option %3 with value %4
This debug message indicates that the given string representing the
value of the requested sub-option of the requested parent option is
being pushed onto the value stack. The string may be the text or
binary value of the string based on the representation type requested
(.text or .hex) or "true" or "false" if the requested type is .exists.
The codes are the parent option and the sub-option codes as requested
in the classification statement.

% EVAL_DEBUG_SUB_OPTION_NO_OPTION %1: Requested option %2 sub-option %3, but the parent option is not present, pushing result %4
This debug message indicates that the parent option was not found.
The codes are the parent option and the sub-option codes as requested
in the classification statement.

# For use with TokenToHexString

% EVAL_DEBUG_TOHEXSTRING %1: Popping binary value %2 and separator %3, pushing result %4
This debug message indicates that two values are being popped from
the value stack and a result is being pushed onto the value stack.
The values being popped are the binary value to convert and the separator.
The binary value is converted to its hexadecimal string representation
and pushed onto the stack. The binary value is displayed in hex.

% EVAL_DEBUG_UCASE %1: Popping string %2 and pushing converted value to upper case %3
This debug message indicates that the given string representation is being
converted to upper case and pushed onto the value stack.

# For use with TokenIfElse

% EVAL_DEBUG_UINT16TOTEXT %1: Pushing UInt16 %2
This debug message indicates that the given address string representation is
being pushed onto the value stack.  This represents a 16 bit unsigned integer.

# For use with TokenUInt32ToText

% EVAL_DEBUG_UINT32TOTEXT %1: Pushing UInt32 %2
This debug message indicates that the given address string representation is
being pushed onto the value stack.  This represents a 32 bit unsigned integer.

# For use with TokenMember

% EVAL_DEBUG_UINT8TOTEXT %1: Pushing UInt8 %2
This debug message indicates that the given address string representation is
being pushed onto the value stack.  This represents an 8 bit unsigned integer.

# For use with TokenUInt16ToText

% EVAL_DEBUG_VENDOR_CLASS_DATA %1: Data %2 (out of %3 received) in vendor class found, pushing result '%4'
This debug message indicates that vendor class option was found and passed
enterprise-id checks and has sufficient number of data chunks. The total number
of chunks and value pushed are reported as debugging aid.

% EVAL_DEBUG_VENDOR_CLASS_DATA_NOT_FOUND %1: Requested data index %2, but option with enterprise-id %3 has only %4 data tuple(s), pushing result '%5'
This debug message indicates that vendor class option was found and passed
enterprise-id checks, but does not have sufficient number of data chunks.
Note that the index starts at 0, so there has to be at least (index + 1)
data chunks.

% EVAL_DEBUG_VENDOR_CLASS_ENTERPRISE_ID %1: Pushing enterprise-id %2 as result 0x%3
This debug message indicates that the expression has been evaluated and vendor
class option was found and its enterprise-id is being reported.

% EVAL_DEBUG_VENDOR_CLASS_ENTERPRISE_ID_MISMATCH %1: Was looking for %2, option had %3, pushing result '%4'
This debug message indicates that the expression has been evaluated
and vendor class option was found, but has different enterprise-id than specified
in the expression.

% EVAL_DEBUG_VENDOR_CLASS_EXISTS %1: Option with enterprise-id %2 found, pushing result '%3'
This debug message indicates that the expression has been evaluated and vendor
class option was found.

% EVAL_DEBUG_VENDOR_CLASS_NO_OPTION %1: Option with code %2 missing, pushing result '%3'
This debug message indicates that the expression has been evaluated
and vendor class option was not found.

% EVAL_DEBUG_VENDOR_ENTERPRISE_ID %1: Pushing enterprise-id %2 as result 0x%3
This debug message indicates that the expression has been evaluated and vendor
option was found and its enterprise-id is being reported.

% EVAL_DEBUG_VENDOR_ENTERPRISE_ID_MISMATCH %1: Was looking for %2, option had %3, pushing result '%4'
This debug message indicates that the expression has been evaluated
and vendor option was found, but has different enterprise-id than specified
in the expression.

% EVAL_DEBUG_VENDOR_EXISTS %1: Option with enterprise-id %2 found, pushing result '%3'
This debug message indicates that the expression has been evaluated and vendor
option was found.

% EVAL_DEBUG_VENDOR_NO_OPTION %1: Option with code %2 missing, pushing result '%3'
This debug message indicates that the expression has been evaluated
and vendor option was not found.

% EVAL_RESULT %1: Expression %2 evaluated to %3
This debug message indicates that the expression has been evaluated
to said value. This message is mostly useful during debugging of the
client classification expressions.