Lines Matching refs:parser

22 zparser_type *parser;
102 region_free_all(parser->rr_region);
103 parser->current_rr.type = 0;
104 parser->current_rr.rdata_count = 0;
105 parser->current_rr.rdatas = parser->temporary_rdatas;
106 parser->error_occurred = 0;
110 region_free_all(parser->rr_region);
111 parser->current_rr.type = 0;
112 parser->current_rr.rdata_count = 0;
113 parser->current_rr.rdatas = parser->temporary_rdatas;
114 parser->error_occurred = 0;
118 if (!parser->error_occurred) {
119 parser->current_rr.rdatas
121 parser->region,
122 parser->current_rr.rdatas,
123 parser->current_rr.rdata_count,
129 region_free_all(parser->rr_region);
131 parser->current_rr.type = 0;
132 parser->current_rr.rdata_count = 0;
133 parser->current_rr.rdatas = parser->temporary_rdatas;
134 parser->error_occurred = 0;
152 parser->default_ttl = zparser_ttl2int($3.str, &(parser->error_occurred));
153 if (parser->error_occurred == 1) {
154 parser->default_ttl = DEFAULT_TTL;
155 parser->error_occurred = 0;
163 if(parser->origin != error_domain && parser->origin != $3) {
166 domain_table_deldomain(parser->db, parser->origin);
169 parser->origin = $3;
179 parser->current_rr.owner = $1;
180 parser->current_rr.type = $3;
186 parser->prev_dname = $1;
191 $$ = parser->prev_dname;
197 parser->current_rr.ttl = parser->default_ttl;
198 parser->current_rr.klass = parser->default_class;
202 parser->current_rr.ttl = parser->default_ttl;
203 parser->current_rr.klass = $1;
207 parser->current_rr.ttl = $1;
208 parser->current_rr.klass = parser->default_class;
212 parser->current_rr.ttl = $1;
213 parser->current_rr.klass = $3;
217 parser->current_rr.ttl = $3;
218 parser->current_rr.klass = $1;
227 } else if(parser->origin == error_domain) {
230 } else if ($1->name_size + domain_dname(parser->origin)->name_size - 1 > MAXDOMAINLEN) {
235 parser->db->domains,
237 parser->rr_region,
239 domain_dname(parser->origin)));
246 $$ = parser->db->domains->root;
250 $$ = parser->origin;
255 $$ = domain_table_insert(parser->db->domains, $1);
271 $$ = dname_make_from_label(parser->rr_region,
293 $$ = dname_concatenate(parser->rr_region, $1, $3);
306 if(parser->origin && domain_dname(parser->origin)) {
307 $$.len = $1.len + domain_dname(parser->origin)->name_size;
311 $$.str = (char *) region_alloc(parser->rr_region, $$.len);
313 memmove($$.str + $1.len, dname_name(domain_dname(parser->origin)),
314 domain_dname(parser->origin)->name_size);
320 $$.str = (char *) region_alloc(parser->rr_region, $$.len);
329 char *result = (char *) region_alloc(parser->rr_region, 1);
336 if(parser->origin && domain_dname(parser->origin)) {
337 $$.len = domain_dname(parser->origin)->name_size;
338 $$.str = (char *) region_alloc(parser->rr_region, $$.len);
339 memmove($$.str, dname_name(domain_dname(parser->origin)), $$.len);
342 $$.str = (char *) region_alloc(parser->rr_region, $$.len);
352 $$.str = (char *) region_alloc(parser->rr_region, $$.len);
360 char *result = (char *) region_alloc(parser->rr_region,
382 $$.str = (char *) region_alloc(parser->rr_region, $$.len);
390 zadd_rdata_txt_wireformat(zparser_conv_text(parser->rr_region, $1.str, $1.len), 1);
394 zadd_rdata_txt_wireformat(zparser_conv_text(parser->rr_region, $1.str, $1.len), 1);
398 zadd_rdata_txt_wireformat(zparser_conv_text(parser->rr_region, $1.str, $1.len), 1);
399 zadd_rdata_txt_wireformat(zparser_conv_text(parser->rr_region, $2.str, $2.len), 0);
403 zadd_rdata_txt_wireformat(zparser_conv_text(parser->rr_region, $2.str, $2.len), 0);
407 zadd_rdata_txt_wireformat(zparser_conv_text(parser->rr_region, $2.str, $2.len), 0);
408 zadd_rdata_txt_wireformat(zparser_conv_text(parser->rr_region, $3.str, $3.len), 0);
412 zadd_rdata_txt_wireformat(zparser_conv_text(parser->rr_region, $3.str, $3.len), 0);
416 zadd_rdata_txt_wireformat(zparser_conv_text(parser->rr_region, $3.str, $3.len), 0);
420 zadd_rdata_txt_wireformat(zparser_conv_text(parser->rr_region, $3.str, $3.len), 0);
421 zadd_rdata_txt_wireformat(zparser_conv_text(parser->rr_region, $4.str, $4.len), 0);
433 $$.str = region_strdup(parser->rr_region, ".");
438 $$.str = (char *) region_alloc(parser->rr_region, $$.len + 1);
447 $$.str = (char *) region_alloc(parser->rr_region, $$.len + 1);
507 char *result = (char *) region_alloc(parser->rr_region,
524 char *result = (char *) region_alloc(parser->rr_region,
545 char *result = (char *) region_alloc(parser->rr_region,
555 char *result = (char *) region_alloc(parser->rr_region,
731 zadd_rdata_wireformat(zparser_conv_a(parser->region, $1.str));
747 zadd_rdata_wireformat(zparser_conv_serial(parser->region, $5.str)); /* serial */
748 zadd_rdata_wireformat(zparser_conv_period(parser->region, $7.str)); /* refresh */
749 zadd_rdata_wireformat(zparser_conv_period(parser->region, $9.str)); /* retry */
750 zadd_rdata_wireformat(zparser_conv_period(parser->region, $11.str)); /* expire */
751 zadd_rdata_wireformat(zparser_conv_period(parser->region, $13.str)); /* minimum */
757 zadd_rdata_wireformat(zparser_conv_a(parser->region, $1.str)); /* address */
758 zadd_rdata_wireformat(zparser_conv_services(parser->region, $3.str, $5.str)); /* protocol and services */
764 zadd_rdata_wireformat(zparser_conv_text(parser->region, $1.str, $1.len)); /* CPU */
765 zadd_rdata_wireformat(zparser_conv_text(parser->region, $3.str, $3.len)); /* OS*/
779 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str)); /* priority */
801 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str)); /* subtype */
809 zadd_rdata_wireformat(zparser_conv_text(parser->region, $1.str, $1.len)); /* X.25 address. */
816 zadd_rdata_wireformat(zparser_conv_text(parser->region, $1.str, $1.len)); /* address */
820 zadd_rdata_wireformat(zparser_conv_text(parser->region, $1.str, $1.len)); /* address */
821 zadd_rdata_wireformat(zparser_conv_text(parser->region, $3.str, $3.len)); /* sub-address */
828 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str)); /* preference */
840 zadd_rdata_wireformat(zparser_conv_hex(parser->region, $1.str + 2, $1.len - 2)); /* NSAP */
848 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str)); /* preference */
856 zadd_rdata_wireformat(zparser_conv_aaaa(parser->region, $1.str)); /* IPv6 address */
862 zadd_rdata_wireformat(zparser_conv_loc(parser->region, $1.str)); /* Location */
869 zadd_rdata_wireformat(zparser_conv_nxt(parser->region, nxtbits)); /* nxt bitlist */
876 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str)); /* prio */
877 zadd_rdata_wireformat(zparser_conv_short(parser->region, $3.str)); /* weight */
878 zadd_rdata_wireformat(zparser_conv_short(parser->region, $5.str)); /* port */
886 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str)); /* order */
887 zadd_rdata_wireformat(zparser_conv_short(parser->region, $3.str)); /* preference */
888 zadd_rdata_wireformat(zparser_conv_text(parser->region, $5.str, $5.len)); /* flags */
889 zadd_rdata_wireformat(zparser_conv_text(parser->region, $7.str, $7.len)); /* service */
890 zadd_rdata_wireformat(zparser_conv_text(parser->region, $9.str, $9.len)); /* regexp */
898 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str)); /* preference */
906 zadd_rdata_wireformat(zparser_conv_certificate_type(parser->region, $1.str)); /* type */
907 zadd_rdata_wireformat(zparser_conv_short(parser->region, $3.str)); /* key tag */
908 zadd_rdata_wireformat(zparser_conv_algorithm(parser->region, $5.str)); /* algorithm */
909 zadd_rdata_wireformat(zparser_conv_b64(parser->region, $7.str)); /* certificate or CRL */
919 zadd_rdata_wireformat(zparser_conv_apl_rdata(parser->region, $1.str));
923 zadd_rdata_wireformat(zparser_conv_apl_rdata(parser->region, $3.str));
929 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str)); /* keytag */
930 zadd_rdata_wireformat(zparser_conv_algorithm(parser->region, $3.str)); /* alg */
931 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $5.str)); /* type */
932 zadd_rdata_wireformat(zparser_conv_hex(parser->region, $7.str, $7.len)); /* hash */
938 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str)); /* keytag */
939 zadd_rdata_wireformat(zparser_conv_algorithm(parser->region, $3.str)); /* alg */
940 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $5.str)); /* type */
941 zadd_rdata_wireformat(zparser_conv_hex(parser->region, $7.str, $7.len)); /* hash */
947 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $1.str)); /* alg */
948 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $3.str)); /* fp type */
949 zadd_rdata_wireformat(zparser_conv_hex(parser->region, $5.str, $5.len)); /* hash */
956 zadd_rdata_wireformat(zparser_conv_b64(parser->region, $1.str)); /* data blob */
962 zadd_rdata_wireformat(zparser_conv_rrtype(parser->region, $1.str)); /* rr covered */
963 zadd_rdata_wireformat(zparser_conv_algorithm(parser->region, $3.str)); /* alg */
964 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $5.str)); /* # labels */
965 zadd_rdata_wireformat(zparser_conv_period(parser->region, $7.str)); /* # orig TTL */
966 zadd_rdata_wireformat(zparser_conv_time(parser->region, $9.str)); /* sig exp */
967 zadd_rdata_wireformat(zparser_conv_time(parser->region, $11.str)); /* sig inc */
968 zadd_rdata_wireformat(zparser_conv_short(parser->region, $13.str)); /* key id */
969 zadd_rdata_wireformat(zparser_conv_dns_name(parser->region,
971 zadd_rdata_wireformat(zparser_conv_b64(parser->region, $17.str)); /* sig data */
977 zadd_rdata_wireformat(zparser_conv_dns_name(parser->region,
979 zadd_rdata_wireformat(zparser_conv_nsec(parser->region, nsecbits)); /* nsec bitlist */
990 zadd_rdata_wireformat(zparser_conv_b32(parser->region, $9.str)); /* next hashed name */
991 zadd_rdata_wireformat(zparser_conv_nsec(parser->region, nsecbits)); /* nsec bitlist */
1012 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $1.str)); /* usage */
1013 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $3.str)); /* selector */
1014 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $5.str)); /* matching type */
1015 zadd_rdata_wireformat(zparser_conv_hex(parser->region, $7.str, $7.len)); /* ca data */
1021 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $1.str)); /* usage */
1022 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $3.str)); /* selector */
1023 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $5.str)); /* matching type */
1024 zadd_rdata_wireformat(zparser_conv_hex(parser->region, $7.str, $7.len)); /* ca data */
1030 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str)); /* flags */
1031 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $3.str)); /* proto */
1032 zadd_rdata_wireformat(zparser_conv_algorithm(parser->region, $5.str)); /* alg */
1033 zadd_rdata_wireformat(zparser_conv_b64(parser->region, $7.str)); /* hash */
1040 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $1.str)); /* precedence */
1041 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $3.str)); /* gateway type */
1042 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $5.str)); /* algorithm */
1045 zadd_rdata_wireformat(alloc_rdata_init(parser->region, "", 0));
1048 zadd_rdata_wireformat(zparser_conv_a(parser->region, $7.str));
1051 zadd_rdata_wireformat(zparser_conv_aaaa(parser->region, $7.str));
1057 if(!(name = dname_parse(parser->region, $7.str))) {
1062 if(parser->origin == error_domain) {
1065 } else if(name->name_size + domain_dname(parser->origin)->name_size - 1 > MAXDOMAINLEN) {
1070 name = dname_concatenate(parser->rr_region, name,
1071 domain_dname(parser->origin));
1073 zadd_rdata_wireformat(alloc_rdata_init(parser->region,
1084 zadd_rdata_wireformat(zparser_conv_b64(parser->region, $3.str)); /* public key */
1092 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str)); /* preference */
1093 zadd_rdata_wireformat(zparser_conv_ilnp64(parser->region, $3.str)); /* NodeID */
1099 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str)); /* preference */
1100 zadd_rdata_wireformat(zparser_conv_a(parser->region, $3.str)); /* Locator32 */
1106 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str)); /* preference */
1107 zadd_rdata_wireformat(zparser_conv_ilnp64(parser->region, $3.str)); /* Locator64 */
1113 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str)); /* preference */
1120 zadd_rdata_wireformat(zparser_conv_eui(parser->region, $1.str, 48));
1126 zadd_rdata_wireformat(zparser_conv_eui(parser->region, $1.str, 64));
1133 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str)); /* priority */
1134 zadd_rdata_wireformat(zparser_conv_short(parser->region, $3.str)); /* weight */
1135 zadd_rdata_wireformat(zparser_conv_long_text(parser->region, $5.str, $5.len)); /* target */
1142 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $1.str)); /* Flags */
1143 zadd_rdata_wireformat(zparser_conv_tag(parser->region, $3.str, $3.len)); /* Tag */
1144 zadd_rdata_wireformat(zparser_conv_long_text(parser->region, $5.str, $5.len)); /* Value */
1151 zadd_rdata_wireformat(zparser_conv_b64(parser->region, $1.str));
1158 zadd_rdata_wireformat(zparser_conv_serial(parser->region, $1.str));
1159 zadd_rdata_wireformat(zparser_conv_short(parser->region, $3.str));
1160 zadd_rdata_wireformat(zparser_conv_nsec(parser->region, nsecbits)); /* nsec bitlist */
1169 zadd_rdata_wireformat(zparser_conv_serial(parser->region, $1.str)); /* serial */
1170 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $3.str)); /* scheme */
1171 zadd_rdata_wireformat(zparser_conv_byte(parser->region, $5.str)); /* hash algorithm */
1172 zadd_rdata_wireformat(zparser_conv_hex(parser->region, $7.str, $7.len)); /* digest */
1179 parser->region, $1.str, $1.len, $2.str, $2.len));
1184 parser->region, $1.str, $1.len, NULL, 0));
1194 zadd_rdata_wireformat(zparser_conv_short(parser->region, $1.str));
1208 $$ = zparser_conv_hex(parser->rr_region, $5.str, $5.len);
1213 $$ = zparser_conv_hex(parser->rr_region, "", 0);
1217 $$ = zparser_conv_hex(parser->rr_region, "", 0);
1229 * Create the parser.
1253 * Initialize the parser for a new zone file.
1263 parser->default_ttl = ttl;
1264 parser->default_class = klass;
1265 parser->current_zone = NULL;
1266 parser->origin = domain_table_insert(parser->db->domains, origin);
1267 parser->prev_dname = parser->origin;
1268 parser->error_occurred = 0;
1269 parser->errors = 0;
1270 parser->line = 1;
1271 parser->filename = filename;
1272 parser->current_rr.rdata_count = 0;
1273 parser->current_rr.rdatas = parser->temporary_rdatas;
1285 if (parser->filename) {
1288 log_msg(LOG_ERR, "%s:%u: %s", parser->filename, line, message);
1292 ++parser->errors;
1293 parser->error_occurred = 1;
1304 error_va_list(parser->line - 1, fmt, args);
1314 error_va_list(parser->line, fmt, args);
1321 if (parser->filename) {
1324 log_msg(LOG_WARNING, "%s:%u: %s", parser->filename, line, m);
1334 warning_va_list(parser->line - 1, fmt, args);
1343 warning_va_list(parser->line, fmt, args);
1352 zadd_rdata_wireformat(zparser_conv_byte(parser->region, hashalgo_str));
1353 zadd_rdata_wireformat(zparser_conv_byte(parser->region, flag_str));
1354 zadd_rdata_wireformat(zparser_conv_short(parser->region, iter_str));
1358 zadd_rdata_wireformat(zparser_conv_hex_length(parser->region,
1361 zadd_rdata_wireformat(alloc_rdata_init(parser->region, "", 1));