Lines Matching +defs:entry +defs:buffer
46 #define DNS_CATZ_ENTRY_VALID(entry) ISC_MAGIC_VALID(entry, DNS_CATZ_ENTRY_MAGIC)
282 catz_coo_add(dns_catz_zone_t *catz, dns_catz_entry_t *entry,
285 REQUIRE(DNS_CATZ_ENTRY_VALID(entry));
290 isc_result_t result = isc_ht_find(catz->coos, entry->name.ndata,
291 entry->name.length, (void **)&coo);
294 result = isc_ht_add(catz->coos, entry->name.ndata,
295 entry->name.length, coo);
321 dns_catz_entry_getname(dns_catz_entry_t *entry) {
322 REQUIRE(DNS_CATZ_ENTRY_VALID(entry));
323 return &entry->name;
327 dns_catz_entry_copy(dns_catz_zone_t *catz, const dns_catz_entry_t *entry) {
329 REQUIRE(DNS_CATZ_ENTRY_VALID(entry));
332 &entry->name);
334 dns_catz_options_copy(catz->catzs->mctx, &entry->opts, &nentry->opts);
340 dns_catz_entry_attach(dns_catz_entry_t *entry, dns_catz_entry_t **entryp) {
341 REQUIRE(DNS_CATZ_ENTRY_VALID(entry));
344 isc_refcount_increment(&entry->references);
345 *entryp = entry;
350 dns_catz_entry_t *entry;
354 entry = *entryp;
357 if (isc_refcount_decrement(&entry->references) == 1) {
359 entry->magic = 0;
360 isc_refcount_destroy(&entry->references);
361 dns_catz_options_free(&entry->opts, mctx);
362 if (dns_name_dynamic(&entry->name)) {
363 dns_name_free(&entry->name, mctx);
365 isc_mem_put(mctx, entry, sizeof(*entry));
370 dns_catz_entry_validate(const dns_catz_entry_t *entry) {
371 REQUIRE(DNS_CATZ_ENTRY_VALID(entry));
372 UNUSED(entry);
678 * Delete the old entry so that it won't accidentally be
679 * removed as a non-existing entry below.
694 dns_catz_entry_t *entry = NULL;
695 isc_ht_iter_current(iter2, (void **)&entry);
697 dns_name_format(&entry->name, zname, DNS_NAME_FORMATSIZE);
698 result = delzone(entry, catz, catz->catzs->view,
704 dns_catz_entry_detach(catz, &entry);
715 dns_catz_entry_t *entry = NULL;
716 isc_ht_iter_current(iteradd, (void **)&entry);
718 dns_name_format(&entry->name, zname, DNS_NAME_FORMATSIZE);
719 result = addzone(entry, catz, catz->catzs->view,
731 dns_catz_entry_t *entry = NULL;
732 isc_ht_iter_current(itermod, (void **)&entry);
734 dns_name_format(&entry->name, zname, DNS_NAME_FORMATSIZE);
735 result = modzone(entry, catz, catz->catzs->view,
994 dns_catz_entry_t *entry = NULL;
996 isc_ht_iter_current(iter, (void **)&entry);
997 dns_catz_entry_detach(catz, &entry);
1182 dns_catz_entry_t *entry = NULL;
1225 (void **)&entry);
1227 /* The entry was not found .*/
1231 if (dns_name_countlabels(&entry->name) == 0) {
1236 catz_coo_add(catz, entry, &ptr.ptr);
1250 dns_catz_entry_t *entry = NULL;
1279 (void **)&entry);
1281 if (dns_name_countlabels(&entry->name) != 0) {
1286 dns_name_dup(&ptr.ptr, catz->catzs->mctx, &entry->name);
1289 entry = dns_catz_entry_new(catz->catzs->mctx, &ptr.ptr);
1292 entry);
1585 "catz: more than one APL entry for member zone, "
1646 dns_catz_entry_t *entry = NULL;
1677 * We're adding this entry now, in case the option is invalid we'll get
1681 (void **)&entry);
1683 entry = dns_catz_entry_new(catz->catzs->mctx, NULL);
1685 entry);
1695 return catz_process_primaries(catz, &entry->opts.masters, value,
1701 return catz_process_apl(catz, &entry->opts.allow_query, value);
1706 return catz_process_apl(catz, &entry->opts.allow_transfer,
1876 dns_catz_generate_masterfilename(dns_catz_zone_t *catz, dns_catz_entry_t *entry,
1877 isc_buffer_t **buffer) {
1885 REQUIRE(DNS_CATZ_ENTRY_VALID(entry));
1886 REQUIRE(buffer != NULL && *buffer != NULL);
1900 result = dns_name_totext(&entry->name, DNS_NAME_OMITFINALDOT, tbuf);
1920 if (entry->opts.zonedir != NULL) {
1921 rlen += strlen(entry->opts.zonedir) + 1;
1924 result = isc_buffer_reserve(*buffer, (unsigned int)rlen);
1929 if (entry->opts.zonedir != NULL) {
1930 isc_buffer_putstr(*buffer, entry->opts.zonedir);
1931 isc_buffer_putstr(*buffer, "/");
1935 isc_buffer_putstr(*buffer, "__catz__");
1951 isc_buffer_putstr(*buffer, (char *)r.base);
1953 isc_buffer_copyregion(*buffer, &r);
1956 isc_buffer_putstr(*buffer, ".db");
1965 * We have to generate a text buffer with regular zone config:
1972 dns_catz_generate_zonecfg(dns_catz_zone_t *catz, dns_catz_entry_t *entry,
1974 isc_buffer_t *buffer = NULL;
1983 REQUIRE(DNS_CATZ_ENTRY_VALID(entry));
1987 * The buffer will be reallocated if something won't fit,
1990 isc_buffer_allocate(catz->catzs->mctx, &buffer, ISC_BUFFER_INCR);
1992 isc_buffer_putstr(buffer, "zone \"");
1993 dns_name_totext(&entry->name, DNS_NAME_OMITFINALDOT, buffer);
1994 isc_buffer_putstr(buffer, "\" { type secondary; primaries");
1996 isc_buffer_putstr(buffer, " { ");
1997 for (i = 0; i < entry->opts.masters.count; i++) {
2001 switch (entry->opts.masters.addrs[i].type.sa.sa_family) {
2006 dns_name_format(&entry->name, zname,
2017 &entry->opts.masters.addrs[i]);
2018 isc_buffer_reserve(buffer, INET6_ADDRSTRLEN);
2019 result = isc_netaddr_totext(&netaddr, buffer);
2022 isc_buffer_putstr(buffer, " port ");
2024 isc_sockaddr_getport(&entry->opts.masters.addrs[i]));
2025 isc_buffer_putstr(buffer, pbuf);
2027 if (entry->opts.masters.keys[i] != NULL) {
2028 isc_buffer_putstr(buffer, " key ");
2029 result = dns_name_totext(entry->opts.masters.keys[i],
2030 DNS_NAME_OMITFINALDOT, buffer);
2036 if (entry->opts.masters.tlss[i] != NULL) {
2037 isc_buffer_putstr(buffer, " tls ");
2038 result = dns_name_totext(entry->opts.masters.tlss[i],
2039 DNS_NAME_OMITFINALDOT, buffer);
2044 isc_buffer_putstr(buffer, "; ");
2046 isc_buffer_putstr(buffer, "}; ");
2047 if (!entry->opts.in_memory) {
2048 isc_buffer_putstr(buffer, "file \"");
2049 result = dns_catz_generate_masterfilename(catz, entry, &buffer);
2053 isc_buffer_putstr(buffer, "\"; ");
2055 if (entry->opts.allow_query != NULL) {
2056 isc_buffer_putstr(buffer, "allow-query { ");
2057 isc_buffer_usedregion(entry->opts.allow_query, ®ion);
2058 isc_buffer_copyregion(buffer, ®ion);
2059 isc_buffer_putstr(buffer, "}; ");
2061 if (entry->opts.allow_transfer != NULL) {
2062 isc_buffer_putstr(buffer, "allow-transfer { ");
2063 isc_buffer_usedregion(entry->opts.allow_transfer, ®ion);
2064 isc_buffer_copyregion(buffer, ®ion);
2065 isc_buffer_putstr(buffer, "}; ");
2068 isc_buffer_putstr(buffer, "};");
2069 *buf = buffer;
2074 isc_buffer_free(&buffer);
2620 dns_catz_entry_t *entry = NULL;
2622 isc_ht_iter_current(iter, (void **)&entry);
2623 cb(entry, arg1, arg2);