Lines Matching refs:soa

44 	MYDNS_SOA *soa = find_soa(t, fqdn, NULL);  in resolve_soa()  local
46 if (soa) in resolve_soa()
48 t->zone = soa->id; in resolve_soa()
49 t->minimum_ttl = soa->minimum; in resolve_soa()
52 if (!soa->minimum && !soa->ttl) in resolve_soa()
59 if (strcmp(fqdn, soa->origin)) in resolve_soa()
61 rrlist_add(t, AUTHORITY, DNS_RRTYPE_SOA, (void *)soa, soa->origin); in resolve_soa()
67 rrlist_add(t, section, DNS_RRTYPE_SOA, (void *)soa, soa->origin); in resolve_soa()
69 (void)resolve(t, AUTHORITY, DNS_QTYPE_NS, soa->origin, 0); in resolve_soa()
74 rrlist_add(t, section, DNS_RRTYPE_SOA, (void *)soa, soa->origin); in resolve_soa()
78 mydns_soa_free(soa); in resolve_soa()
96 char *fqdn, MYDNS_SOA *soa, char *label, MYDNS_RR *cname, int level) in cname_recurse() argument
141 MYDNS_SOA *soa, char *label, MYDNS_RR *rr, int level) in process_rr() argument
152 soa->origin, label, level); in process_rr()
153 Debug("%s: matched `%s%s%s'", desctask(t), label, *label ? "." : "", soa->origin); in process_rr()
165 Debug("Appending origin (%s) to data section (%s)", soa->origin, r->data); in process_rr()
167 if (len + strlen(soa->origin) + 1 <= DNS_MAXNAMELEN) in process_rr()
170 strcpy(r->data + len + 1, soa->origin); in process_rr()
177 return cname_recurse(t, section, qtype, fqdn, soa, label, r, level); in process_rr()
186 rv += alias_recurse(t, section, fqdn, soa, label, r); in process_rr()
215 snprintf(ns, sizeof(ns), "%s.%s", r->name+2, soa->origin); in process_rr()
217 snprintf(ns, sizeof(ns), "%s.%s", r->name, soa->origin); in process_rr()
219 strncpy(ns, soa->origin, sizeof(ns)-1); in process_rr()
230 MYDNS_RR *A = find_rr(t, soa, DNS_QTYPE_A, r->data); in process_rr()
253 rrlist_add(t, AUTHORITY, DNS_RRTYPE_SOA, (void *)soa, soa->origin); in process_rr()
268 add_authority_ns(TASK *t, datasection_t section, MYDNS_SOA *soa, char *match_label) in add_authority_ns() argument
277 desctask(t), resolve_datasection_str[section], soa->origin, match_label); in add_authority_ns()
293 if ((rr = find_rr(t, soa, DNS_QTYPE_NS, label))) in add_authority_ns()
299 snprintf(name, sizeof(name), "%s.%s", label, soa->origin); in add_authority_ns()
317 if ((rr = find_rr(t, soa, DNS_QTYPE_NS, label))) in add_authority_ns()
320 rrlist_add(t, AUTHORITY, DNS_RRTYPE_RR, (void *)r, soa->origin); in add_authority_ns()
336 char *fqdn, MYDNS_SOA *soa, char *label, int full_match, int level) in resolve_label() argument
344 soa->origin, label, full_match, level); in resolve_label()
351 if ((rr = find_rr(t, soa, DNS_QTYPE_ANY, label))) in resolve_label()
353 rv = process_rr(t, section, qtype, fqdn, soa, label, rr, level); in resolve_label()
355 add_authority_ns(t, section, soa, label); in resolve_label()
372 if ((rr = find_rr(t, soa, DNS_QTYPE_ANY, wclabel))) in resolve_label()
374 rv = process_rr(t, section, qtype, fqdn, soa, wclabel, rr, level); in resolve_label()
376 add_authority_ns(t, section, soa, wclabel); in resolve_label()
382 if (*label && !rv && (rr = find_rr(t, soa, DNS_QTYPE_NS, label))) in resolve_label()
384 rv = process_rr(t, section, qtype, fqdn, soa, label, rr, level); in resolve_label()
386 add_authority_ns(t, section, soa, label); in resolve_label()
405 register MYDNS_SOA *soa; in resolve() local
432 if (!(soa = find_soa(t, fqdn, name))) in resolve()
443 t->zone = soa->id; in resolve()
444 t->minimum_ttl = soa->minimum; in resolve()
450 Debug("%s: We are authoritative, zone_id is %u", desctask(t), soa->id); in resolve()
456 if ((qtype == DNS_QTYPE_ANY) && (section == ANSWER) && !strcasecmp(fqdn, soa->origin)) in resolve()
458 rrlist_add(t, section, DNS_RRTYPE_SOA, (void *)soa, soa->origin); in resolve()
473 if ((rv = resolve_label(t, section, qtype, fqdn, soa, label, label == name, level)) != 0) in resolve()
500 rrlist_add(t, AUTHORITY, DNS_RRTYPE_SOA, (void *)soa, soa->origin); in resolve()
504 mydns_soa_free(soa); in resolve()