| 896 |
|
MyFree(class_name); |
| 897 |
|
class_name = NULL; |
| 898 |
|
} |
| 899 |
< |
} oper_name_b '{' oper_items '}' ';' |
| 899 |
> |
} '{' oper_items '}' ';' |
| 900 |
|
{ |
| 901 |
|
if (conf_parser_ctx.pass == 2) |
| 902 |
|
{ |
| 931 |
|
DupString(new_aconf->host, yy_tmp->host); |
| 932 |
|
else |
| 933 |
|
DupString(new_aconf->host, "*"); |
| 934 |
+ |
|
| 935 |
+ |
new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->ipnum, |
| 936 |
+ |
&new_aconf->bits); |
| 937 |
+ |
|
| 938 |
|
conf_add_class_to_conf(new_conf, class_name); |
| 939 |
|
if (yy_aconf->passwd != NULL) |
| 940 |
|
DupString(new_aconf->passwd, yy_aconf->passwd); |
| 981 |
|
} |
| 982 |
|
}; |
| 983 |
|
|
| 980 |
– |
oper_name_b: | oper_name_t; |
| 984 |
|
oper_items: oper_items oper_item | oper_item; |
| 985 |
|
oper_item: oper_name | oper_user | oper_password | |
| 986 |
|
oper_umodes | oper_class | oper_encrypted | |
| 998 |
|
} |
| 999 |
|
}; |
| 1000 |
|
|
| 998 |
– |
oper_name_t: QSTRING |
| 999 |
– |
{ |
| 1000 |
– |
if (conf_parser_ctx.pass == 2) |
| 1001 |
– |
{ |
| 1002 |
– |
if (strlen(yylval.string) > OPERNICKLEN) |
| 1003 |
– |
yylval.string[OPERNICKLEN] = '\0'; |
| 1004 |
– |
|
| 1005 |
– |
MyFree(yy_conf->name); |
| 1006 |
– |
DupString(yy_conf->name, yylval.string); |
| 1007 |
– |
} |
| 1008 |
– |
}; |
| 1009 |
– |
|
| 1001 |
|
oper_user: USER '=' QSTRING ';' |
| 1002 |
|
{ |
| 1003 |
|
if (conf_parser_ctx.pass == 2) |
| 1019 |
|
{ |
| 1020 |
|
DupString(yy_aconf->user, userbuf); |
| 1021 |
|
DupString(yy_aconf->host, hostbuf); |
| 1022 |
+ |
|
| 1023 |
+ |
yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->ipnum, |
| 1024 |
+ |
&yy_aconf->bits); |
| 1025 |
|
} |
| 1026 |
|
else |
| 1027 |
|
{ |
| 1286 |
|
yy_conf = make_conf_item(CLASS_TYPE); |
| 1287 |
|
yy_class = map_to_conf(yy_conf); |
| 1288 |
|
} |
| 1289 |
< |
} class_name_b '{' class_items '}' ';' |
| 1289 |
> |
} '{' class_items '}' ';' |
| 1290 |
|
{ |
| 1291 |
|
if (conf_parser_ctx.pass == 1) |
| 1292 |
|
{ |
| 1297 |
|
delete_conf_item(yy_conf); |
| 1298 |
|
else |
| 1299 |
|
{ |
| 1300 |
< |
cconf = find_exact_name_conf(CLASS_TYPE, yy_class_name, NULL, NULL); |
| 1300 |
> |
cconf = find_exact_name_conf(CLASS_TYPE, NULL, yy_class_name, NULL, NULL); |
| 1301 |
|
|
| 1302 |
|
if (cconf != NULL) /* The class existed already */ |
| 1303 |
|
{ |
| 1329 |
|
} |
| 1330 |
|
}; |
| 1331 |
|
|
| 1338 |
– |
class_name_b: | class_name_t; |
| 1339 |
– |
|
| 1332 |
|
class_items: class_items class_item | class_item; |
| 1333 |
|
class_item: class_name | |
| 1334 |
|
class_cidr_bitlen_ipv4 | class_cidr_bitlen_ipv6 | |
| 1353 |
|
} |
| 1354 |
|
}; |
| 1355 |
|
|
| 1364 |
– |
class_name_t: QSTRING |
| 1365 |
– |
{ |
| 1366 |
– |
if (conf_parser_ctx.pass == 1) |
| 1367 |
– |
{ |
| 1368 |
– |
MyFree(yy_class_name); |
| 1369 |
– |
DupString(yy_class_name, yylval.string); |
| 1370 |
– |
} |
| 1371 |
– |
}; |
| 1372 |
– |
|
| 1356 |
|
class_ping_time: PING_TIME '=' timespec ';' |
| 1357 |
|
{ |
| 1358 |
|
if (conf_parser_ctx.pass == 1) |
| 2037 |
|
MyFree(class_name); |
| 2038 |
|
class_name = NULL; |
| 2039 |
|
} |
| 2040 |
< |
} connect_name_b '{' connect_items '}' ';' |
| 2040 |
> |
} '{' connect_items '}' ';' |
| 2041 |
|
{ |
| 2042 |
|
if (conf_parser_ctx.pass == 2) |
| 2043 |
|
{ |
| 2165 |
|
} |
| 2166 |
|
}; |
| 2167 |
|
|
| 2185 |
– |
connect_name_b: | connect_name_t; |
| 2168 |
|
connect_items: connect_items connect_item | connect_item; |
| 2169 |
|
connect_item: connect_name | connect_host | connect_vhost | |
| 2170 |
|
connect_send_password | connect_accept_password | |
| 2178 |
|
{ |
| 2179 |
|
if (conf_parser_ctx.pass == 2) |
| 2180 |
|
{ |
| 2199 |
– |
if (yy_conf->name != NULL) |
| 2200 |
– |
yyerror("Multiple connect name entry"); |
| 2201 |
– |
|
| 2202 |
– |
MyFree(yy_conf->name); |
| 2203 |
– |
DupString(yy_conf->name, yylval.string); |
| 2204 |
– |
} |
| 2205 |
– |
}; |
| 2206 |
– |
|
| 2207 |
– |
connect_name_t: QSTRING |
| 2208 |
– |
{ |
| 2209 |
– |
if (conf_parser_ctx.pass == 2) |
| 2210 |
– |
{ |
| 2181 |
|
if (yy_conf->name != NULL) |
| 2182 |
|
yyerror("Multiple connect name entry"); |
| 2183 |
|
|