]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Move three more functions to zoneproperties.c
authorMatthijs Mekking <matthijs@isc.org>
Thu, 19 Mar 2026 16:58:30 +0000 (17:58 +0100)
committerMatthijs Mekking <matthijs@isc.org>
Wed, 8 Apr 2026 12:24:17 +0000 (14:24 +0200)
Move the following functions to the zoneproperties source files, as
they are simple get functions:
- dns_zone_getgluecachestats
- dns_zone_getkeystores
- dns_zone_getrequesttransporttype

lib/dns/include/dns/zone.h
lib/dns/include/dns/zoneproperties.h
lib/dns/zone.c
lib/dns/zoneproperties.c

index 31ec62871fb8fae56a5c493a25238f233a3c79ba..ecb1bee66820b4938d8272d92aa1093fcdbbe4dc 100644 (file)
@@ -502,18 +502,6 @@ dns_zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump);
  *     Others
  */
 
-dns_transport_type_t
-dns_zone_getrequesttransporttype(dns_zone_t *zone);
-/*%<
- * Get the transport type used for the SOA query to the current primary server
- * before an ongoing incoming zone transfer is lanunched. When the transfer is
- * already running, this information should be retrieved from the xfrin object
- * instead, using the dns_xfrin_gettransporttype() function.
- *
- * Requires:
- * \li 'zone' to be a valid zone.
- */
-
 isc_result_t
 dns_zone_forwardupdate(dns_zone_t *zone, dns_message_t *msg,
                       dns_updatecallback_t callback, void *callback_arg);
@@ -939,19 +927,6 @@ dns_zone_setserial(dns_zone_t *zone, uint32_t serial);
  * Set the zone's serial to 'serial'.
  */
 
-isc_stats_t *
-dns_zone_getgluecachestats(dns_zone_t *zone);
-/*%<
- * Get the glue cache statistics for zone.
- *
- * Requires:
- * \li 'zone' to be a valid zone.
- *
- * Returns:
- * \li if present, a pointer to the statistics set installed in zone;
- *     otherwise NULL.
- */
-
 bool
 dns_zone_isloaded(dns_zone_t *zone);
 /*%<
@@ -1044,13 +1019,6 @@ dns_zonemgr_setkeystores(dns_zonemgr_t *zmgr, dns_keystorelist_t *keystores);
  * \li  'keystores' to be a valid.
  */
 
-dns_keystorelist_t *
-dns_zone_getkeystores(dns_zone_t *zone);
-/**<
- * Get the keystores pointer, it should never be NULL once the server is
- * initialized.
- */
-
 void
 dns_zone_setplugins(dns_zone_t *zone, void *plugins,
                    void (*plugins_free)(isc_mem_t *, void **));
index a49245327137b5a9cd14902a6ccef757ec9ac29b..ed7a8b188188a0bc7ac2860de880f9b47cc953dd 100644 (file)
@@ -1525,3 +1525,35 @@ dns_zone_getcfg(dns_zone_t *zone);
  * Requires:
  * \li 'zone' to be a valid zone.
  */
+
+dns_transport_type_t
+dns_zone_getrequesttransporttype(dns_zone_t *zone);
+/*%<
+ * Get the transport type used for the SOA query to the current primary server
+ * before an ongoing incoming zone transfer is lanunched. When the transfer is
+ * already running, this information should be retrieved from the xfrin object
+ * instead, using the dns_xfrin_gettransporttype() function.
+ *
+ * Requires:
+ * \li  'zone' to be a valid zone.
+ */
+
+isc_stats_t *
+dns_zone_getgluecachestats(dns_zone_t *zone);
+/*%<
+ * Get the glue cache statistics for zone.
+ *
+ * Requires:
+ * \li  'zone' to be a valid zone.
+ *
+ * Returns:
+ * \li  if present, a pointer to the statistics set installed in zone;
+ *      otherwise NULL.
+ */
+
+dns_keystorelist_t *
+dns_zone_getkeystores(dns_zone_t *zone);
+/**<
+ * Get the keystores pointer, it should never be NULL once the server is
+ * initialized.
+ */
index ae4d77d09ca3e0eec65e5773401c25f866816538..ce04932ebc3f07a624baf2cbddc550520650e414 100644 (file)
@@ -15677,63 +15677,6 @@ queue_xfrin(dns_zone_t *zone) {
        }
 }
 
-/*
- * Get the transport type used for the SOA query to the current primary server
- * before an ongoing incoming zone transfer.
- *
- * Requires:
- *     The zone is locked by the caller.
- */
-static dns_transport_type_t
-get_request_transport_type(dns_zone_t *zone) {
-       dns_transport_type_t transport_type = DNS_TRANSPORT_NONE;
-
-       if (zone->transport != NULL) {
-               transport_type = dns_transport_get_type(zone->transport);
-       } else {
-               transport_type = (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_USEVC))
-                                        ? DNS_TRANSPORT_TCP
-                                        : DNS_TRANSPORT_UDP;
-
-               /* Check if the peer is forced to always use TCP. */
-               if (transport_type != DNS_TRANSPORT_TCP &&
-                   !dns_remote_done(&zone->primaries))
-               {
-                       isc_result_t result;
-                       isc_sockaddr_t primaryaddr;
-                       isc_netaddr_t primaryip;
-                       dns_peer_t *peer = NULL;
-
-                       primaryaddr = dns_remote_curraddr(&zone->primaries);
-                       isc_netaddr_fromsockaddr(&primaryip, &primaryaddr);
-                       result = dns_peerlist_peerbyaddr(zone->view->peers,
-                                                        &primaryip, &peer);
-                       if (result == ISC_R_SUCCESS && peer != NULL) {
-                               bool usetcp;
-                               result = dns_peer_getforcetcp(peer, &usetcp);
-                               if (result == ISC_R_SUCCESS && usetcp) {
-                                       transport_type = DNS_TRANSPORT_TCP;
-                               }
-                       }
-               }
-       }
-
-       return transport_type;
-}
-
-dns_transport_type_t
-dns_zone_getrequesttransporttype(dns_zone_t *zone) {
-       dns_transport_type_t transport_type;
-
-       REQUIRE(DNS_ZONE_VALID(zone));
-
-       LOCK_ZONE(zone);
-       transport_type = get_request_transport_type(zone);
-       UNLOCK_ZONE(zone);
-
-       return transport_type;
-}
-
 /*
  * Update forwarding support.
  */
@@ -16099,11 +16042,6 @@ cleanup:
        isc_mem_put(zone->mctx, buf, buflen);
 }
 
-dns_keystorelist_t *
-dns_zone_getkeystores(dns_zone_t *zone) {
-       return zone->zmgr->keystores;
-}
-
 void
 dns_zone_stopxfr(dns_zone_t *zone) {
        dns_xfrin_t *xfr = NULL;
@@ -20634,13 +20572,6 @@ cleanup:
        return result;
 }
 
-isc_stats_t *
-dns_zone_getgluecachestats(dns_zone_t *zone) {
-       REQUIRE(DNS_ZONE_VALID(zone));
-
-       return zone->gluecachestats;
-}
-
 bool
 dns_zone_isloaded(dns_zone_t *zone) {
        REQUIRE(DNS_ZONE_VALID(zone));
index fc323068f858214401fd0d0bb1486a8e344d6286..06c0c57c271f532bb710e8d32f8179439c37a427 100644 (file)
@@ -17,6 +17,7 @@
 #include <isc/random.h> /* WMM: remove include */
 
 #include <dns/kasp.h>
+#include <dns/peer.h>
 #include <dns/request.h>
 #include <dns/ssu.h>
 #include <dns/stats.h>
@@ -2048,3 +2049,72 @@ dns_zone_getcfg(dns_zone_t *zone) {
 
        return zone->cfg;
 }
+
+/*
+ * Get the transport type used for the SOA query to the current primary server
+ * before an ongoing incoming zone transfer.
+ *
+ * Requires:
+ *      The zone is locked by the caller.
+ */
+static dns_transport_type_t
+get_request_transport_type(dns_zone_t *zone) {
+       dns_transport_type_t transport_type = DNS_TRANSPORT_NONE;
+
+       if (zone->transport != NULL) {
+               transport_type = dns_transport_get_type(zone->transport);
+       } else {
+               transport_type = (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_USEVC))
+                                        ? DNS_TRANSPORT_TCP
+                                        : DNS_TRANSPORT_UDP;
+
+               /* Check if the peer is forced to always use TCP. */
+               if (transport_type != DNS_TRANSPORT_TCP &&
+                   !dns_remote_done(&zone->primaries))
+               {
+                       isc_result_t result;
+                       isc_sockaddr_t primaryaddr;
+                       isc_netaddr_t primaryip;
+                       dns_peer_t *peer = NULL;
+
+                       primaryaddr = dns_remote_curraddr(&zone->primaries);
+                       isc_netaddr_fromsockaddr(&primaryip, &primaryaddr);
+                       result = dns_peerlist_peerbyaddr(zone->view->peers,
+                                                        &primaryip, &peer);
+                       if (result == ISC_R_SUCCESS && peer != NULL) {
+                               bool usetcp;
+                               result = dns_peer_getforcetcp(peer, &usetcp);
+                               if (result == ISC_R_SUCCESS && usetcp) {
+                                       transport_type = DNS_TRANSPORT_TCP;
+                               }
+                       }
+               }
+       }
+
+       return transport_type;
+}
+
+dns_transport_type_t
+dns_zone_getrequesttransporttype(dns_zone_t *zone) {
+       dns_transport_type_t transport_type;
+
+       REQUIRE(DNS_ZONE_VALID(zone));
+
+       LOCK_ZONE(zone);
+       transport_type = get_request_transport_type(zone);
+       UNLOCK_ZONE(zone);
+
+       return transport_type;
+}
+
+dns_keystorelist_t *
+dns_zone_getkeystores(dns_zone_t *zone) {
+       return zone->zmgr->keystores;
+}
+
+isc_stats_t *
+dns_zone_getgluecachestats(dns_zone_t *zone) {
+       REQUIRE(DNS_ZONE_VALID(zone));
+
+       return zone->gluecachestats;
+}