static isc_result_t builtin_authority(const char *zone, void *dbdata, dns_sdblookup_t *lookup) { isc_result_t result; const char *contact = "hostmaster"; const char *server = "@"; builtin_t *b = (builtin_t *) dbdata; UNUSED(zone); UNUSED(dbdata); if (b == &empty_builtin) { server = "."; contact = "."; } else { if (b->server != NULL) server = b->server; if (b->contact != NULL) contact = b->contact; } result = dns_sdb_putsoa(lookup, server, contact, 0); if (result != ISC_R_SUCCESS) return (ISC_R_FAILURE); result = dns_sdb_putrr(lookup, "ns", 0, server); if (result != ISC_R_SUCCESS) return (ISC_R_FAILURE); return (ISC_R_SUCCESS); }
/* * lookup () does not return SOA or NS records, so authority() must be defined. */ static isc_result_t dirdb_authority(const char *zone, void *dbdata, dns_sdblookup_t *lookup) { isc_result_t result; UNUSED(zone); UNUSED(dbdata); result = dns_sdb_putsoa(lookup, "ns", "hostmaster", 0); INSIST(result == ISC_R_SUCCESS); result = dns_sdb_putrr(lookup, "ns", 86400, "ns1"); INSIST(result == ISC_R_SUCCESS); result = dns_sdb_putrr(lookup, "ns", 86400, "ns2"); INSIST(result == ISC_R_SUCCESS); return (ISC_R_SUCCESS); }
/* * lookup() does not return SOA or NS records, so authority() must be defined. */ static isc_result_t timedb_authority(const char *zone, void *dbdata, dns_sdblookup_t *lookup) { isc_result_t result; UNUSED(zone); UNUSED(dbdata); result = dns_sdb_putsoa(lookup, "localhost.", "root.localhost.", 0); if (result != ISC_R_SUCCESS) return (ISC_R_FAILURE); result = dns_sdb_putrr(lookup, "ns", 86400, "ns1.localdomain."); if (result != ISC_R_SUCCESS) return (ISC_R_FAILURE); result = dns_sdb_putrr(lookup, "ns", 86400, "ns2.localdomain."); if (result != ISC_R_SUCCESS) return (ISC_R_FAILURE); return (ISC_R_SUCCESS); }