77 |
megabyte ("megabyte"|"mb") |
megabyte ("megabyte"|"mb") |
78 |
gigabyte ("gigabyte"|"gb") |
gigabyte ("gigabyte"|"gb") |
79 |
|
|
80 |
%x ARGUMENT_COND DEPEND_COND SERVICE_COND |
%x ARGUMENT_COND DEPEND_COND SERVICE_COND |
81 |
|
|
82 |
%% |
%% |
83 |
|
|
98 |
the {/* EMPTY */} |
the {/* EMPTY */} |
99 |
sum {/* EMPTY */} |
sum {/* EMPTY */} |
100 |
than {/* EMPTY */} |
than {/* EMPTY */} |
101 |
usage {/* EMPTY */} |
usage {/* EMPTY */} |
102 |
was {/* EMPTY */} |
was {/* EMPTY */} |
103 |
|
|
104 |
{startarg} { BEGIN(ARGUMENT_COND); return START; } |
{startarg} { BEGIN(ARGUMENT_COND); return START; } |
105 |
{stoparg} { BEGIN(ARGUMENT_COND); return STOP; } |
{stoparg} { BEGIN(ARGUMENT_COND); return STOP; } |
178 |
child(ren) { return CHILDREN; } |
child(ren) { return CHILDREN; } |
179 |
totalmemkbyte { return TOTALMEMKBYTE; } |
totalmemkbyte { return TOTALMEMKBYTE; } |
180 |
totalmemusage { return TOTALMEMUSAGE; } |
totalmemusage { return TOTALMEMUSAGE; } |
181 |
timestamp { return TIMESTAMP; } |
timestamp { return TIMESTAMP; } |
182 |
changed { return CHANGED; } |
changed { return CHANGED; } |
183 |
second(s)? { return SECOND; } |
second(s)? { return SECOND; } |
184 |
minute(s)? { return MINUTE; } |
minute(s)? { return MINUTE; } |
185 |
hour(s)? { return HOUR; } |
hour(s)? { return HOUR; } |
186 |
day(s)? { return DAY; } |
day(s)? { return DAY; } |
187 |
sslv2 { return SSLV2; } |
sslv2 { return SSLV2; } |
188 |
sslv3 { return SSLV3; } |
sslv3 { return SSLV3; } |
189 |
tlsv1 { return TLSV1; } |
tlsv1 { return TLSV1; } |
213 |
|
|
214 |
depend(s)?[ \t]+(on[ \t]*)? { |
depend(s)?[ \t]+(on[ \t]*)? { |
215 |
BEGIN(DEPEND_COND); |
BEGIN(DEPEND_COND); |
216 |
return DEPENDS; |
return DEPENDS; |
217 |
} |
} |
218 |
|
|
219 |
check[ \t]+(process[ \t])? { |
check[ \t]+(process[ \t])? { |
220 |
BEGIN(SERVICE_COND); |
BEGIN(SERVICE_COND); |
221 |
return CHECKPROC; |
return CHECKPROC; |
222 |
} |
} |
223 |
|
|
224 |
check[ \t]+device { |
check[ \t]+device { |
225 |
BEGIN(SERVICE_COND); |
BEGIN(SERVICE_COND); |
226 |
return CHECKDEV; |
return CHECKDEV; |
227 |
} |
} |
228 |
|
|
229 |
check[ \t]+file { |
check[ \t]+file { |
230 |
BEGIN(SERVICE_COND); |
BEGIN(SERVICE_COND); |
231 |
return CHECKFILE; |
return CHECKFILE; |
232 |
} |
} |
233 |
|
|
234 |
check[ \t]+directory { |
check[ \t]+directory { |
235 |
BEGIN(SERVICE_COND); |
BEGIN(SERVICE_COND); |
236 |
return CHECKDIR; |
return CHECKDIR; |
237 |
} |
} |
238 |
|
|
239 |
{number} { |
{number} { |
246 |
|
|
247 |
{real}{percent} { |
{real}{percent} { |
248 |
if(sscanf(yytext, "%f%*s", &yylval.real) != 1) { |
if(sscanf(yytext, "%f%*s", &yylval.real) != 1) { |
249 |
log("%s: Internal lexer error, parsing '%s'\n", |
log("%s: Internal lexer error, parsing '%s'\n", |
250 |
prog, yytext); |
prog, yytext); |
251 |
exit(1); |
exit(1); |
252 |
} |
} |
253 |
return PERCENT; |
return PERCENT; |
254 |
} |
} |
255 |
|
|
256 |
[a-zA-Z0-9]{str} { |
[a-zA-Z0-9]{str} { |
257 |
yylval.string= xstrdup(yytext); |
yylval.string= xstrdup(yytext); |
258 |
return STRING; |
return STRING; |
259 |
} |
} |
260 |
|
|
261 |
\"[/][^\"\n]*\" { |
\"[/][^\"\n]*\" { |
262 |
yylval.string= handle_quoted_string(yytext); |
yylval.string= handle_quoted_string(yytext); |
263 |
return PATH; |
return PATH; |
264 |
} |
} |
265 |
|
|
266 |
\'[/][^\'\n]*\' { |
\'[/][^\'\n]*\' { |
267 |
yylval.string= handle_quoted_string(yytext); |
yylval.string= handle_quoted_string(yytext); |
268 |
return PATH; |
return PATH; |
269 |
} |
} |
270 |
|
|
271 |
\"[^\"]*\" { |
\"[^\"]*\" { |
272 |
steplinenobycr(yytext); |
steplinenobycr(yytext); |
273 |
yylval.string= handle_quoted_string(yytext); |
yylval.string= handle_quoted_string(yytext); |
274 |
return STRING; |
return STRING; |
275 |
} |
} |
276 |
|
|
277 |
\'[^\']*\' { |
\'[^\']*\' { |
278 |
steplinenobycr(yytext); |
steplinenobycr(yytext); |
279 |
yylval.string= handle_quoted_string(yytext); |
yylval.string= handle_quoted_string(yytext); |
280 |
return STRING; |
return STRING; |
281 |
} |
} |
282 |
|
|
283 |
{str}[@]{str} { |
{str}[@]{str} { |
284 |
yylval.string= xstrdup(yytext); |
yylval.string= xstrdup(yytext); |
285 |
return MAILADDR; |
return MAILADDR; |
286 |
} |
} |
287 |
|
|
288 |
[/]{str} { |
[/]{str} { |
289 |
yylval.string= xstrdup(yytext); |
yylval.string= xstrdup(yytext); |
290 |
return PATH; |
return PATH; |
291 |
} |
} |
292 |
|
|
293 |
"/" { |
"/" { |
294 |
yylval.string= xstrdup(yytext); |
yylval.string= xstrdup(yytext); |
295 |
return PATH; |
return PATH; |
296 |
} |
} |
297 |
|
|
298 |
"from:"[ \t]*{str}[@]{str} { |
"from:"[ \t]*{str}[@]{str} { |
299 |
char *p= yytext+strlen("from:"); |
char *p= yytext+strlen("from:"); |
300 |
yylval.string = trim(xstrdup(p)); |
yylval.string = trim(xstrdup(p)); |
301 |
return MAILFROM; |
return MAILFROM; |
302 |
} |
} |
303 |
|
|
304 |
"subject:"[^}\n]* { |
"subject:"[^}\n]* { |
305 |
char *p= yytext+strlen("subject:"); |
char *p= yytext+strlen("subject:"); |
306 |
yylval.string = trim(xstrdup(p)); |
yylval.string = trim(xstrdup(p)); |
307 |
return MAILSUBJECT; |
return MAILSUBJECT; |
308 |
} |
} |
309 |
|
|
310 |
"message:"[^}]* { |
"message:"[^}]* { |
311 |
char *p= yytext+strlen("message:"); |
char *p= yytext+strlen("message:"); |
312 |
steplinenobycr(yytext); |
steplinenobycr(yytext); |
313 |
yylval.string = trim(xstrdup(p)); |
yylval.string = trim(xstrdup(p)); |
314 |
return MAILBODY; |
return MAILBODY; |
394 |
\'[^\']*\' { |
\'[^\']*\' { |
395 |
steplinenobycr(yytext); |
steplinenobycr(yytext); |
396 |
yylval.string= handle_quoted_string(yytext); |
yylval.string= handle_quoted_string(yytext); |
397 |
return STRING; |
return STRING; |
398 |
} |
} |
399 |
|
|
400 |
\' { |
\' { |
401 |
yyerror("Unbalanced quotes"); |
yyerror("Unbalanced quotes"); |
402 |
} |
} |
403 |
|
|
404 |
[^ \t\n"]+ { |
[^ \t\n\"]+ { |
405 |
yylval.string= xstrdup(yytext); |
yylval.string= xstrdup(yytext); |
406 |
return STRING; |
return STRING; |
407 |
} |
} |
408 |
|
|
409 |
} |
} |
410 |
|
|