isc_sockaddr_format(addrp, addr_buf, sizeof(addr_buf));
TRY0(xmlTextWriterWriteString(writer, ISC_XMLCHAR addr_buf));
} else if (is_presoa) {
- addr = dns_zone_getsourceaddr(zone);
+ dns_zone_getsourceaddr(zone, &addr);
isc_sockaddr_format(&addr, addr_buf, sizeof(addr_buf));
TRY0(xmlTextWriterWriteString(writer, ISC_XMLCHAR addr_buf));
} else {
json_object_object_add(xfrinobj, "localaddr",
json_object_new_string(addr_buf));
} else if (is_presoa) {
- addr = dns_zone_getsourceaddr(zone);
+ dns_zone_getsourceaddr(zone, &addr);
isc_sockaddr_format(&addr, addr_buf, sizeof(addr_buf));
json_object_object_add(xfrinobj, "localaddr",
json_object_new_string(addr_buf));
obj = NULL;
result = named_config_get(maps, "parental-source", &obj);
INSIST(result == ISC_R_SUCCESS && obj != NULL);
- CHECK(dns_zone_setparentalsrc4(zone, cfg_obj_assockaddr(obj)));
+ dns_zone_setparentalsrc4(zone, cfg_obj_assockaddr(obj));
obj = NULL;
result = named_config_get(maps, "parental-source-v6", &obj);
INSIST(result == ISC_R_SUCCESS && obj != NULL);
- CHECK(dns_zone_setparentalsrc6(zone, cfg_obj_assockaddr(obj)));
+ dns_zone_setparentalsrc6(zone, cfg_obj_assockaddr(obj));
obj = NULL;
result = named_config_get(maps, "notify-source", &obj);
INSIST(result == ISC_R_SUCCESS && obj != NULL);
- CHECK(dns_zone_setnotifysrc4(zone, cfg_obj_assockaddr(obj)));
+ dns_zone_setnotifysrc4(zone, cfg_obj_assockaddr(obj));
obj = NULL;
result = named_config_get(maps, "notify-source-v6", &obj);
INSIST(result == ISC_R_SUCCESS && obj != NULL);
- CHECK(dns_zone_setnotifysrc6(zone, cfg_obj_assockaddr(obj)));
+ dns_zone_setnotifysrc6(zone, cfg_obj_assockaddr(obj));
obj = NULL;
result = named_config_get(maps, "notify-to-soa", &obj);
obj = NULL;
result = named_config_get(maps, "transfer-source", &obj);
INSIST(result == ISC_R_SUCCESS && obj != NULL);
- CHECK(dns_zone_setxfrsource4(mayberaw,
- cfg_obj_assockaddr(obj)));
+ dns_zone_setxfrsource4(mayberaw, cfg_obj_assockaddr(obj));
obj = NULL;
result = named_config_get(maps, "transfer-source-v6", &obj);
INSIST(result == ISC_R_SUCCESS && obj != NULL);
- CHECK(dns_zone_setxfrsource6(mayberaw,
- cfg_obj_assockaddr(obj)));
+ dns_zone_setxfrsource6(mayberaw, cfg_obj_assockaddr(obj));
obj = NULL;
(void)named_config_get(maps, "try-tcp-refresh", &obj);
* val > 0.
*/
-isc_result_t
+void
dns_zone_setxfrsource4(dns_zone_t *zone, const isc_sockaddr_t *xfrsource);
/*%<
* Set the source address to be used in IPv4 zone transfers.
* Require:
*\li 'zone' to be a valid zone.
*\li 'xfrsource' to contain the address.
- *
- * Returns:
- *\li #ISC_R_SUCCESS
*/
-isc_sockaddr_t *
-dns_zone_getxfrsource4(dns_zone_t *zone);
+void
+dns_zone_getxfrsource4(dns_zone_t *zone, isc_sockaddr_t *xfrsource);
/*%<
* Returns the source address set by a previous dns_zone_setxfrsource4
* call, or the default of inaddr_any, port 0.
*
* Require:
*\li 'zone' to be a valid zone.
+ *\li 'xfrsource' to not be NULL
*/
-isc_result_t
+void
dns_zone_setxfrsource6(dns_zone_t *zone, const isc_sockaddr_t *xfrsource);
/*%<
* Set the source address to be used in IPv6 zone transfers.
* Require:
*\li 'zone' to be a valid zone.
*\li 'xfrsource' to contain the address.
- *
- * Returns:
- *\li #ISC_R_SUCCESS
*/
-isc_sockaddr_t *
-dns_zone_getxfrsource6(dns_zone_t *zone);
+void
+dns_zone_getxfrsource6(dns_zone_t *zone, isc_sockaddr_t *xfrsource);
/*%<
* Returns the source address set by a previous dns_zone_setxfrsource6
* call, or the default of in6addr_any, port 0.
*
* Require:
*\li 'zone' to be a valid zone.
+ *\li 'xfrsource' to not be NULL
*/
-isc_result_t
+void
dns_zone_setparentalsrc4(dns_zone_t *zone, const isc_sockaddr_t *parentalsrc);
/*%<
* Set the source address to be used with IPv4 parental DS queries.
* Require:
*\li 'zone' to be a valid zone.
*\li 'parentalsrc' to contain the address.
- *
- * Returns:
- *\li #ISC_R_SUCCESS
*/
-isc_sockaddr_t *
-dns_zone_getparentalsrc4(dns_zone_t *zone);
+void
+dns_zone_getparentalsrc4(dns_zone_t *zone, isc_sockaddr_t *parentalsrc);
/*%<
* Returns the source address set by a previous dns_zone_setparentalsrc4
* call, or the default of inaddr_any, port 0.
*
* Require:
*\li 'zone' to be a valid zone.
+ *\li 'parentalsrc' to be non NULL.
*/
-isc_result_t
+void
dns_zone_setparentalsrc6(dns_zone_t *zone, const isc_sockaddr_t *parentalsrc);
/*%<
* Set the source address to be used with IPv6 parental DS queries.
* Require:
*\li 'zone' to be a valid zone.
*\li 'parentalsrc' to contain the address.
- *
- * Returns:
- *\li #ISC_R_SUCCESS
*/
-isc_sockaddr_t *
-dns_zone_getparentalsrc6(dns_zone_t *zone);
+void
+dns_zone_getparentalsrc6(dns_zone_t *zone, isc_sockaddr_t *parentalsrc);
/*%<
* Returns the source address set by a previous dns_zone_setparentalsrc6
* call, or the default of in6addr_any, port 0.
*
* Require:
*\li 'zone' to be a valid zone.
+ *\li 'parentalsrc' to be non NULL.
*/
-isc_result_t
+void
dns_zone_setnotifysrc4(dns_zone_t *zone, const isc_sockaddr_t *notifysrc);
/*%<
* Set the source address to be used with IPv4 NOTIFY messages.
* Require:
*\li 'zone' to be a valid zone.
*\li 'notifysrc' to contain the address.
- *
- * Returns:
- *\li #ISC_R_SUCCESS
*/
-isc_sockaddr_t *
-dns_zone_getnotifysrc4(dns_zone_t *zone);
+void
+dns_zone_getnotifysrc4(dns_zone_t *zone, isc_sockaddr_t *notifysrc);
/*%<
* Returns the source address set by a previous dns_zone_setnotifysrc4
* call, or the default of inaddr_any, port 0.
*
* Require:
*\li 'zone' to be a valid zone.
+ *\li 'notifysrc' to be non NULL.
*/
-isc_result_t
+void
dns_zone_setnotifysrc6(dns_zone_t *zone, const isc_sockaddr_t *notifysrc);
/*%<
* Set the source address to be used with IPv6 NOTIFY messages.
* Require:
*\li 'zone' to be a valid zone.
*\li 'notifysrc' to contain the address.
- *
- * Returns:
- *\li #ISC_R_SUCCESS
*/
-isc_sockaddr_t *
-dns_zone_getnotifysrc6(dns_zone_t *zone);
+void
+dns_zone_getnotifysrc6(dns_zone_t *zone, isc_sockaddr_t *notifysrc);
/*%<
* Returns the source address set by a previous dns_zone_setnotifysrc6
* call, or the default of in6addr_any, port 0.
*
* Require:
*\li 'zone' to be a valid zone.
+ *\li 'notifysrc' to be non NULL.
*/
void
* \li 'zone' to be a valid zone.
*/
-isc_sockaddr_t
-dns_zone_getsourceaddr(dns_zone_t *zone);
+void
+dns_zone_getsourceaddr(dns_zone_t *zone, isc_sockaddr_t *sourceaddr);
/*%<
* Get the zone's source address from which it has last contacted the current
* primary server.
* Requires:
* \li 'zone' to be a valid zone.
* \li 'zone' has a non-empty primaries list.
+ * \li 'sourceaddr' to be non-NULL.
*/
isc_result_t
-dns_zone_getprimaryaddr(dns_zone_t *zone, isc_sockaddr_t *dest);
+dns_zone_getprimaryaddr(dns_zone_t *zone, isc_sockaddr_t *primaryaddr);
/*%<
- * Get the zone's current primary server into '*dest'.
+ * Get the zone's current primary server into '*primaryaddr'.
*
* Requires:
* \li 'zone' to be a valid zone.
* \li 'zone' has a non-empty primaries list.
- * \li 'dest' != NULL.
+ * \li 'primaryaddr' to be non-NULL.
*
* Returns:
*\li #ISC_R_SUCCESS if the current primary server was found
return atomic_load_relaxed(&zone->keyopts);
}
-isc_result_t
+void
dns_zone_setxfrsource4(dns_zone_t *zone, const isc_sockaddr_t *xfrsource) {
REQUIRE(DNS_ZONE_VALID(zone));
+ REQUIRE(xfrsource != NULL);
LOCK_ZONE(zone);
zone->xfrsource4 = *xfrsource;
UNLOCK_ZONE(zone);
-
- return ISC_R_SUCCESS;
}
-isc_sockaddr_t *
-dns_zone_getxfrsource4(dns_zone_t *zone) {
+void
+dns_zone_getxfrsource4(dns_zone_t *zone, isc_sockaddr_t *xfrsource) {
REQUIRE(DNS_ZONE_VALID(zone));
- return &zone->xfrsource4;
+ REQUIRE(xfrsource != NULL);
+
+ LOCK_ZONE(zone);
+ *xfrsource = zone->xfrsource4;
+ UNLOCK_ZONE(zone);
}
-isc_result_t
+void
dns_zone_setxfrsource6(dns_zone_t *zone, const isc_sockaddr_t *xfrsource) {
REQUIRE(DNS_ZONE_VALID(zone));
+ REQUIRE(xfrsource != NULL);
LOCK_ZONE(zone);
zone->xfrsource6 = *xfrsource;
UNLOCK_ZONE(zone);
-
- return ISC_R_SUCCESS;
}
-isc_sockaddr_t *
-dns_zone_getxfrsource6(dns_zone_t *zone) {
+void
+dns_zone_getxfrsource6(dns_zone_t *zone, isc_sockaddr_t *xfrsource) {
REQUIRE(DNS_ZONE_VALID(zone));
- return &zone->xfrsource6;
+ REQUIRE(xfrsource != NULL);
+
+ LOCK_ZONE(zone);
+ *xfrsource = zone->xfrsource6;
+ UNLOCK_ZONE(zone);
}
-isc_result_t
+void
dns_zone_setparentalsrc4(dns_zone_t *zone, const isc_sockaddr_t *parentalsrc) {
REQUIRE(DNS_ZONE_VALID(zone));
+ REQUIRE(parentalsrc != NULL);
LOCK_ZONE(zone);
zone->parentalsrc4 = *parentalsrc;
UNLOCK_ZONE(zone);
-
- return ISC_R_SUCCESS;
}
-isc_sockaddr_t *
-dns_zone_getparentalsrc4(dns_zone_t *zone) {
+void
+dns_zone_getparentalsrc4(dns_zone_t *zone, isc_sockaddr_t *parentalsrc) {
REQUIRE(DNS_ZONE_VALID(zone));
- return &zone->parentalsrc4;
+ REQUIRE(parentalsrc != NULL);
+
+ LOCK_ZONE(zone);
+ *parentalsrc = zone->parentalsrc4;
+ UNLOCK_ZONE(zone);
}
-isc_result_t
+void
dns_zone_setparentalsrc6(dns_zone_t *zone, const isc_sockaddr_t *parentalsrc) {
REQUIRE(DNS_ZONE_VALID(zone));
LOCK_ZONE(zone);
zone->parentalsrc6 = *parentalsrc;
UNLOCK_ZONE(zone);
-
- return ISC_R_SUCCESS;
}
-isc_sockaddr_t *
-dns_zone_getparentalsrc6(dns_zone_t *zone) {
+void
+dns_zone_getparentalsrc6(dns_zone_t *zone, isc_sockaddr_t *parentalsrc) {
REQUIRE(DNS_ZONE_VALID(zone));
- return &zone->parentalsrc6;
+ REQUIRE(parentalsrc != NULL);
+
+ LOCK_ZONE(zone);
+ *parentalsrc = zone->parentalsrc6;
+ UNLOCK_ZONE(zone);
}
-isc_result_t
+void
dns_zone_setnotifysrc4(dns_zone_t *zone, const isc_sockaddr_t *notifysrc) {
REQUIRE(DNS_ZONE_VALID(zone));
+ REQUIRE(notifysrc != NULL);
LOCK_ZONE(zone);
zone->notifysrc4 = *notifysrc;
UNLOCK_ZONE(zone);
-
- return ISC_R_SUCCESS;
}
-isc_sockaddr_t *
-dns_zone_getnotifysrc4(dns_zone_t *zone) {
+void
+dns_zone_getnotifysrc4(dns_zone_t *zone, isc_sockaddr_t *notifysrc) {
REQUIRE(DNS_ZONE_VALID(zone));
- return &zone->notifysrc4;
+ REQUIRE(notifysrc != NULL);
+
+ LOCK_ZONE(zone);
+ *notifysrc = zone->notifysrc4;
+ UNLOCK_ZONE(zone);
}
-isc_result_t
+void
dns_zone_setnotifysrc6(dns_zone_t *zone, const isc_sockaddr_t *notifysrc) {
REQUIRE(DNS_ZONE_VALID(zone));
+ REQUIRE(notifysrc != NULL);
LOCK_ZONE(zone);
zone->notifysrc6 = *notifysrc;
UNLOCK_ZONE(zone);
-
- return ISC_R_SUCCESS;
}
-isc_sockaddr_t *
-dns_zone_getnotifysrc6(dns_zone_t *zone) {
+void
+dns_zone_getnotifysrc6(dns_zone_t *zone, isc_sockaddr_t *notifysrc) {
REQUIRE(DNS_ZONE_VALID(zone));
- return &zone->notifysrc6;
+ REQUIRE(notifysrc != NULL);
+
+ LOCK_ZONE(zone);
+ *notifysrc = zone->notifysrc6;
+ UNLOCK_ZONE(zone);
}
void
return zone->sigresigninginterval;
}
-isc_sockaddr_t
-dns_zone_getsourceaddr(dns_zone_t *zone) {
- isc_sockaddr_t sourceaddr;
-
+void
+dns_zone_getsourceaddr(dns_zone_t *zone, isc_sockaddr_t *sourceaddr) {
REQUIRE(DNS_ZONE_VALID(zone));
+ REQUIRE(sourceaddr != NULL);
LOCK_ZONE(zone);
INSIST(dns_remote_count(&zone->primaries) > 0);
- sourceaddr = zone->sourceaddr;
+ *sourceaddr = zone->sourceaddr;
UNLOCK_ZONE(zone);
-
- return sourceaddr;
}
isc_result_t
-dns_zone_getprimaryaddr(dns_zone_t *zone, isc_sockaddr_t *dest) {
+dns_zone_getprimaryaddr(dns_zone_t *zone, isc_sockaddr_t *primaryaddr) {
isc_result_t result = ISC_R_NOMORE;
REQUIRE(DNS_ZONE_VALID(zone));
- REQUIRE(dest != NULL);
+ REQUIRE(primaryaddr != NULL);
LOCK_ZONE(zone);
INSIST(dns_remote_count(&zone->primaries) > 0);
if (!dns_remote_done(&zone->primaries)) {
- *dest = dns_remote_curraddr(&zone->primaries);
+ *primaryaddr = dns_remote_curraddr(&zone->primaries);
result = ISC_R_SUCCESS;
}
UNLOCK_ZONE(zone);