#include <config.h>
#include <isc/formatcheck.h>
#include <isc/mem.h>
#include <isc/timer.h>
#include <isc/print.h>
#include <isc/stats.h>
#include <isc/util.h>
#include <dns/db.h>
#include <dns/dbiterator.h>
#include <dns/dlz.h>
#include <dns/fixedname.h>
#include <dns/journal.h>
#include <dns/message.h>
#include <dns/peer.h>
#include <dns/rdataclass.h>
#include <dns/rdatalist.h>
#include <dns/rdataset.h>
#include <dns/rdatasetiter.h>
#include <dns/result.h>
#include <dns/rriterator.h>
#include <dns/soa.h>
#include <dns/stats.h>
#include <dns/timer.h>
#include <dns/tsig.h>
#include <dns/view.h>
#include <dns/zone.h>
#include <dns/zt.h>
#include <named/client.h>
#include <named/log.h>
#include <named/server.h>
#include <named/xfrout.h>
Go to the source code of this file.
Definition in file xfrout.c.
#define XFROUT_COMMON_LOGARGS ns_g_lctx, DNS_LOGCATEGORY_XFER_OUT, NS_LOGMODULE_XFER_OUT |
#define XFROUT_PROTOCOL_LOGARGS XFROUT_COMMON_LOGARGS, ISC_LOG_INFO |
#define XFROUT_DEBUG_LOGARGS | ( | n | ) | XFROUT_COMMON_LOGARGS, ISC_LOG_DEBUG(n) |
#define XFROUT_RR_LOGARGS XFROUT_COMMON_LOGARGS, XFROUT_RR_LOGLEVEL |
#define XFROUT_RR_LOGLEVEL ISC_LOG_DEBUG(8) |
#define FAILC | ( | code, | |||
msg | ) |
Value:
do { \ result = (code); \ ns_client_log(client, DNS_LOGCATEGORY_XFER_OUT, \ NS_LOGMODULE_XFER_OUT, ISC_LOG_INFO, \ "bad zone transfer request: %s (%s)", \ msg, isc_result_totext(code)); \ if (result != ISC_R_SUCCESS) goto failure; \ } while (0)
#define FAILQ | ( | code, | |||
msg, | |||||
question, | |||||
rdclass | ) |
Value:
do { \ char _buf1[DNS_NAME_FORMATSIZE]; \ char _buf2[DNS_RDATACLASS_FORMATSIZE]; \ result = (code); \ dns_name_format(question, _buf1, sizeof(_buf1)); \ dns_rdataclass_format(rdclass, _buf2, sizeof(_buf2)); \ ns_client_log(client, DNS_LOGCATEGORY_XFER_OUT, \ NS_LOGMODULE_XFER_OUT, ISC_LOG_INFO, \ "bad zone transfer request: '%s/%s': %s (%s)", \ _buf1, _buf2, msg, isc_result_totext(code)); \ if (result != ISC_R_SUCCESS) goto failure; \ } while (0)
Definition at line 94 of file xfrout.c.
Referenced by ns_xfr_start().
#define CHECK | ( | op | ) |
Value:
do { result = (op); \ if (result != ISC_R_SUCCESS) goto failure; \ } while (0)
typedef struct rrstream_methods rrstream_methods_t |
typedef struct rrstream rrstream_t |
typedef struct ixfr_rrstream ixfr_rrstream_t |
typedef struct axfr_rrstream axfr_rrstream_t |
typedef struct soa_rrstream soa_rrstream_t |
typedef struct compound_rrstream compound_rrstream_t |
static void inc_stats | ( | dns_zone_t * | zone, | |
isc_statscounter_t | counter | |||
) | [inline, static] |
Definition at line 116 of file xfrout.c.
References dns_zone_getrequeststats(), and isc_stats_increment().
static void log_rr | ( | dns_name_t * | name, | |
dns_rdata_t * | rdata, | |||
isc_uint32_t | ttl | |||
) | [static] |
Log an RR (for debugging).
Definition at line 130 of file xfrout.c.
References isc_buffer::base, dns_rdatalist::covers, dns_rdata_clone(), dns_rdata_covers(), dns_rdata_init(), DNS_RDATA_INIT, dns_rdatalist_init(), dns_rdatalist_tordataset(), dns_rdataset_init(), dns_rdataset_totext(), INSIST, isc_buffer_base, isc_buffer_init, isc_buffer_usedlength, ISC_FALSE, ISC_LIST_APPEND, isc_log_write(), ISC_R_SUCCESS, dns_rdata::rdclass, dns_rdatalist::rdclass, RUNTIME_CHECK, dns_rdatalist::ttl, dns_rdata::type, dns_rdatalist::type, isc_buffer::used, and XFROUT_RR_LOGARGS.
Referenced by sendstream().
static void rrstream_noop_pause | ( | rrstream_t * | rs | ) | [static] |
static void ixfr_rrstream_destroy | ( | rrstream_t ** | sp | ) | [static] |
Definition at line 288 of file xfrout.c.
References ixfr_rrstream::common, dns_journal_destroy(), isc_mem_putanddetach, ixfr_rrstream::journal, rrstream::mctx, and s.
Referenced by ixfr_rrstream_create().
static isc_result_t ixfr_rrstream_create | ( | isc_mem_t * | mctx, | |
const char * | journal_filename, | |||
isc_uint32_t | begin_serial, | |||
isc_uint32_t | end_serial, | |||
rrstream_t ** | sp | |||
) | [static] |
Definition at line 235 of file xfrout.c.
References CHECK, ixfr_rrstream::common, dns_journal_iter_init(), dns_journal_open(), DNS_JOURNAL_READ, INSIST, isc_mem_attach(), isc_mem_get, ISC_R_NOMEMORY, ISC_R_SUCCESS, ixfr_rrstream_destroy(), ixfr_rrstream::journal, rrstream::mctx, rrstream::methods, and s.
Referenced by ns_xfr_start().
static isc_result_t ixfr_rrstream_first | ( | rrstream_t * | rs | ) | [static] |
Definition at line 267 of file xfrout.c.
References dns_journal_first_rr(), ixfr_rrstream::journal, and s.
static isc_result_t ixfr_rrstream_next | ( | rrstream_t * | rs | ) | [static] |
Definition at line 273 of file xfrout.c.
References dns_journal_next_rr(), ixfr_rrstream::journal, and s.
static void ixfr_rrstream_current | ( | rrstream_t * | rs, | |
dns_name_t ** | name, | |||
isc_uint32_t * | ttl, | |||
dns_rdata_t ** | rdata | |||
) | [static] |
Definition at line 279 of file xfrout.c.
References dns_journal_current_rr(), ixfr_rrstream::journal, and s.
static void axfr_rrstream_destroy | ( | rrstream_t ** | rsp | ) | [static] |
Definition at line 413 of file xfrout.c.
References axfr_rrstream::common, dns_rriterator_destroy(), isc_mem_putanddetach, axfr_rrstream::it, axfr_rrstream::it_valid, rrstream::mctx, and s.
Referenced by axfr_rrstream_create().
static isc_result_t axfr_rrstream_create | ( | isc_mem_t * | mctx, | |
dns_db_t * | db, | |||
dns_dbversion_t * | ver, | |||
rrstream_t ** | sp | |||
) | [static] |
Definition at line 327 of file xfrout.c.
References axfr_rrstream_destroy(), CHECK, axfr_rrstream::common, dns_rriterator_init(), INSIST, ISC_FALSE, isc_mem_attach(), isc_mem_get, ISC_R_NOMEMORY, ISC_R_SUCCESS, ISC_TRUE, axfr_rrstream::it, axfr_rrstream::it_valid, rrstream::mctx, rrstream::methods, and s.
Referenced by ns_xfr_start().
static isc_result_t axfr_rrstream_first | ( | rrstream_t * | rs | ) | [static] |
Definition at line 355 of file xfrout.c.
References dns_rriterator_current(), dns_rriterator_first(), dns_rriterator_next(), ISC_R_SUCCESS, axfr_rrstream::it, s, and dns_rdata::type.
static isc_result_t axfr_rrstream_next | ( | rrstream_t * | rs | ) | [static] |
Definition at line 378 of file xfrout.c.
References dns_rriterator_current(), dns_rriterator_next(), ISC_R_SUCCESS, axfr_rrstream::it, s, and dns_rdata::type.
static void axfr_rrstream_current | ( | rrstream_t * | rs, | |
dns_name_t ** | name, | |||
isc_uint32_t * | ttl, | |||
dns_rdata_t ** | rdata | |||
) | [static] |
Definition at line 399 of file xfrout.c.
References dns_rriterator_current(), axfr_rrstream::it, and s.
static void axfr_rrstream_pause | ( | rrstream_t * | rs | ) | [static] |
Definition at line 407 of file xfrout.c.
References dns_rriterator_pause(), axfr_rrstream::it, and s.
static void soa_rrstream_destroy | ( | rrstream_t ** | rsp | ) | [static] |
Definition at line 498 of file xfrout.c.
References soa_rrstream::common, dns_difftuple_free(), isc_mem_putanddetach, rrstream::mctx, s, and soa_rrstream::soa_tuple.
Referenced by soa_rrstream_create().
static isc_result_t soa_rrstream_create | ( | isc_mem_t * | mctx, | |
dns_db_t * | db, | |||
dns_dbversion_t * | ver, | |||
rrstream_t ** | sp | |||
) | [static] |
Definition at line 448 of file xfrout.c.
References CHECK, soa_rrstream::common, dns_db_createsoatuple(), DNS_DIFFOP_EXISTS, INSIST, isc_mem_attach(), isc_mem_get, ISC_R_NOMEMORY, ISC_R_SUCCESS, rrstream::mctx, rrstream::methods, s, soa_rrstream_destroy(), and soa_rrstream::soa_tuple.
Referenced by ns_xfr_start().
static isc_result_t soa_rrstream_first | ( | rrstream_t * | rs | ) | [static] |
static isc_result_t soa_rrstream_next | ( | rrstream_t * | rs | ) | [static] |
static void soa_rrstream_current | ( | rrstream_t * | rs, | |
dns_name_t ** | name, | |||
isc_uint32_t * | ttl, | |||
dns_rdata_t ** | rdata | |||
) | [static] |
Definition at line 488 of file xfrout.c.
References dns_difftuple::name, dns_difftuple::rdata, s, soa_rrstream::soa_tuple, and dns_difftuple::ttl.
static void compound_rrstream_destroy | ( | rrstream_t ** | rsp | ) | [static] |
Definition at line 635 of file xfrout.c.
References compound_rrstream::common, compound_rrstream::components, rrstream_methods::destroy, isc_mem_putanddetach, rrstream::mctx, rrstream::methods, and s.
static isc_result_t compound_rrstream_next | ( | rrstream_t * | rs | ) | [static] |
Definition at line 593 of file xfrout.c.
References compound_rrstream::components, rrstream_methods::first, ISC_R_NOMORE, rrstream::methods, rrstream_methods::next, rrstream_methods::pause, compound_rrstream::result, s, and compound_rrstream::state.
static isc_result_t compound_rrstream_create | ( | isc_mem_t * | mctx, | |
rrstream_t ** | soa_stream, | |||
rrstream_t ** | data_stream, | |||
rrstream_t ** | sp | |||
) | [static] |
Definition at line 556 of file xfrout.c.
References compound_rrstream::common, compound_rrstream::components, INSIST, isc_mem_attach(), isc_mem_get, ISC_R_FAILURE, ISC_R_NOMEMORY, ISC_R_SUCCESS, rrstream::mctx, rrstream::methods, compound_rrstream::result, s, and compound_rrstream::state.
Referenced by ns_xfr_start().
static isc_result_t compound_rrstream_first | ( | rrstream_t * | rs | ) | [static] |
Definition at line 582 of file xfrout.c.
References compound_rrstream::components, rrstream_methods::first, ISC_R_NOMORE, rrstream::methods, compound_rrstream::result, s, and compound_rrstream::state.
static void compound_rrstream_current | ( | rrstream_t * | rs, | |
dns_name_t ** | name, | |||
isc_uint32_t * | ttl, | |||
dns_rdata_t ** | rdata | |||
) | [static] |
Definition at line 613 of file xfrout.c.
References compound_rrstream::components, rrstream_methods::current, INSIST, ISC_R_SUCCESS, rrstream::methods, compound_rrstream::result, s, and compound_rrstream::state.
static void compound_rrstream_pause | ( | rrstream_t * | rs | ) | [static] |
Definition at line 625 of file xfrout.c.
References compound_rrstream::components, INSIST, rrstream::methods, rrstream_methods::pause, s, and compound_rrstream::state.
static isc_result_t xfrout_ctx_create | ( | isc_mem_t * | mctx, | |
ns_client_t * | client, | |||
unsigned int | id, | |||
dns_name_t * | qname, | |||
dns_rdatatype_t | qtype, | |||
dns_rdataclass_t | qclass, | |||
dns_zone_t * | zone, | |||
dns_db_t * | db, | |||
dns_dbversion_t * | ver, | |||
isc_quota_t * | quota, | |||
rrstream_t * | stream, | |||
dns_tsigkey_t * | tsigkey, | |||
isc_buffer_t * | lasttsig, | |||
unsigned int | maxtime, | |||
unsigned int | idletime, | |||
isc_boolean_t | many_answers, | |||
xfrout_ctx_t ** | xfrp | |||
) | [static] |
Definition at line 1145 of file xfrout.c.
References isc_buffer::base, xfrout_ctx_t::buf, CHECK, xfrout_ctx_t::client, xfrout_ctx_t::db, dns_db_attach(), dns_db_attachversion(), dns_timer_setidle(), dns_zone_attach(), xfrout_ctx_t::end_of_stream, xfrout_ctx_t::id, INSIST, isc_buffer_init, ISC_FALSE, isc_mem_attach(), isc_mem_get, ISC_R_NOMEMORY, ISC_R_SUCCESS, xfrout_ctx_t::lasttsig, isc_buffer::length, xfrout_ctx_t::many_answers, xfrout_ctx_t::mctx, xfrout_ctx_t::mnemonic, xfrout_ctx_t::nmsg, ns_client_attach(), xfrout_ctx_t::qclass, xfrout_ctx_t::qname, xfrout_ctx_t::qtype, xfrout_ctx_t::quota, xfrout_ctx_t::sends, ns_client::shutdown, ns_client::shutdown_arg, xfrout_ctx_t::shuttingdown, xfrout_ctx_t::stream, ns_client::timer, xfrout_ctx_t::tsigkey, xfrout_ctx_t::txbuf, xfrout_ctx_t::txlenbuf, xfrout_ctx_t::txmem, xfrout_ctx_t::txmemlen, xfrout_ctx_t::ver, xfrout_client_shutdown(), xfrout_ctx_destroy(), and xfrout_ctx_t::zone.
Referenced by ns_xfr_start().
static void sendstream | ( | xfrout_ctx_t * | xfr | ) | [static] |
Definition at line 1263 of file xfrout.c.
References ns_client::attributes, isc_buffer::base, isc_region::base, xfrout_ctx_t::buf, CHECK, xfrout_ctx_t::client, dns_rdatalist::covers, rrstream_methods::current, dns_rdata::data, dns_compress_init(), dns_compress_invalidate(), dns_compress_setsensitive(), dns_message_addname(), dns_message_create(), dns_message_destroy(), dns_message_getquerytsig(), dns_message_gettempname(), dns_message_gettemprdata(), dns_message_gettemprdatalist(), dns_message_gettemprdataset(), DNS_MESSAGE_INTENTRENDER, dns_message_puttempname(), dns_message_puttemprdata(), dns_message_puttemprdatalist(), dns_message_puttemprdataset(), dns_message_renderbegin(), dns_message_renderend(), dns_message_rendersection(), dns_message_reply(), dns_message_setopt(), dns_message_setquerytsig(), dns_message_settsigkey(), DNS_MESSAGEFLAG_AA, DNS_MESSAGEFLAG_QR, DNS_MESSAGEFLAG_RA, dns_name_fromregion(), dns_name_init(), dns_rcode_noerror, dns_rdata_covers(), dns_rdata_fromregion(), dns_rdata_init(), dns_rdatalist_tordataset(), dns_rdataset_disassociate(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdataset_makequestion(), DNS_SECTION_ANSWER, DNS_SECTION_QUESTION, xfrout_ctx_t::end_of_stream, dns_message::flags, xfrout_ctx_t::id, dns_message::id, INSIST, isc_buffer_add, isc_buffer_availableregion, isc_buffer_clear, isc_buffer_free(), isc_buffer_putmem, isc_buffer_putuint16, isc_buffer_usedregion, ISC_FALSE, ISC_LIST_APPEND, ISC_LIST_INIT, ISC_LIST_UNLINK, ISC_LOG_DEBUG, ISC_LOG_WARNING, isc_log_wouldlog(), ISC_R_NOMORE, ISC_R_NOSPACE, ISC_R_SUCCESS, isc_socket_send(), ISC_TRUE, xfrout_ctx_t::lasttsig, dns_rdata::length, dns_name::length, isc_region::length, log_rr(), xfrout_ctx_t::many_answers, xfrout_ctx_t::mctx, ns_client::message, rrstream::methods, name, dns_name::ndata, rrstream_methods::next, xfrout_ctx_t::nmsg, ns_client_addopt(), ns_client_send(), NS_CLIENTATTR_HAVEEXPIRE, NS_CLIENTATTR_RA, NS_CLIENTATTR_TCP, NS_CLIENTATTR_WANTNSID, NS_CLIENTATTR_WANTOPT, rrstream_methods::pause, xfrout_ctx_t::qname, xfrout_ctx_t::qtype, r, dns_message::rcode, dns_rdatalist::rdclass, dns_rdata::rdclass, dns_message::rdclass, dns_message::reserved, xfrout_ctx_t::sends, xfrout_ctx_t::stream, ns_client::task, dns_message::tcp_continuation, ns_client::tcpsocket, xfrout_ctx_t::tsigkey, dns_rdatalist::ttl, ttl, xfrout_ctx_t::txbuf, xfrout_ctx_t::txlenbuf, dns_rdatalist::type, dns_rdata::type, xfrout_ctx_destroy(), xfrout_fail(), xfrout_log(), XFROUT_RR_LOGLEVEL, and xfrout_senddone().
Referenced by ns_xfr_start(), and xfrout_senddone().
static void xfrout_senddone | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 1599 of file xfrout.c.
References xfrout_ctx_t::client, dns_nsstatscounter_xfrdone, xfrout_ctx_t::end_of_stream, inc_stats(), INSIST, isc_event_free(), ISC_FALSE, ISC_LOG_INFO, ISC_R_SUCCESS, ISC_SOCKEVENT_SENDDONE, isc_timer_touch(), ISC_TRUE, xfrout_ctx_t::mnemonic, ns_client_next(), isc_socketevent::result, xfrout_ctx_t::sends, sendstream(), xfrout_ctx_t::shuttingdown, ns_client::timer, UNUSED, xfrout_ctx_destroy(), xfrout_fail(), xfrout_log(), xfrout_maybe_destroy(), and xfrout_ctx_t::zone.
Referenced by sendstream().
static void xfrout_fail | ( | xfrout_ctx_t * | xfr, | |
isc_result_t | result, | |||
const char * | msg | |||
) | [static] |
Definition at line 1629 of file xfrout.c.
References ISC_LOG_ERROR, isc_result_totext(), ISC_TRUE, xfrout_ctx_t::shuttingdown, xfrout_log(), and xfrout_maybe_destroy().
Referenced by ns_xfr_start(), sendstream(), xfrout_client_shutdown(), and xfrout_senddone().
static void xfrout_maybe_destroy | ( | xfrout_ctx_t * | xfr | ) | [static] |
Definition at line 1637 of file xfrout.c.
References xfrout_ctx_t::client, INSIST, ISC_R_CANCELED, ISC_SOCKCANCEL_SEND, isc_socket_cancel(), ISC_TRUE, ns_client_next(), xfrout_ctx_t::sends, xfrout_ctx_t::shuttingdown, ns_client::task, ns_client::tcpsocket, and xfrout_ctx_destroy().
Referenced by xfrout_fail(), and xfrout_senddone().
static void xfrout_ctx_destroy | ( | xfrout_ctx_t ** | xfrp | ) | [static] |
Definition at line 1560 of file xfrout.c.
References isc_buffer::base, xfrout_ctx_t::buf, xfrout_ctx_t::client, xfrout_ctx_t::db, rrstream_methods::destroy, dns_db_closeversion(), dns_db_detach(), dns_zone_detach(), INSIST, isc_buffer_free(), ISC_FALSE, isc_mem_put, isc_mem_putanddetach, isc_quota_detach(), xfrout_ctx_t::lasttsig, isc_buffer::length, xfrout_ctx_t::mctx, rrstream::methods, ns_client_attach(), ns_client_detach(), xfrout_ctx_t::quota, xfrout_ctx_t::sends, ns_client::shutdown, ns_client::shutdown_arg, xfrout_ctx_t::stream, xfrout_ctx_t::txmem, xfrout_ctx_t::txmemlen, xfrout_ctx_t::ver, and xfrout_ctx_t::zone.
Referenced by sendstream(), xfrout_ctx_create(), xfrout_maybe_destroy(), and xfrout_senddone().
static void xfrout_client_shutdown | ( | void * | arg, | |
isc_result_t | result | |||
) | [static] |
Definition at line 1653 of file xfrout.c.
References xfrout_fail().
Referenced by xfrout_ctx_create().
static void xfrout_log1 | ( | ns_client_t * | client, | |
dns_name_t * | zonename, | |||
dns_rdataclass_t | rdclass, | |||
int | level, | |||
const char * | fmt, | |||
... | ||||
) | [static] |
static void xfrout_log | ( | xfrout_ctx_t * | xfr, | |
int | level, | |||
const char * | fmt, | |||
... | ||||
) | [static] |
Definition at line 1700 of file xfrout.c.
References xfrout_ctx_t::client, xfrout_ctx_t::qclass, xfrout_ctx_t::qname, and xfrout_logv().
Referenced by sendstream(), xfrout_fail(), and xfrout_senddone().
static void static void void ns_xfr_start | ( | ns_client_t * | client, | |
dns_rdatatype_t | reqtype | |||
) |
Definition at line 727 of file xfrout.c.
References axfr_rrstream_create(), CHECK, compound_rrstream_create(), rrstream_methods::destroy, dns_db_closeversion(), dns_db_createsoatuple(), dns_db_currentversion(), dns_db_detach(), DNS_DIFFOP_EXISTS, dns_difftuple_free(), dns_dlzallowzonexfr(), DNS_LOGCATEGORY_SECURITY, DNS_LOGCATEGORY_XFER_OUT, dns_many_answers, dns_message_currentname(), dns_message_firstname(), dns_message_getquerytsig(), dns_message_gettsigkey(), dns_message_nextname(), dns_name_equal(), dns_name_format(), DNS_NAME_FORMATSIZE, dns_nsstatscounter_xfrrej, dns_peer_getprovideixfr(), dns_peer_gettransferformat(), dns_peerlist_peerbyaddr(), DNS_R_FORMERR, DNS_R_NOTAUTH, DNS_R_REFUSED, DNS_RDATA_INIT, dns_rdataclass_format(), DNS_RDATACLASS_FORMATSIZE, dns_rdataset_current(), dns_rdataset_first(), dns_rdataset_next(), DNS_SECTION_AUTHORITY, DNS_SECTION_QUESTION, DNS_SERIAL_GE, dns_soa_getserial(), dns_zone_detach(), dns_zone_dlz, dns_zone_getdb(), dns_zone_getexpiretime(), dns_zone_getidleout(), dns_zone_getjournal(), dns_zone_getmaxxfrout(), dns_zone_getraw(), dns_zone_gettype(), dns_zone_getxfracl(), dns_zone_master, dns_zone_slave, dns_zt_find(), FAILC, FAILQ, rrstream_methods::first, dns_message::id, inc_stats(), INSIST, ISC_FALSE, ISC_LIST_EMPTY, ISC_LIST_HEAD, ISC_LIST_NEXT, ISC_LOG_DEBUG, ISC_LOG_ERROR, ISC_LOG_INFO, ISC_LOG_WARNING, isc_log_write(), isc_netaddr_fromsockaddr(), isc_quota_attach(), isc_quota_detach(), ISC_R_NOMORE, ISC_R_NOPERM, ISC_R_NOTFOUND, ISC_R_RANGE, ISC_R_SUCCESS, isc_result_totext(), isc_time_seconds(), ISC_TRUE, ixfr_rrstream_create(), mctx, rrstream::methods, xfrout_ctx_t::mnemonic, dns_tsigkey::name, ns_client_aclmsg(), NS_CLIENT_ACLMSGSIZE, ns_client_checkacl(), ns_client_error(), ns_client_log(), NS_CLIENTATTR_HAVEEXPIRE, NS_CLIENTATTR_TCP, NS_CLIENTATTR_WANTEXPIRE, NS_LOGMODULE_XFER_OUT, dns_difftuple::rdata, dns_rdataset::rdclass, sendstream(), soa_rrstream_create(), xfrout_ctx_t::stream, xfrout_ctx_t::tsigkey, dns_rdataset::type, XFROUT_COMMON_LOGARGS, xfrout_ctx_create(), xfrout_fail(), xfrout_log1(), and zone.
Referenced by ns_query_start().
static void static void xfrout_logv | ( | ns_client_t * | client, | |
dns_name_t * | zonename, | |||
dns_rdataclass_t | rdclass, | |||
int | level, | |||
const char * | fmt, | |||
va_list | ap | |||
) | [static] |
Definition at line 1669 of file xfrout.c.
References DNS_LOGCATEGORY_XFER_OUT, dns_name_format(), DNS_NAME_FORMATSIZE, dns_rdataclass_format(), DNS_RDATACLASS_FORMATSIZE, namebuf, ns_client_log(), and NS_LOGMODULE_XFER_OUT.
Referenced by xfrout_log(), and xfrout_log1().
static rrstream_methods_t ixfr_rrstream_methods [static] |
Initial value:
static rrstream_methods_t axfr_rrstream_methods [static] |
Initial value:
static rrstream_methods_t soa_rrstream_methods [static] |
Initial value:
static rrstream_methods_t compound_rrstream_methods [static] |