Home | History | Annotate | Download | only in src

Lines Matching full:crecp

948   struct crec *crecp;
954 if ((crecp = cache_find_by_name(NULL, name, now, F_IPV4 | F_IPV6)) &&
955 (crecp->flags & (F_HOSTS | F_DHCP)))
1120 static unsigned long crec_ttl(struct crec *crecp, time_t now)
1125 if (crecp->flags & (F_IMMORTAL | F_DHCP))
1128 return crecp->ttd - now;
1145 struct crec *crecp;
1278 else if ((crecp = cache_find_by_addr(NULL, &addr, now, is_arpa)))
1282 if (qtype == T_ANY && !(crecp->flags & (F_HOSTS | F_DHCP)))
1285 if (crecp->flags & F_NEG)
1289 if (crecp->flags & F_NXDOMAIN)
1292 log_query(crecp
1294 else if ((crecp->flags & (F_HOSTS | F_DHCP)) || !sec_reqd)
1297 if (!(crecp->flags & (F_HOSTS | F_DHCP)))
1301 log_query(crecp->flags & ~F_FORWARD, cache_get_name(crecp), &addr,
1302 record_source(crecp->uid));
1305 crec_ttl(crecp, now), NULL,
1306 T_PTR, C_IN, "d", cache_get_name(crecp)))
1310 } while ((crecp = cache_find_by_addr(crecp, &addr, now, is_arpa)));
1381 if ((crecp = cache_find_by_name(NULL, name, now, flag | F_CNAME)))
1389 struct crec *save = crecp;
1391 if ((crecp->flags & F_HOSTS) &&
1392 is_same_net(*((struct in_addr *)&crecp->addr), local_addr, local_netmask))
1397 } while ((crecp = cache_find_by_name(crecp, name, now, flag | F_CNAME)));
1398 crecp = save;
1405 if (qtype == T_ANY && !(crecp->flags & (F_HOSTS | F_DHCP)))
1408 if (crecp->flags & F_CNAME)
1412 log_query(crecp->flags, name, NULL, record_source(crecp->uid));
1414 crec_ttl(crecp, now), &nameoffset,
1415 T_CNAME, C_IN, "d", cache_get_name(crecp->addr.cname.cache)))
1419 strcpy(name, cache_get_name(crecp->addr.cname.cache));
1423 if (crecp->flags & F_NEG)
1427 if (crecp->flags & F_NXDOMAIN)
1430 log_query(crecp->flags, name, NULL, NULL);
1432 else if ((crecp->flags & (F_HOSTS | F_DHCP)) || !sec_reqd)
1437 (crecp->flags & F_HOSTS) &&
1438 !is_same_net(*((struct in_addr *)&crecp->addr), local_addr, local_netmask))
1441 if (!(crecp->flags & (F_HOSTS | F_DHCP)))
1447 log_query(crecp->flags & ~F_REVERSE, name, &crecp->addr.addr,
1448 record_source(crecp->uid));
1451 crec_ttl(crecp, now), NULL, type, C_IN,
1452 type == T_A ? "4" : "6", &crecp->addr))
1456 } while ((crecp = cache_find_by_name(crecp, name, now, flag | F_CNAME)));
1576 crecp = NULL;
1577 while ((crecp = cache_find_by_name(crecp, rec->target, now, F_IPV4 | F_IPV6)))
1580 int type = crecp->flags & F_IPV4 ? T_A : T_AAAA;
1584 if (crecp->flags & F_NEG)
1588 crec_ttl(crecp, now), NULL, type, C_IN,
1589 crecp->flags & F_IPV4 ? "4" : "6", &crecp->addr))