38 |
|
%token AWAY |
39 |
|
%token BAN_UNKNOWN |
40 |
|
%token BLACKLIST |
41 |
+ |
%token BYTES KBYTES MBYTES |
42 |
|
%token CHANNEL |
43 |
|
%token CONNREGEX |
44 |
|
%token DNS_FDLIMIT |
69 |
|
%token REPLY |
70 |
|
%token SCANLOG |
71 |
|
%token SCANNER |
72 |
+ |
%token SECONDS MINUTES HOURS DAYS WEEKS MONTHS YEARS |
73 |
|
%token SENDMAIL |
74 |
|
%token SERVER |
75 |
|
%token TARGET_IP |
90 |
|
%token <number> NUMBER |
91 |
|
%token <string> STRING |
92 |
|
%token <number> PROTOCOLTYPE |
93 |
+ |
%type <number> timespec |
94 |
+ |
%type <number> timespec_ |
95 |
+ |
%type <number> sizespec |
96 |
+ |
%type <number> sizespec_ |
97 |
|
|
98 |
|
%% |
99 |
|
|
108 |
|
scanner_entry | |
109 |
|
exempt_entry; |
110 |
|
|
111 |
+ |
timespec_: { $$ = 0; } | timespec; |
112 |
+ |
timespec: NUMBER timespec_ { $$ = $1 + $2; } | |
113 |
+ |
NUMBER SECONDS timespec_ { $$ = $1 + $3; } | |
114 |
+ |
NUMBER MINUTES timespec_ { $$ = $1 * 60 + $3; } | |
115 |
+ |
NUMBER HOURS timespec_ { $$ = $1 * 60 * 60 + $3; } | |
116 |
+ |
NUMBER DAYS timespec_ { $$ = $1 * 60 * 60 * 24 + $3; } | |
117 |
+ |
NUMBER WEEKS timespec_ { $$ = $1 * 60 * 60 * 24 * 7 + $3; } | |
118 |
+ |
NUMBER MONTHS timespec_ { $$ = $1 * 60 * 60 * 24 * 7 * 4 + $3; } | |
119 |
+ |
NUMBER YEARS timespec_ { $$ = $1 * 60 * 60 * 24 * 365 + $3; } |
120 |
+ |
; |
121 |
+ |
|
122 |
+ |
sizespec_: { $$ = 0; } | sizespec; |
123 |
+ |
sizespec: NUMBER sizespec_ { $$ = $1 + $2; } | |
124 |
+ |
NUMBER BYTES sizespec_ { $$ = $1 + $3; } | |
125 |
+ |
NUMBER KBYTES sizespec_ { $$ = $1 * 1024 + $3; } | |
126 |
+ |
NUMBER MBYTES sizespec_ { $$ = $1 * 1024 * 1024 + $3; } |
127 |
+ |
; |
128 |
|
|
129 |
|
/*************************** OPTIONS BLOCK ***********************/ |
130 |
|
|
139 |
|
options_scanlog | |
140 |
|
error; |
141 |
|
|
142 |
< |
options_negcache: NEGCACHE '=' NUMBER ';' |
142 |
> |
options_negcache: NEGCACHE '=' timespec ';' |
143 |
|
{ |
144 |
|
OptionsItem->negcache = $3; |
145 |
|
}; |
479 |
|
item->target_port = $3; |
480 |
|
}; |
481 |
|
|
482 |
< |
scanner_timeout: TIMEOUT '=' NUMBER ';' |
482 |
> |
scanner_timeout: TIMEOUT '=' timespec ';' |
483 |
|
{ |
484 |
|
struct ScannerConf *item = (struct ScannerConf *) tmp; |
485 |
|
item->timeout = $3; |
486 |
|
}; |
487 |
|
|
488 |
< |
scanner_max_read: MAX_READ '=' NUMBER ';' |
488 |
> |
scanner_max_read: MAX_READ '=' sizespec ';' |
489 |
|
{ |
490 |
|
struct ScannerConf *item = (struct ScannerConf *) tmp; |
491 |
|
item->max_read = $3; |