Lines Matching defs:checkds

108 #define DNS_CHECKDS_VALID(checkds) ISC_MAGIC_VALID(checkds, CHECKDS_MAGIC)
714 * Hold checkds state.
969 checkds_find_address(dns_checkds_t *checkds);
977 checkds_send_tons(dns_checkds_t *checkds);
6133 dns_zone_log(zone, ISC_LOG_NOTICE, "checkds: set %u parentals", count);
12110 dns_checkds_t *checkds;
12118 for (checkds = ISC_LIST_HEAD(zone->checkds_requests); checkds != NULL;
12119 checkds = ISC_LIST_NEXT(checkds, link))
12121 if (checkds->find != NULL) {
12122 dns_adb_cancelfind(checkds->find);
12124 if (checkds->request != NULL) {
12125 dns_request_cancel(checkds->request);
19075 /* Default to 20 refresh queries / notifies / checkds per second. */
20788 checkds_destroy(dns_checkds_t *checkds, bool locked) {
20789 REQUIRE(DNS_CHECKDS_VALID(checkds));
20791 dns_zone_log(checkds->zone, ISC_LOG_DEBUG(3),
20792 "checkds: destroy DS query");
20794 if (checkds->zone != NULL) {
20796 LOCK_ZONE(checkds->zone);
20798 REQUIRE(LOCKED_ZONE(checkds->zone));
20799 if (ISC_LINK_LINKED(checkds, link)) {
20800 ISC_LIST_UNLINK(checkds->zone->checkds_requests,
20801 checkds, link);
20804 UNLOCK_ZONE(checkds->zone);
20807 zone_idetach(&checkds->zone);
20809 dns_zone_idetach(&checkds->zone);
20812 if (checkds->find != NULL) {
20813 dns_adb_destroyfind(&checkds->find);
20815 if (checkds->request != NULL) {
20816 dns_request_destroy(&checkds->request);
20818 if (dns_name_dynamic(&checkds->ns)) {
20819 dns_name_free(&checkds->ns, checkds->mctx);
20821 if (checkds->key != NULL) {
20822 dns_tsigkey_detach(&checkds->key);
20824 if (checkds->transport != NULL) {
20825 dns_transport_detach(&checkds->transport);
20827 INSIST(checkds->rlevent == NULL);
20828 isc_mem_putanddetach(&checkds->mctx, checkds, sizeof(*checkds));
20869 "checkds: option is disabled");
20878 "checkds: %u DS published "
20890 "checkds: %u DS withdrawn "
20900 "checkds: checkds %s for key "
20912 "checkds: checkds for key %u failed: %s",
20941 dns_checkds_t *checkds = dns_request_getarg(request);
20959 REQUIRE(DNS_CHECKDS_VALID(checkds));
20961 zone = checkds->zone;
20969 isc_sockaddr_format(&checkds->dst, addrbuf, sizeof(addrbuf));
20971 dns_zone_log(zone, ISC_LOG_DEBUG(1), "checkds: DS query to %s: done",
20984 "checkds: DS response from %s: %.*s", addrbuf,
20993 "checkds: bad DS response from %s: %.*s", addrbuf,
21003 "checkds: bad DS response from %s: expected AA or "
21042 "checkds: empty DS response from %s", addrbuf);
21146 /* Rekey after checkds. */
21154 "checkds: DS request failed: %s",
21171 checkds_destroy(checkds, false);
21178 dns_checkds_t *checkds;
21180 for (checkds = ISC_LIST_HEAD(zone->checkds_requests); checkds != NULL;
21181 checkds = ISC_LIST_NEXT(checkds, link))
21183 if (checkds->request != NULL) {
21186 if (name != NULL && dns_name_equal(name, &checkds->ns)) {
21189 if (addr != NULL && isc_sockaddr_equal(addr, &checkds->dst) &&
21190 checkds->key == key && checkds->transport == transport)
21200 dns_checkds_t *checkds;
21204 checkds = isc_mem_get(mctx, sizeof(*checkds));
21205 *checkds = (dns_checkds_t){
21209 isc_mem_attach(mctx, &checkds->mctx);
21210 isc_sockaddr_any(&checkds->dst);
21211 dns_name_init(&checkds->ns, NULL);
21212 ISC_LINK_INIT(checkds, link);
21213 checkds->magic = CHECKDS_MAGIC;
21214 *checkdsp = checkds;
21260 dns_checkds_t *checkds = (dns_checkds_t *)find->cbarg;
21263 REQUIRE(DNS_CHECKDS_VALID(checkds));
21264 REQUIRE(find == checkds->find);
21268 dns_adb_destroyfind(&checkds->find);
21269 checkds_find_address(checkds);
21273 LOCK_ZONE(checkds->zone);
21274 checkds_send_tons(checkds);
21275 UNLOCK_ZONE(checkds->zone);
21282 checkds_destroy(checkds, false);
21286 checkds_find_address(dns_checkds_t *checkds) {
21291 REQUIRE(DNS_CHECKDS_VALID(checkds));
21301 dns_view_getadb(checkds->zone->view, &adb);
21307 adb, checkds->zone->loop, process_checkds_adb_event, checkds,
21308 &checkds->ns, dns_rootname, 0, options, 0, NULL,
21309 checkds->zone->view->dstport, 0, NULL, &checkds->find);
21318 if ((checkds->find->options & DNS_ADBFIND_WANTEVENT) != 0) {
21323 LOCK_ZONE(checkds->zone);
21324 checkds_send_tons(checkds);
21325 UNLOCK_ZONE(checkds->zone);
21328 checkds_destroy(checkds, false);
21333 dns_checkds_t *checkds = (dns_checkds_t *)arg;
21342 bool canceled = checkds->rlevent->canceled;
21344 REQUIRE(DNS_CHECKDS_VALID(checkds));
21346 isc_rlevent_free(&checkds->rlevent);
21348 LOCK_ZONE(checkds->zone);
21350 if (DNS_ZONE_FLAG(checkds->zone, DNS_ZONEFLG_LOADED) == 0 || canceled ||
21351 DNS_ZONE_FLAG(checkds->zone, DNS_ZONEFLG_EXITING) ||
21352 checkds->zone->view->requestmgr == NULL ||
21353 checkds->zone->db == NULL)
21363 if (isc_sockaddr_pf(&checkds->dst) == PF_INET6 &&
21364 IN6_IS_ADDR_V4MAPPED(&checkds->dst.type.sin6.sin6_addr))
21366 isc_sockaddr_format(&checkds->dst, addrbuf, sizeof(addrbuf));
21367 dns_zone_log(checkds->zone, ISC_LOG_DEBUG(3),
21368 "checkds: ignoring IPv6 mapped IPV4 address: %s",
21374 checkds_createmessage(checkds->zone, &message);
21376 isc_sockaddr_format(&checkds->dst, addrbuf, sizeof(addrbuf));
21377 if (checkds->key != NULL) {
21379 key = checkds->key;
21380 checkds->key = NULL;
21382 isc_netaddr_fromsockaddr(&dstip, &checkds->dst);
21383 result = dns_view_getpeertsig(checkds->zone->view, &dstip,
21386 dns_zone_log(checkds->zone, ISC_LOG_ERROR,
21387 "checkds: DS query to %s not sent. "
21398 dns_zone_log(checkds->zone, ISC_LOG_DEBUG(3),
21399 "checkds: sending DS query to %s : TSIG (%s)",
21402 dns_zone_log(checkds->zone, ISC_LOG_DEBUG(3),
21403 "checkds: sending DS query to %s", addrbuf);
21406 if (checkds->zone->view->peers != NULL) {
21409 result = dns_peerlist_peerbyaddr(checkds->zone->view->peers,
21422 switch (isc_sockaddr_pf(&checkds->dst)) {
21428 src = checkds->src;
21430 src = checkds->zone->parentalsrc4;
21439 src = checkds->src;
21441 src = checkds->zone->parentalsrc6;
21450 dns_zone_log(checkds->zone, ISC_LOG_DEBUG(3),
21451 "checkds: create request for DS query to %s", addrbuf);
21456 checkds->zone->view->requestmgr, message, &src, &checkds->dst,
21458 checkds->zone->loop, checkds_done, checkds, &checkds->request);
21460 dns_zone_log(checkds->zone, ISC_LOG_DEBUG(3),
21461 "checkds: dns_request_create() to %s failed: %s",
21472 UNLOCK_ZONE(checkds->zone);
21474 checkds_destroy(checkds, false);
21479 checkds_send_tons(dns_checkds_t *checkds) {
21489 REQUIRE(DNS_CHECKDS_VALID(checkds));
21490 REQUIRE(LOCKED_ZONE(checkds->zone));
21492 zone = checkds->zone;
21494 if (DNS_ZONE_FLAG(checkds->zone, DNS_ZONEFLG_EXITING)) {
21498 for (ai = ISC_LIST_HEAD(checkds->find->list); ai != NULL;
21507 result = checkds_create(checkds->mctx, 0, &newcheckds);
21515 dns_name_dup(&checkds->ns, checkds->mctx, &newcheckds->ns);
21561 "checkds: start sending DS queries to %u parentals",
21566 "checkds: abort, named exiting");
21575 dns_checkds_t *checkds = NULL;
21603 /* TODO: glue the transport to the checkds request */
21607 "checkds: DS query to parent "
21620 "checkds: create DS query for "
21624 result = checkds_create(zone->mctx, flags, &checkds);
21627 "checkds: create DS query for "
21632 zone_iattach(zone, &checkds->zone);
21633 dns_name_dup(dns_rootname, checkds->mctx, &checkds->ns);
21634 checkds->src = src;
21635 checkds->dst = dst;
21637 INSIST(checkds->key == NULL);
21639 checkds->key = key;
21643 INSIST(checkds->transport == NULL);
21645 checkds->transport = transport;
21649 ISC_LIST_APPEND(zone->checkds_requests, checkds, link);
21651 checkds->zone->zmgr->checkdsrl, checkds->zone->loop,
21652 checkds_send_toaddr, checkds, &checkds->rlevent);
21655 "checkds: send DS query to "
21658 checkds_destroy(checkds, true);
21768 dns_checkds_t *checkds = NULL;
21785 result = checkds_create(zone->mctx, 0, &checkds);
21788 "checkds: checkds_create() failed: %s",
21797 "checkds: send DS query to NS %s",
21802 zone_iattach(zone, &checkds->zone);
21803 dns_name_dup(&ns.name, zone->mctx, &checkds->ns);
21804 ISC_LIST_APPEND(zone->checkds_requests, checkds, link);
21807 checkds_find_address(checkds);
21819 "checkds: error during parental-agents processing: %s",