Lines Matching +defs:ld +defs:name

19  * Neither the name of the NLNET LABS nor the names of its contributors may
67 log_nametypeclass(NO_VERBOSE, "rrset", d->name,
81 log_nametypeclass(NO_VERBOSE, buf, z->name, 0, z->dclass);
137 free(z->name);
155 return dname_lab_cmp(a->name, a->namelabs, b->name, b->namelabs, &m);
164 return dname_canon_lab_cmp(a->name, a->namelabs, b->name,
168 /* form wireformat from text format domain name */
175 log_err("cannot parse name %s", str);
194 z->name = nm;
205 /* also the zones->lock protects node, parent, name*, class */
230 /* save zone name locally before deallocation,
246 lz_enter_zone(struct local_zones* zones, const char* name, const char* type,
254 if(!parse_dname(name, &nm, &len, &labs)) {
255 log_err("bad zone name %s %s", name, type);
259 log_err("bad lz_enter_zone type %s %s", name, type);
264 log_err("could not enter zone %s %s", name, type);
297 /** return name and class of rr; parses string */
324 * @param data: local data domain name structure.
389 rrset->rrset->rk.dname = node->name;
464 key.name = nm;
475 struct local_data* ld = local_zone_find_data(z, nm, nmlen, nmlabs);
476 if(!ld) {
477 /* create a domain name to store rr. */
478 ld = (struct local_data*)regional_alloc_zero(z->region,
479 sizeof(*ld));
480 if(!ld) {
484 ld->node.key = ld;
485 ld->name = regional_alloc_init(z->region, nm, nmlen);
486 if(!ld->name) {
490 ld->namelen = nmlen;
491 ld->namelabs = nmlabs;
492 if(!rbtree_insert(&z->data, &ld->node)) {
493 log_assert(0); /* duplicate name */
502 *res = ld;
584 if(query_dname_compare(node->name, z->name) == 0) {
624 query_dname_compare(z->name, nm) != 0) {
677 log_err("cannot parse zone name in local-zone-tag: %s", zname);
714 /* parse zone name */
716 log_err("cannot parse zone name in local-zone-override: %s %s",
806 lz_exists(struct local_zones* zones, const char* name)
811 if(!parse_dname(name, &z.name, &z.namelen, &z.namelabs)) {
812 log_err("bad name %s", name);
818 free(z.name);
822 free(z.name);
828 lz_nodefault(struct config_file* cfg, const char* name)
831 size_t len = strlen(name);
833 if(name[len-1] == '.') len--;
836 /* compare zone name, lowercase, compare without ending . */
837 if(strncasecmp(p->str, name, len) == 0 &&
848 const char* name)
852 if(lz_exists(zones, name) || lz_nodefault(cfg, name))
854 if(!(z=lz_enter_zone(zones, name, "static", LDNS_RR_CLASS_IN)))
857 "nobody.invalid. 1 3600 1200 604800 10800", name);
862 snprintf(str, sizeof(str), "%s 10800 IN NS localhost. ", name);
1003 (void)dname_lab_cmp(prev->name, prev->namelabs, curr->name,
1008 /* looking for name with few labels, a parent */
1041 * the name that covers them all (could be the root) and
1074 uint8_t* name = memdup(z->name, z->namelen);
1079 if(!name) {
1088 lz_enter_zone_dname(zones, name,
1234 uint8_t* name, size_t len, int labs, uint16_t dclass, uint16_t dtype)
1236 return local_zones_tags_lookup(zones, name, len, labs,
1242 uint8_t* name, size_t len, int labs, uint16_t dclass, uint16_t dtype,
1250 if(dtype == LDNS_RR_TYPE_DS && !dname_is_root(name)) {
1251 dname_remove_label(&name, &len);
1256 key.name = name;
1265 (void)dname_lab_cmp(result->name, result->namelabs, key.name,
1280 uint8_t* name, size_t len, int labs, uint16_t dclass)
1285 key.name = name;
1294 uint8_t* name, size_t len, int labs, uint16_t dclass,
1301 key.name = name;
1489 struct local_data* ld;
1492 key.name = qinfo->qname;
1497 key.name = z->name;
1518 ld = (struct local_data*)rbtree_search(&z->data, &key.node);
1519 *ldp = ld;
1520 if(!ld) {
1523 lr = local_data_find_type(ld, qinfo->qtype, 1);
1603 /* convert rrset name to query name; like a wildcard */
1615 * See if the local zone does not cover the name, eg. the name is not
1622 struct local_data* ld = NULL;
1631 key.name = qinfo->qname;
1634 ld = (struct local_data*)rbtree_search(&z->data, &key.node);
1636 return (ld == NULL);
1637 if(ld)
1638 lr = local_data_find_type(ld, qinfo->qtype, 1);
1656 struct local_data* ld, enum localzone_type lz_type)
1685 int rcode = (ld || lz_type == local_zone_redirect ||
1755 /* if the zone is transparent and the name exists, but the type
1757 if(ld && ld->rrsets) {
1780 dname_str(z->name, zname);
1856 struct local_data* ld = NULL;
1889 dname_str(z->name, zname);
1891 zname, local_zone_type2str(lzt), view->name);
1911 dname_str(z->name, zname);
1931 &ld, lzt, tag, tag_datas, tag_datas_size, tagname, num_tags)) {
1937 r = local_zones_zone_answer(z, env, qinfo, edns, repinfo, buf, temp, ld, lzt);
2014 /** iterate over the kiddies of the given name and set their parent ptr */
2025 p->dclass == z->dclass && dname_strict_subdomain(p->name,
2026 p->namelabs, z->name, z->namelabs)) {
2041 uint8_t* name, size_t len, int labs, uint16_t dclass,
2047 struct local_zone* z = local_zone_create(name, len, labs, tp, dclass);
2049 free(name);
2055 prev = local_zones_find_le(zones, name, len, labs, dclass, &exact);
2128 * right after them, so simply check the next name in the tree
2133 if(dname_strict_subdomain(n->name, n->namelabs, d->name, d->namelabs))
2141 uint8_t* name, size_t len, int labs)
2149 if(dname_is_root(name))
2151 dname_remove_label(&name, &len);
2153 d = local_zone_find_data(z, name, len, labs);
2175 uint8_t* name, size_t len, int labs, uint16_t dclass)
2183 z = local_zones_lookup(zones, name, len, labs, dclass, LDNS_RR_TYPE_DS);
2186 d = local_zone_find_data(z, name, len, labs);
2189 del_empty_term(z, d, name, len, labs);
2197 z = local_zones_lookup(zones, name, len, labs, dclass, 0);
2207 d = local_zone_find_data(z, name, len, labs);
2212 if(query_dname_compare(d->name, z->name) == 0) {
2217 /* cleanup the empty nonterminals for this name */
2218 del_empty_term(z, d, name, len, labs);