nsupdate.c File Reference

#include <config.h>
#include <ctype.h>
#include <errno.h>
#include <limits.h>
#include <stdlib.h>
#include <unistd.h>
#include <isc/app.h>
#include <isc/base64.h>
#include <isc/buffer.h>
#include <isc/commandline.h>
#include <isc/entropy.h>
#include <isc/event.h>
#include <isc/file.h>
#include <isc/hash.h>
#include <isc/lex.h>
#include <isc/log.h>
#include <isc/mem.h>
#include <isc/parseint.h>
#include <isc/print.h>
#include <isc/random.h>
#include <isc/region.h>
#include <isc/sockaddr.h>
#include <isc/socket.h>
#include <isc/stdio.h>
#include <isc/string.h>
#include <isc/task.h>
#include <isc/timer.h>
#include <isc/types.h>
#include <isc/util.h>
#include <isccfg/namedconf.h>
#include <dns/callbacks.h>
#include <dns/dispatch.h>
#include <dns/dnssec.h>
#include <dns/events.h>
#include <dns/fixedname.h>
#include <dns/log.h>
#include <dns/masterdump.h>
#include <dns/message.h>
#include <dns/name.h>
#include <dns/rcode.h>
#include <dns/rdata.h>
#include <dns/rdataclass.h>
#include <dns/rdatalist.h>
#include <dns/rdataset.h>
#include <dns/rdatastruct.h>
#include <dns/rdatatype.h>
#include <dns/request.h>
#include <dns/result.h>
#include <dns/tkey.h>
#include <dns/tsig.h>
#include <dst/dst.h>
#include <lwres/lwres.h>
#include <lwres/net.h>
#include <bind9/getaddresses.h>

Go to the source code of this file.

Data Structures

struct  nsu_requestinfo
struct  entropysource

Defines

#define MAXCMD   (128 * 1024)
#define MAXWIRE   (64 * 1024)
#define PACKETSIZE   ((64 * 1024) - 1)
#define INITTEXT   (2 * 1024)
#define MAXTEXT   (128 * 1024)
#define FIND_TIMEOUT   5
#define TTL_MAX   2147483647U
#define DNSDEFAULTPORT   53
#define MAX_SERVERADDRS   4
#define RESOLV_CONF   "/etc/resolv.conf"
#define STATUS_MORE   (isc_uint16_t)0
#define STATUS_SEND   (isc_uint16_t)1
#define STATUS_QUIT   (isc_uint16_t)2
#define STATUS_SYNTAX   (isc_uint16_t)3
#define PARSE_ARGS_FMT   "dDML:y:ghlovk:p:Pr:R::t:Tu:V"

Typedefs

typedef struct nsu_requestinfo nsu_requestinfo_t
typedef struct entropysource entropysource_t

Functions

static void sendrequest (isc_sockaddr_t *destaddr, dns_message_t *msg, dns_request_t **request)
static void send_update (dns_name_t *zonename, isc_sockaddr_t *master)
static
ISC_PLATFORM_NORETURN_PRE void 
fatal (const char *format,...) ISC_FORMAT_PRINTF(1
static void debug (const char *format,...) ISC_FORMAT_PRINTF(1
static void static void ddebug (const char *format,...) ISC_FORMAT_PRINTF(1
static void static void static void error (const char *format,...) ISC_FORMAT_PRINTF(1
static ISC_LIST (entropysource_t)
static void cleanup_entropy (isc_entropy_t **ectx)
static void master_from_servers (void)
static dns_rdataclass_t getzoneclass (void)
static isc_boolean_t setzoneclass (dns_rdataclass_t rdclass)
static void check_result (isc_result_t result, const char *msg)
static void * mem_alloc (void *arg, size_t size)
static void mem_free (void *arg, void *mem, size_t size)
static char * nsu_strsep (char **stringp, const char *delim)
static void reset_system (void)
static isc_uint16_t parse_hmac (dns_name_t **hmac, const char *hmacstr, size_t len)
static int basenamelen (const char *file)
static void setup_keystr (void)
static isc_result_t read_sessionkey (isc_mem_t *mctx, isc_log_t *lctx)
static void setup_keyfile (isc_mem_t *mctx, isc_log_t *lctx)
static void doshutdown (void)
static void maybeshutdown (void)
static void shutdown_program (isc_task_t *task, isc_event_t *event)
static void setup_system (void)
static void get_addresses (char *host, in_port_t port, isc_sockaddr_t *sockaddr, int naddrs)
static void version (void)
static void pre_parse_args (int argc, char **argv)
static void parse_args (int argc, char **argv, isc_mem_t *mctx, isc_entropy_t **ectx)
static isc_uint16_t parse_name (char **cmdlinep, dns_message_t *msg, dns_name_t **namep)
static isc_uint16_t parse_rdata (char **cmdlinep, dns_rdataclass_t rdataclass, dns_rdatatype_t rdatatype, dns_message_t *msg, dns_rdata_t *rdata)
static isc_uint16_t make_prereq (char *cmdline, isc_boolean_t ispositive, isc_boolean_t isrrset)
static isc_uint16_t evaluate_prereq (char *cmdline)
static isc_uint16_t evaluate_server (char *cmdline)
static isc_uint16_t evaluate_local (char *cmdline)
static isc_uint16_t evaluate_key (char *cmdline)
static isc_uint16_t evaluate_zone (char *cmdline)
static isc_uint16_t evaluate_realm (char *cmdline)
static isc_uint16_t evaluate_ttl (char *cmdline)
static isc_uint16_t evaluate_class (char *cmdline)
static isc_uint16_t update_addordelete (char *cmdline, isc_boolean_t isdelete)
static isc_uint16_t evaluate_update (char *cmdline)
static isc_uint16_t evaluate_checknames (char *cmdline)
static void setzone (dns_name_t *zonename)
static void show_message (FILE *stream, dns_message_t *msg, const char *description)
static isc_uint16_t do_next_command (char *cmdline)
static isc_uint16_t get_next_command (void)
static isc_boolean_t user_interaction (void)
static void done_update (void)
static void check_tsig_error (dns_rdataset_t *rdataset, isc_buffer_t *b)
static isc_boolean_t next_master (const char *caller, isc_sockaddr_t *addr, isc_result_t eresult)
static void update_completed (isc_task_t *task, isc_event_t *event)
static void next_server (const char *caller, isc_sockaddr_t *addr, isc_result_t eresult)
static void recvsoa (isc_task_t *task, isc_event_t *event)
static void start_update (void)
static void cleanup (void)
static void getinput (isc_task_t *task, isc_event_t *event)
int main (int argc, char **argv)

Variables

int h_errno
static isc_uint16_t dnsport = DNSDEFAULTPORT
static isc_boolean_t debugging = ISC_FALSE
static isc_boolean_t ddebugging = ISC_FALSE
static isc_boolean_t memdebugging = ISC_FALSE
static isc_boolean_t have_ipv4 = ISC_FALSE
static isc_boolean_t have_ipv6 = ISC_FALSE
static isc_boolean_t is_dst_up = ISC_FALSE
static isc_boolean_t usevc = ISC_FALSE
static isc_boolean_t usegsstsig = ISC_FALSE
static isc_boolean_t use_win2k_gsstsig = ISC_FALSE
static isc_boolean_t tried_other_gsstsig = ISC_FALSE
static isc_boolean_t local_only = ISC_FALSE
static isc_taskmgr_ttaskmgr = NULL
static isc_task_tglobal_task = NULL
static isc_event_tglobal_event = NULL
static isc_log_tglctx = NULL
static isc_mem_tgmctx = NULL
static dns_dispatchmgr_tdispatchmgr = NULL
static dns_requestmgr_trequestmgr = NULL
static isc_socketmgr_tsocketmgr = NULL
static isc_timermgr_ttimermgr = NULL
static dns_dispatch_tdispatchv4 = NULL
static dns_dispatch_tdispatchv6 = NULL
static dns_message_tupdatemsg = NULL
static dns_fixedname_t fuserzone
static dns_name_tuserzone = NULL
static dns_name_tzname = NULL
static dns_name_t tmpzonename
static dns_name_t restart_master
static dns_tsig_keyring_tgssring = NULL
static dns_tsigkey_ttsigkey = NULL
static dst_key_tsig0key = NULL
static lwres_context_t * lwctx = NULL
static lwres_conf_t * lwconf
static isc_sockaddr_tservers = NULL
static isc_sockaddr_tmaster_servers = NULL
static isc_boolean_t default_servers = ISC_TRUE
static int ns_inuse = 0
static int master_inuse = 0
static int ns_total = 0
static int master_total = 0
static isc_sockaddr_tlocaladdr4 = NULL
static isc_sockaddr_tlocaladdr6 = NULL
static const char * keyfile = NULL
static char * keystr = NULL
static isc_entropy_tentropy = NULL
static isc_boolean_t shuttingdown = ISC_FALSE
static FILE * input
static isc_boolean_t interactive = ISC_TRUE
static isc_boolean_t seenerror = ISC_FALSE
static const dns_master_style_tstyle
static int requests = 0
static unsigned int logdebuglevel = 0
static unsigned int timeout = 300
static unsigned int udp_timeout = 3
static unsigned int udp_retries = 3
static dns_rdataclass_t defaultclass = dns_rdataclass_in
static dns_rdataclass_t zoneclass = dns_rdataclass_none
static dns_message_tanswer = NULL
static isc_uint32_t default_ttl = 0
static isc_boolean_t default_ttl_set = ISC_FALSE
static isc_boolean_t checknames = ISC_TRUE
static
ISC_PLATFORM_NORETURN_PRE void 
ISC_PLATFORM_NORETURN_POST


Detailed Description

Definition in file nsupdate.c.


Define Documentation

#define MAXCMD   (128 * 1024)

Definition at line 109 of file nsupdate.c.

Referenced by get_next_command().

#define MAXWIRE   (64 * 1024)

Definition at line 110 of file nsupdate.c.

Referenced by parse_rdata().

#define PACKETSIZE   ((64 * 1024) - 1)

Definition at line 111 of file nsupdate.c.

Referenced by setup_system().

#define INITTEXT   (2 * 1024)

Definition at line 112 of file nsupdate.c.

Referenced by show_message().

#define MAXTEXT   (128 * 1024)

Definition at line 113 of file nsupdate.c.

Referenced by show_message().

#define FIND_TIMEOUT   5

Definition at line 114 of file nsupdate.c.

Referenced by recvsoa(), and sendrequest().

#define TTL_MAX   2147483647U

Definition at line 115 of file nsupdate.c.

Referenced by evaluate_ttl(), and update_addordelete().

#define DNSDEFAULTPORT   53

Definition at line 117 of file nsupdate.c.

#define MAX_SERVERADDRS   4

Definition at line 120 of file nsupdate.c.

Referenced by evaluate_server(), and recvsoa().

#define RESOLV_CONF   "/etc/resolv.conf"

Definition at line 125 of file nsupdate.c.

#define STATUS_MORE   (isc_uint16_t)0

Definition at line 234 of file nsupdate.c.

Referenced by do_next_command(), evaluate_checknames(), evaluate_class(), evaluate_key(), evaluate_local(), evaluate_realm(), evaluate_server(), evaluate_ttl(), evaluate_zone(), make_prereq(), parse_name(), parse_rdata(), update_addordelete(), and user_interaction().

#define STATUS_SEND   (isc_uint16_t)1

Definition at line 235 of file nsupdate.c.

Referenced by do_next_command(), and user_interaction().

#define STATUS_QUIT   (isc_uint16_t)2

Definition at line 236 of file nsupdate.c.

Referenced by do_next_command(), and get_next_command().

#define STATUS_SYNTAX   (isc_uint16_t)3

Definition at line 237 of file nsupdate.c.

Referenced by do_next_command(), evaluate_checknames(), evaluate_class(), evaluate_key(), evaluate_local(), evaluate_prereq(), evaluate_realm(), evaluate_server(), evaluate_ttl(), evaluate_update(), evaluate_zone(), make_prereq(), parse_name(), parse_rdata(), update_addordelete(), and user_interaction().

#define PARSE_ARGS_FMT   "dDML:y:ghlovk:p:Pr:R::t:Tu:V"

Definition at line 998 of file nsupdate.c.

Referenced by parse_args(), and pre_parse_args().


Typedef Documentation

typedef struct nsu_requestinfo nsu_requestinfo_t

typedef struct entropysource entropysource_t

Definition at line 239 of file nsupdate.c.


Function Documentation

static void sendrequest ( isc_sockaddr_t destaddr,
dns_message_t msg,
dns_request_t **  request 
) [static]

Definition at line 2665 of file nsupdate.c.

References nsu_requestinfo::addr, AF_INET6, check_result(), default_servers, dns_request_createvia3(), fatal(), FIND_TIMEOUT, isc_mem_get, isc_sockaddr_pf(), nsu_requestinfo::msg, recvsoa(), requestmgr, and requests.

Referenced by recvsoa(), and start_update().

static void send_update ( dns_name_t zonename,
isc_sockaddr_t master 
) [static]

Definition at line 2347 of file nsupdate.c.

References AF_INET6, dns_name::attributes, check_result(), ddebug(), debugging, dns_message_setsig0key(), DNS_NAMEATTR_NOCOMPRESS, dns_request_createvia3(), DNS_REQUESTOPT_CASE, DNS_REQUESTOPT_TCP, isc_sockaddr_format(), ISC_SOCKADDR_FORMATSIZE, isc_sockaddr_pf(), requestmgr, requests, setzone(), show_message(), sig0key, timeout, dns_message::tsigname, udp_retries, udp_timeout, update_completed(), and usevc.

static ISC_PLATFORM_NORETURN_PRE void fatal ( const char *  format,
  ... 
) [static]

static void debug ( const char *  format,
  ... 
) [static]

static void ddebug ( const char *  format,
  ... 
) [static]

Definition at line 362 of file nsupdate.c.

References ddebugging.

Referenced by cleanup(), do_next_command(), done_update(), doshutdown(), evaluate_checknames(), evaluate_prereq(), evaluate_update(), make_prereq(), maybeshutdown(), next_master(), next_server(), recvsoa(), reset_system(), send_update(), setup_system(), show_message(), shutdown_program(), start_update(), update_addordelete(), update_completed(), and user_interaction().

static void error ( const char *  format,
  ... 
) [static]

Definition at line 340 of file nsupdate.c.

Referenced by commit(), dump_counters(), isc_regex_validate(), mkdirpath(), opcodestat_dump(), printtime(), rdatasetstats_dump(), rdtypestat_dump(), recvsoa(), setup_master(), and test_master().

static ISC_LIST ( entropysource_t   )  [static]

Definition at line 247 of file nsupdate.c.

References fatal(), isc_entropy_create(), ISC_ENTROPY_KEYBOARDMAYBE, ISC_ENTROPY_KEYBOARDYES, isc_entropy_usebestsource(), ISC_LINK_INIT, ISC_LIST_APPEND, ISC_LIST_INIT, isc_mem_get, ISC_R_SUCCESS, isc_result_totext(), entropysource::mctx, REQUIRE, and entropysource::source.

static void cleanup_entropy ( isc_entropy_t **  ectx  )  [static]

Definition at line 289 of file nsupdate.c.

References isc_entropy_destroysource(), isc_entropy_detach(), ISC_LIST_EMPTY, ISC_LIST_HEAD, ISC_LIST_UNLINK, isc_mem_put, entropysource::mctx, entropysource::source, and sources.

static void master_from_servers ( void   )  [static]

Definition at line 301 of file nsupdate.c.

References isc_mem_put, master_inuse, master_total, ns_inuse, and ns_total.

Referenced by recvsoa(), and start_update().

static dns_rdataclass_t getzoneclass ( void   )  [static]

Definition at line 312 of file nsupdate.c.

References defaultclass, and zoneclass.

Referenced by make_prereq(), setzone(), start_update(), and update_addordelete().

static isc_boolean_t setzoneclass ( dns_rdataclass_t  rdclass  )  [static]

Definition at line 319 of file nsupdate.c.

References ISC_FALSE, ISC_TRUE, and zoneclass.

Referenced by make_prereq(), recvsoa(), start_update(), and update_addordelete().

static void check_result ( isc_result_t  result,
const char *  msg 
) [inline, static]

Definition at line 374 of file nsupdate.c.

References fatal(), ISC_R_SUCCESS, and isc_result_totext().

static void* mem_alloc ( void *  arg,
size_t  size 
) [static]

Definition at line 380 of file nsupdate.c.

References isc_mem_get.

static void mem_free ( void *  arg,
void *  mem,
size_t  size 
) [static]

Definition at line 385 of file nsupdate.c.

References isc_mem_put.

static char* nsu_strsep ( char **  stringp,
const char *  delim 
) [static]

Definition at line 390 of file nsupdate.c.

References s.

Referenced by do_next_command(), evaluate_checknames(), evaluate_class(), evaluate_key(), evaluate_local(), evaluate_prereq(), evaluate_realm(), evaluate_server(), evaluate_ttl(), evaluate_update(), evaluate_zone(), get_next_command(), make_prereq(), parse_name(), and update_addordelete().

static void reset_system ( void   )  [static]

Definition at line 424 of file nsupdate.c.

References check_result(), ddebug(), dns_message_create(), DNS_MESSAGE_INTENTRENDER, dns_message_reset(), dns_opcode_update, dns_tsigkey_detach(), dns_tsigkeyring_detach(), ISC_FALSE, dns_message::opcode, tried_other_gsstsig, and usegsstsig.

Referenced by getinput().

static isc_uint16_t parse_hmac ( dns_name_t **  hmac,
const char *  hmacstr,
size_t  len 
) [static]

Definition at line 447 of file nsupdate.c.

References digestbits, DNS_TSIG_HMACMD5_NAME, DNS_TSIG_HMACSHA1_NAME, DNS_TSIG_HMACSHA224_NAME, DNS_TSIG_HMACSHA256_NAME, DNS_TSIG_HMACSHA384_NAME, DNS_TSIG_HMACSHA512_NAME, fatal(), isc_parse_uint16(), ISC_R_SUCCESS, and REQUIRE.

static int basenamelen ( const char *  file  )  [static]

Definition at line 515 of file nsupdate.c.

Referenced by greatest_version(), and setup_keyfile().

static void setup_keystr ( void   )  [static]

Definition at line 528 of file nsupdate.c.

References check_result(), debug, digestbits, dns_fixedname_init, dns_fixedname_name, dns_name_fromtext(), dns_result_totext(), dns_rootname, DNS_TSIG_HMACMD5_NAME, dns_tsigkey_create(), dst_key_setbits(), fatal(), hmacname, isc_base64_decodestring(), isc_buffer_add, isc_buffer_init, isc_buffer_usedlength, ISC_FALSE, isc_mem_allocate, isc_mem_free, ISC_R_SUCCESS, isc_result_totext(), dns_tsigkey::key, keystr, name, parse_hmac(), s, and secret.

Referenced by read_sessionkey(), and setup_system().

static isc_result_t read_sessionkey ( isc_mem_t mctx,
isc_log_t lctx 
) [static]

Definition at line 605 of file nsupdate.c.

References algorithm, cfg_map_get(), cfg_map_getname(), cfg_obj_asstring(), cfg_obj_destroy(), cfg_parse_file(), cfg_parser_create(), cfg_parser_destroy(), cfg_type_sessionkey, cleanup(), fatal(), isc_file_exists(), isc_mem_allocate, isc_mem_free, ISC_R_FILENOTFOUND, ISC_R_SUCCESS, key, keyfile, keystr, and setup_keystr().

Referenced by setup_keyfile(), and setup_system().

static void setup_keyfile ( isc_mem_t mctx,
isc_log_t lctx 
) [static]

Definition at line 661 of file nsupdate.c.

References basenamelen(), debug, DNS_TSIG_HMACMD5_NAME, DNS_TSIG_HMACSHA1_NAME, DNS_TSIG_HMACSHA224_NAME, DNS_TSIG_HMACSHA256_NAME, DNS_TSIG_HMACSHA384_NAME, DNS_TSIG_HMACSHA512_NAME, dns_tsigkey_createfromkey(), DST_ALG_HMACMD5, DST_ALG_HMACSHA1, DST_ALG_HMACSHA224, DST_ALG_HMACSHA256, DST_ALG_HMACSHA384, DST_ALG_HMACSHA512, dst_key_alg(), dst_key_attach(), dst_key_free(), dst_key_fromnamedfile(), dst_key_name(), DST_TYPE_KEY, DST_TYPE_PRIVATE, hmacname, ISC_FALSE, ISC_R_SUCCESS, isc_result_totext(), keyfile, read_sessionkey(), and sig0key.

Referenced by setup_system().

static void doshutdown ( void   )  [static]

Definition at line 728 of file nsupdate.c.

References cleanup_entropy(), ddebug(), dns_dispatch_detach(), dns_dispatchmgr_destroy(), dns_message_destroy(), dns_requestmgr_detach(), dns_tsigkey_detach(), dst_key_free(), dst_lib_destroy(), have_ipv4, have_ipv6, is_dst_up, ISC_FALSE, isc_mem_put, isc_task_detach(), lwctx, master_total, ns_total, requestmgr, and sig0key.

Referenced by maybeshutdown().

static void maybeshutdown ( void   )  [static]

Definition at line 788 of file nsupdate.c.

References ddebug(), dns_requestmgr_shutdown(), doshutdown(), requestmgr, and requests.

Referenced by getinput(), recvsoa(), shutdown_program(), and update_completed().

static void shutdown_program ( isc_task_t task,
isc_event_t event 
) [static]

Definition at line 799 of file nsupdate.c.

References ddebug(), isc_event_free(), ISC_TRUE, maybeshutdown(), REQUIRE, shuttingdown, and UNUSED.

Referenced by setup_system().

static void setup_system ( void   )  [static]

Definition at line 811 of file nsupdate.c.

References bind_any, check_result(), ddebug(), default_servers, dns_dispatch_getudp(), DNS_DISPATCHATTR_IPV4, DNS_DISPATCHATTR_IPV6, DNS_DISPATCHATTR_MAKEQUERY, DNS_DISPATCHATTR_TCP, DNS_DISPATCHATTR_UDP, dns_dispatchmgr_create(), dns_log_init(), dns_log_setcontext(), DNS_NAME_MAXWIRE, dns_requestmgr_create(), dns_result_register(), dnsport, dst_lib_init(), fatal(), have_ipv4, have_ipv6, INADDR_LOOPBACK, is_dst_up, isc_hash_create(), isc_hash_init(), isc_log_create(), isc_log_setcontext(), isc_log_setdebuglevel(), isc_log_usechannel(), isc_mem_get, isc_mem_put, isc_net_probeipv4(), isc_net_probeipv6(), ISC_R_SUCCESS, isc_result_totext(), isc_sockaddr_any(), isc_sockaddr_any6(), isc_sockaddr_fromin(), isc_sockaddr_fromin6(), isc_socketmgr_create(), isc_task_create(), isc_task_onshutdown(), isc_taskmgr_create(), isc_timermgr_create(), ISC_TRUE, keyfile, keystr, local_only, logdebuglevel, lwconf, lwctx, mem_alloc(), mem_free(), ns_inuse, ns_total, PACKETSIZE, read_sessionkey(), requestmgr, RESOLV_CONF, setup_entropy(), setup_keyfile(), setup_keystr(), and shutdown_program().

static void get_addresses ( char *  host,
in_port_t  port,
isc_sockaddr_t sockaddr,
int  naddrs 
) [static]

Definition at line 979 of file nsupdate.c.

References bind9_getaddresses(), fatal(), isc_app_block(), isc_app_unblock(), ISC_R_SUCCESS, and isc_result_totext().

Referenced by evaluate_server(), main(), parse_config(), and recvsoa().

static void version ( void   )  [static]

Definition at line 994 of file nsupdate.c.

References VERSION.

static void pre_parse_args ( int  argc,
char **  argv 
) [static]

Definition at line 1001 of file nsupdate.c.

References ddebugging, debugging, dns_rdatatype_format(), dns_rdatatype_ismeta(), isc_commandline_index, isc_commandline_option, isc_commandline_parse(), isc_commandline_reset, ISC_FALSE, isc_mem_debugging, ISC_MEM_DEBUGRECORD, ISC_MEM_DEBUGTRACE, ISC_TRUE, memdebugging, PARSE_ARGS_FMT, and version.

static void parse_args ( int  argc,
char **  argv,
isc_mem_t mctx,
isc_entropy_t **  ectx 
) [static]

Definition at line 1065 of file nsupdate.c.

References ddebugging, debug, debugging, dnsport, input, interactive, isc_commandline_argument, isc_commandline_index, isc_commandline_option, isc_commandline_parse(), ISC_FALSE, isc_parse_uint16(), isc_parse_uint32(), ISC_R_SUCCESS, isc_result_totext(), isc_stdio_open(), ISC_TRUE, keyfile, keystr, local_only, logdebuglevel, PARSE_ARGS_FMT, setup_entropy(), timeout, udp_retries, udp_timeout, use_win2k_gsstsig, usegsstsig, and usevc.

static isc_uint16_t parse_name ( char **  cmdlinep,
dns_message_t msg,
dns_name_t **  namep 
) [static]

Definition at line 1199 of file nsupdate.c.

References check_result(), dns_message_gettempname(), dns_message_takebuffer(), dns_name_fromtext(), dns_name_init(), DNS_NAME_MAXWIRE, dns_name_setbuffer(), dns_rootname, isc_buffer_add, isc_buffer_allocate(), isc_buffer_init, isc_buffer_invalidate, namebuf, nsu_strsep(), entropysource::source, STATUS_MORE, STATUS_SYNTAX, and word.

Referenced by make_prereq(), and update_addordelete().

static isc_uint16_t parse_rdata ( char **  cmdlinep,
dns_rdataclass_t  rdataclass,
dns_rdatatype_t  rdatatype,
dns_message_t msg,
dns_rdata_t rdata 
) [static]

Definition at line 1227 of file nsupdate.c.

References isc_region::base, callbacks, check_result(), dns_message_takebuffer(), dns_rdata_fromregion(), dns_rdata_fromtext(), DNS_RDATA_UPDATE, dns_rdatacallbacks_init(), dns_rootname, dns_rdata::flags, isc_buffer_add, isc_buffer_allocate(), isc_buffer_free(), isc_buffer_init, isc_buffer_putmem, isc_buffer_usedregion, isc_lex_create(), isc_lex_destroy(), isc_lex_openbuffer(), ISC_R_SUCCESS, isc_result_totext(), isc_region::length, MAXWIRE, r, entropysource::source, STATUS_MORE, and STATUS_SYNTAX.

Referenced by make_prereq(), and update_addordelete().

static isc_uint16_t make_prereq ( char *  cmdline,
isc_boolean_t  ispositive,
isc_boolean_t  isrrset 
) [static]

Definition at line 1283 of file nsupdate.c.

References isc_textregion::base, check_result(), dns_rdata::data, ddebug(), dns_message_addname(), dns_message_gettemprdata(), dns_message_gettemprdatalist(), dns_message_gettemprdataset(), dns_message_puttempname(), dns_rdata_init(), DNS_RDATA_UPDATE, dns_rdataclass_fromtext(), dns_rdatalist_tordataset(), dns_rdataset_init(), dns_rdatatype_fromtext(), DNS_SECTION_PREREQUISITE, dns_rdata::flags, getzoneclass(), ISC_LIST_APPEND, ISC_LIST_INIT, ISC_R_SUCCESS, isc_textregion::length, name, nsu_strsep(), parse_name(), parse_rdata(), dns_rdata::rdclass, dns_rdatalist::rdclass, setzoneclass(), STATUS_MORE, STATUS_SYNTAX, dns_rdata::type, dns_rdatalist::type, and word.

Referenced by do_next_command(), and evaluate_prereq().

static isc_uint16_t evaluate_prereq ( char *  cmdline  )  [static]

Definition at line 1389 of file nsupdate.c.

References ddebug(), ISC_FALSE, ISC_TRUE, make_prereq(), nsu_strsep(), STATUS_SYNTAX, and word.

Referenced by do_next_command().

static isc_uint16_t evaluate_server ( char *  cmdline  )  [static]

Definition at line 1419 of file nsupdate.c.

References default_servers, dnsport, fatal(), get_addresses(), ISC_FALSE, isc_mem_get, isc_mem_put, local_only, MAX_SERVERADDRS, ns_inuse, ns_total, nsu_strsep(), port, STATUS_MORE, STATUS_SYNTAX, and word.

Referenced by do_next_command().

static isc_uint16_t evaluate_local ( char *  cmdline  )  [static]

Definition at line 1472 of file nsupdate.c.

References AF_INET6, fatal(), have_ipv4, have_ipv6, isc_mem_get, isc_sockaddr_fromin(), isc_sockaddr_fromin6(), nsu_strsep(), port, STATUS_MORE, STATUS_SYNTAX, and word.

Referenced by do_next_command().

static isc_uint16_t evaluate_key ( char *  cmdline  )  [static]

Definition at line 1522 of file nsupdate.c.

References digestbits, dns_fixedname_init, dns_fixedname_name, dns_name_fromtext(), dns_result_totext(), dns_rootname, DNS_TSIG_HMACMD5_NAME, dns_tsigkey_create(), dns_tsigkey_detach(), dst_key_setbits(), fatal(), hmacname, isc_base64_decodestring(), isc_buffer_add, isc_buffer_init, isc_buffer_usedlength, ISC_FALSE, isc_mem_allocate, isc_mem_free, ISC_R_SUCCESS, isc_result_totext(), dns_tsigkey::key, nsu_strsep(), parse_hmac(), secret, STATUS_MORE, and STATUS_SYNTAX.

Referenced by do_next_command().

static isc_uint16_t evaluate_zone ( char *  cmdline  )  [static]

Definition at line 1596 of file nsupdate.c.

References dns_fixedname_init, dns_fixedname_name, dns_name_fromtext(), dns_rootname, isc_buffer_add, isc_buffer_init, ISC_R_SUCCESS, nsu_strsep(), STATUS_MORE, STATUS_SYNTAX, and word.

Referenced by do_next_command().

static isc_uint16_t evaluate_realm ( char *  cmdline  )  [static]

Definition at line 1622 of file nsupdate.c.

References fatal(), isc_mem_free, isc_mem_strdup, nsu_strsep(), STATUS_MORE, STATUS_SYNTAX, UNUSED, and word.

Referenced by do_next_command().

static isc_uint16_t evaluate_ttl ( char *  cmdline  )  [static]

Definition at line 1651 of file nsupdate.c.

References default_ttl, default_ttl_set, ISC_FALSE, isc_parse_uint32(), ISC_R_SUCCESS, ISC_TRUE, nsu_strsep(), STATUS_MORE, STATUS_SYNTAX, ttl, TTL_MAX, and word.

Referenced by do_next_command().

static isc_uint16_t evaluate_class ( char *  cmdline  )  [static]

Definition at line 1684 of file nsupdate.c.

References isc_textregion::base, defaultclass, dns_rdataclass_fromtext(), ISC_R_SUCCESS, isc_textregion::length, nsu_strsep(), r, rdclass, STATUS_MORE, STATUS_SYNTAX, and word.

Referenced by do_next_command().

static isc_uint16_t update_addordelete ( char *  cmdline,
isc_boolean_t  isdelete 
) [static]

Definition at line 1717 of file nsupdate.c.

References isc_textregion::base, check_result(), checknames, dns_rdatalist::covers, ddebug(), default_ttl, default_ttl_set, dns_fixedname_init, dns_fixedname_name, dns_message_addname(), dns_message_gettemprdata(), dns_message_gettemprdatalist(), dns_message_gettemprdataset(), dns_message_puttempname(), dns_message_puttemprdata(), dns_name_format(), DNS_NAME_FORMATSIZE, dns_rdata_checknames(), dns_rdata_checkowner(), dns_rdata_init(), DNS_RDATA_UPDATE, dns_rdataclass_fromtext(), dns_rdatalist_tordataset(), dns_rdataset_init(), dns_rdatatype_fromtext(), DNS_SECTION_UPDATE, fixed, dns_rdata::flags, getzoneclass(), ISC_LIST_APPEND, ISC_LIST_INIT, isc_parse_uint32(), ISC_R_SUCCESS, isc_result_totext(), ISC_TRUE, isc_textregion::length, name, namebuf, nsu_strsep(), parse_name(), parse_rdata(), dns_rdatalist::rdclass, dns_rdata::rdclass, setzoneclass(), STATUS_MORE, STATUS_SYNTAX, dns_rdatalist::ttl, ttl, TTL_MAX, dns_rdatalist::type, dns_rdata::type, and word.

Referenced by do_next_command(), and evaluate_update().

static isc_uint16_t evaluate_update ( char *  cmdline  )  [static]

Definition at line 1913 of file nsupdate.c.

References ddebug(), ISC_FALSE, ISC_TRUE, nsu_strsep(), STATUS_SYNTAX, update_addordelete(), and word.

Referenced by do_next_command().

static isc_uint16_t evaluate_checknames ( char *  cmdline  )  [static]

Definition at line 1937 of file nsupdate.c.

References checknames, ddebug(), ISC_FALSE, ISC_TRUE, nsu_strsep(), STATUS_MORE, STATUS_SYNTAX, and word.

Referenced by do_next_command().

static void setzone ( dns_name_t zonename  )  [static]

Definition at line 1962 of file nsupdate.c.

References check_result(), dns_message_addname(), dns_message_currentname(), dns_message_firstname(), dns_message_gettempname(), dns_message_gettemprdataset(), dns_message_puttempname(), dns_message_puttemprdataset(), dns_message_removename(), dns_name_clone(), dns_name_init(), dns_rdataset_disassociate(), dns_rdataset_makequestion(), DNS_SECTION_ZONE, getzoneclass(), ISC_LIST_APPEND, ISC_LIST_HEAD, ISC_LIST_INIT, ISC_LIST_UNLINK, ISC_R_SUCCESS, and name.

Referenced by send_update(), and show_message().

static void show_message ( FILE *  stream,
dns_message_t msg,
const char *  description 
) [static]

Definition at line 1997 of file nsupdate.c.

References check_result(), ddebug(), dns_message_totext(), INITTEXT, isc_buffer_allocate(), isc_buffer_base, isc_buffer_free(), isc_buffer_usedlength, ISC_R_NOSPACE, ISC_R_SUCCESS, MAXTEXT, and setzone().

Referenced by do_next_command(), recvsoa(), send_update(), and update_completed().

static isc_uint16_t do_next_command ( char *  cmdline  )  [static]

Definition at line 2031 of file nsupdate.c.

References ddebug(), ddebugging, debugging, evaluate_checknames(), evaluate_class(), evaluate_key(), evaluate_local(), evaluate_prereq(), evaluate_realm(), evaluate_server(), evaluate_ttl(), evaluate_update(), evaluate_zone(), ISC_FALSE, ISC_TRUE, make_prereq(), nsu_strsep(), show_message(), STATUS_MORE, STATUS_QUIT, STATUS_SEND, STATUS_SYNTAX, update_addordelete(), use_win2k_gsstsig, usegsstsig, VERSION, and word.

static isc_uint16_t get_next_command ( void   )  [static]

Definition at line 2149 of file nsupdate.c.

References do_next_command(), free(), input, interactive, isc_app_block(), isc_app_unblock(), MAXCMD, nsu_strsep(), and STATUS_QUIT.

static isc_boolean_t user_interaction ( void   )  [static]

Definition at line 2187 of file nsupdate.c.

References ddebug(), fatal(), get_next_command(), interactive, ISC_FALSE, ISC_TRUE, STATUS_MORE, STATUS_SEND, and STATUS_SYNTAX.

Referenced by getinput().

static void done_update ( void   )  [static]

Definition at line 2203 of file nsupdate.c.

References ddebug(), and isc_task_send().

Referenced by recvsoa(), start_update(), and update_completed().

static void check_tsig_error ( dns_rdataset_t rdataset,
isc_buffer_t b 
) [static]

Definition at line 2210 of file nsupdate.c.

References check_result(), DNS_RDATA_INIT, dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_first(), dns_tsigrcode_totext(), isc_buffer_putstr, isc_buffer_remaininglength, and ISC_R_NOSPACE.

Referenced by update_completed().

static isc_boolean_t next_master ( const char *  caller,
isc_sockaddr_t addr,
isc_result_t  eresult 
) [static]

Definition at line 2233 of file nsupdate.c.

References ddebug(), ISC_FALSE, isc_result_totext(), isc_sockaddr_format(), ISC_SOCKADDR_FORMATSIZE, ISC_TRUE, master_inuse, and master_total.

Referenced by forward_callback(), refresh_callback(), stub_callback(), update_completed(), and zone_xfrdone().

static void update_completed ( isc_task_t task,
isc_event_t event 
) [static]

Definition at line 2246 of file nsupdate.c.

References check_result(), check_tsig_error(), ddebug(), debugging, DNS_EVENT_REQUESTDONE, dns_message_create(), dns_message_gettsig(), DNS_MESSAGE_INTENTPARSE, dns_message_renderreset(), dns_message_settsigkey(), DNS_MESSAGEPARSE_PRESERVEORDER, dns_name_free(), DNS_R_CLOCKSKEW, DNS_R_EXPECTEDTSIG, DNS_R_TSIGERRORSET, DNS_R_TSIGVERIFYFAILURE, DNS_R_UNEXPECTEDTSIG, dns_rcode_noerror, dns_rcode_totext(), dns_request_destroy(), dns_request_getresponse(), done_update(), isc_buffer_init, isc_buffer_usedlength, isc_event_free(), ISC_R_FAILURE, ISC_R_SUCCESS, isc_result_totext(), ISC_TRUE, master_inuse, maybeshutdown(), next_master(), dns_message::rcode, dns_requestevent::request, requests, REQUIRE, dns_requestevent::result, seenerror, send_update(), show_message(), shuttingdown, UNUSED, usegsstsig, and dns_message::verify_attempted.

Referenced by send_update().

static void next_server ( const char *  caller,
isc_sockaddr_t addr,
isc_result_t  eresult 
) [static]

Definition at line 2392 of file nsupdate.c.

References ddebug(), fatal(), isc_result_totext(), isc_sockaddr_format(), ISC_SOCKADDR_FORMATSIZE, ns_inuse, and ns_total.

Referenced by recvsoa().

static void recvsoa ( isc_task_t task,
isc_event_t event 
) [static]

Definition at line 2405 of file nsupdate.c.

References nsu_requestinfo::addr, AF_INET6, check_result(), ddebug(), debugging, default_servers, DNS_EVENT_REQUESTDONE, dns_message_create(), dns_message_currentname(), dns_message_destroy(), dns_message_findtype(), dns_message_firstname(), DNS_MESSAGE_INTENTPARSE, dns_message_nextname(), dns_message_renderreset(), dns_message_settsigkey(), DNS_MESSAGEPARSE_PRESERVEORDER, dns_name_clone(), dns_name_countlabels(), dns_name_dup(), dns_name_format(), DNS_NAME_FORMATSIZE, dns_name_getlabelsequence(), dns_name_init(), DNS_NAME_MAXTEXT, dns_name_totext(), DNS_R_TSIGERRORSET, dns_rcode_noerror, dns_rcode_nxdomain, dns_rdata_freestruct(), dns_rdata_init(), DNS_RDATA_INIT, dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_first(), dns_request_createvia3(), dns_request_destroy(), dns_request_getresponse(), DNS_SECTION_ANSWER, DNS_SECTION_AUTHORITY, DNS_SECTION_QUESTION, dnsport, done_update(), error(), fatal(), FIND_TIMEOUT, get_addresses(), INSIST, isc_buffer_init, isc_buffer_usedlength, isc_event_free(), ISC_FALSE, isc_mem_get, isc_mem_put, ISC_R_SUCCESS, isc_sockaddr_pf(), ISC_TRUE, master, master_from_servers(), master_inuse, master_total, MAX_SERVERADDRS, maybeshutdown(), nsu_requestinfo::msg, name, namebuf, next_server(), ns_inuse, POST, dns_message::rcode, dns_requestevent::request, requestmgr, requests, REQUIRE, dns_requestevent::result, seenerror, send_update(), sendrequest(), setzoneclass(), show_message(), shuttingdown, UNUSED, and usegsstsig.

Referenced by sendrequest().

static void start_update ( void   )  [static]

Definition at line 3023 of file nsupdate.c.

References check_result(), ddebug(), default_servers, dns_message_addname(), dns_message_create(), dns_message_currentname(), dns_message_destroy(), dns_message_firstname(), dns_message_gettempname(), dns_message_gettemprdataset(), DNS_MESSAGE_INTENTRENDER, dns_message_puttempname(), dns_message_puttemprdataset(), DNS_MESSAGEFLAG_RD, dns_name_clone(), dns_name_countlabels(), dns_name_equal(), dns_name_getlabelsequence(), dns_name_init(), dns_rdataset_disassociate(), dns_rdataset_makequestion(), dns_rootname, DNS_SECTION_PREREQUISITE, DNS_SECTION_QUESTION, DNS_SECTION_UPDATE, done_update(), dns_message::flags, getzoneclass(), ISC_LIST_APPEND, ISC_LIST_HEAD, ISC_LIST_INIT, ISC_R_NOMORE, ISC_R_SUCCESS, master_from_servers(), master_inuse, send_update(), sendrequest(), setzoneclass(), dns_rdataset::type, and usegsstsig.

Referenced by getinput().

static void cleanup ( void   )  [static]

Definition at line 3110 of file nsupdate.c.

References ddebug(), dns_message_destroy(), dns_name_destroy(), dns_tsigkey_detach(), dns_tsigkeyring_detach(), dst_key_free(), isc_event_free(), isc_hash_destroy(), isc_log_destroy(), isc_mem_destroy(), isc_mem_free, isc_mem_put, isc_mem_stats(), isc_socketmgr_destroy(), isc_taskmgr_destroy(), isc_timermgr_destroy(), memdebugging, and sig0key.

static void getinput ( isc_task_t task,
isc_event_t event 
) [static]

Definition at line 3166 of file nsupdate.c.

References isc_app_shutdown(), maybeshutdown(), reset_system(), shuttingdown, start_update(), UNUSED, and user_interaction().

int main ( int  argc,
char **  argv 
)

Definition at line 3190 of file nsupdate.c.

References check_result(), cleanup(), dns_master_style_debug, getinput(), input, interactive, isc_app_finish(), isc_app_onrun(), isc_app_run(), isc_app_start(), isc_mem_create(), ISC_TF, parse_args(), pre_parse_args(), seenerror, and setup_system().


Variable Documentation

int h_errno

isc_uint16_t dnsport = DNSDEFAULTPORT [static]

Definition at line 122 of file nsupdate.c.

Referenced by evaluate_server(), parse_args(), recvsoa(), and setup_system().

isc_boolean_t debugging = ISC_FALSE [static]

Definition at line 128 of file nsupdate.c.

isc_boolean_t ddebugging = ISC_FALSE [static]

Definition at line 128 of file nsupdate.c.

Referenced by ddebug(), do_next_command(), parse_args(), and pre_parse_args().

isc_boolean_t memdebugging = ISC_FALSE [static]

Definition at line 129 of file nsupdate.c.

isc_boolean_t have_ipv4 = ISC_FALSE [static]

Definition at line 130 of file nsupdate.c.

isc_boolean_t have_ipv6 = ISC_FALSE [static]

Definition at line 131 of file nsupdate.c.

isc_boolean_t is_dst_up = ISC_FALSE [static]

Definition at line 132 of file nsupdate.c.

isc_boolean_t usevc = ISC_FALSE [static]

Definition at line 133 of file nsupdate.c.

Referenced by parse_args(), and send_update().

isc_boolean_t usegsstsig = ISC_FALSE [static]

Definition at line 134 of file nsupdate.c.

Referenced by do_next_command(), parse_args(), recvsoa(), reset_system(), start_update(), and update_completed().

isc_boolean_t use_win2k_gsstsig = ISC_FALSE [static]

Definition at line 135 of file nsupdate.c.

Referenced by do_next_command(), and parse_args().

isc_boolean_t tried_other_gsstsig = ISC_FALSE [static]

Definition at line 136 of file nsupdate.c.

Referenced by reset_system().

isc_boolean_t local_only = ISC_FALSE [static]

Definition at line 137 of file nsupdate.c.

Referenced by evaluate_server(), parse_args(), and setup_system().

isc_taskmgr_t* taskmgr = NULL [static]

Definition at line 138 of file nsupdate.c.

isc_task_t* global_task = NULL [static]

Definition at line 139 of file nsupdate.c.

isc_event_t* global_event = NULL [static]

Definition at line 140 of file nsupdate.c.

isc_log_t* glctx = NULL [static]

Definition at line 141 of file nsupdate.c.

isc_mem_t* gmctx = NULL [static]

Definition at line 142 of file nsupdate.c.

dns_dispatchmgr_t* dispatchmgr = NULL [static]

Definition at line 143 of file nsupdate.c.

dns_requestmgr_t* requestmgr = NULL [static]

Definition at line 144 of file nsupdate.c.

Referenced by doshutdown(), maybeshutdown(), recvsoa(), send_update(), sendrequest(), and setup_system().

isc_socketmgr_t* socketmgr = NULL [static]

Definition at line 145 of file nsupdate.c.

isc_timermgr_t* timermgr = NULL [static]

Definition at line 146 of file nsupdate.c.

dns_dispatch_t* dispatchv4 = NULL [static]

Definition at line 147 of file nsupdate.c.

Referenced by ISC_LIST().

dns_dispatch_t* dispatchv6 = NULL [static]

Definition at line 148 of file nsupdate.c.

Referenced by ISC_LIST().

dns_message_t* updatemsg = NULL [static]

Definition at line 149 of file nsupdate.c.

dns_fixedname_t fuserzone [static]

Definition at line 150 of file nsupdate.c.

dns_name_t* userzone = NULL [static]

Definition at line 151 of file nsupdate.c.

dns_name_t* zname = NULL [static]

Definition at line 152 of file nsupdate.c.

Referenced by check_zoneconf(), configure_zone(), create_empty_zone(), and ns_zone_configure().

dns_name_t tmpzonename [static]

Definition at line 153 of file nsupdate.c.

dns_name_t restart_master [static]

Definition at line 154 of file nsupdate.c.

dns_tsig_keyring_t* gssring = NULL [static]

Definition at line 155 of file nsupdate.c.

dns_tsigkey_t* tsigkey = NULL [static]

Definition at line 156 of file nsupdate.c.

Referenced by add_initial_keys(), client_request(), dns_tkey_processdeleteresponse(), dns_tkey_processquery(), dns_tsec_create(), dns_tsig_verify(), dns_zone_notifyreceive(), generate_session_key(), ISC_LIST(), ns_notify_start(), process_deletetkey(), process_gsstkey(), tsig_verify_tcp(), and update_action().

dst_key_t* sig0key = NULL [static]

Definition at line 157 of file nsupdate.c.

Referenced by cleanup(), doshutdown(), send_update(), and setup_keyfile().

lwres_context_t* lwctx = NULL [static]

Definition at line 158 of file nsupdate.c.

lwres_conf_t* lwconf [static]

Definition at line 159 of file nsupdate.c.

isc_sockaddr_t* servers = NULL [static]

Definition at line 160 of file nsupdate.c.

Referenced by check_servers(), and parse_config().

isc_sockaddr_t* master_servers = NULL [static]

Definition at line 161 of file nsupdate.c.

isc_boolean_t default_servers = ISC_TRUE [static]

Definition at line 162 of file nsupdate.c.

Referenced by evaluate_server(), recvsoa(), sendrequest(), setup_system(), and start_update().

int ns_inuse = 0 [static]

Definition at line 163 of file nsupdate.c.

Referenced by evaluate_server(), master_from_servers(), next_server(), recvsoa(), and setup_system().

int master_inuse = 0 [static]

Definition at line 164 of file nsupdate.c.

Referenced by master_from_servers(), next_master(), recvsoa(), start_update(), and update_completed().

int ns_total = 0 [static]

Definition at line 165 of file nsupdate.c.

Referenced by doshutdown(), evaluate_server(), master_from_servers(), next_server(), and setup_system().

int master_total = 0 [static]

Definition at line 166 of file nsupdate.c.

Referenced by doshutdown(), master_from_servers(), next_master(), and recvsoa().

isc_sockaddr_t* localaddr4 = NULL [static]

Definition at line 167 of file nsupdate.c.

isc_sockaddr_t* localaddr6 = NULL [static]

Definition at line 168 of file nsupdate.c.

const char* keyfile = NULL [static]

Definition at line 169 of file nsupdate.c.

char* keystr = NULL [static]

Definition at line 170 of file nsupdate.c.

Referenced by check_trusted_key(), dstkey_fromconfig(), emit(), loadkey(), logkey(), main(), ns_config_getipandkeylist(), ns_server_signing(), parse_args(), publish_key(), read_sessionkey(), restore_key(), setup_keystr(), setup_system(), and signwithkey().

isc_entropy_t* entropy = NULL [static]

Definition at line 171 of file nsupdate.c.

Referenced by isc_entropy_addsample().

isc_boolean_t shuttingdown = ISC_FALSE [static]

Definition at line 172 of file nsupdate.c.

FILE* input [static]

Definition at line 173 of file nsupdate.c.

Referenced by dighost_shutdown(), get_next_command(), main(), parse_args(), and zone_from_args().

isc_boolean_t interactive = ISC_TRUE [static]

Definition at line 174 of file nsupdate.c.

isc_boolean_t seenerror = ISC_FALSE [static]

Definition at line 175 of file nsupdate.c.

Referenced by main(), recvsoa(), and update_completed().

const dns_master_style_t* style [static]

Definition at line 176 of file nsupdate.c.

Referenced by dns_master_stylecreate2(), dns_master_styledestroy(), dumpdone(), modrdataset(), and writeset().

int requests = 0 [static]

Definition at line 177 of file nsupdate.c.

Referenced by ISC_LIST(), maybeshutdown(), pps_timer_tick(), recvsoa(), send_update(), sendrequest(), and update_completed().

unsigned int logdebuglevel = 0 [static]

Definition at line 178 of file nsupdate.c.

Referenced by dns_client_create(), parse_args(), and setup_system().

unsigned int timeout = 300 [static]

Definition at line 179 of file nsupdate.c.

unsigned int udp_timeout = 3 [static]

Definition at line 180 of file nsupdate.c.

Referenced by parse_args(), and send_update().

unsigned int udp_retries = 3 [static]

Definition at line 181 of file nsupdate.c.

Referenced by parse_args(), and send_update().

dns_rdataclass_t defaultclass = dns_rdataclass_in [static]

Definition at line 182 of file nsupdate.c.

Referenced by evaluate_class(), and getzoneclass().

dns_rdataclass_t zoneclass = dns_rdataclass_none [static]

Definition at line 183 of file nsupdate.c.

Referenced by getzoneclass(), setzoneclass(), and update_action().

dns_message_t* answer = NULL [static]

Definition at line 184 of file nsupdate.c.

Referenced by activeempty(), activeemtpynode(), checkmx(), checkns(), checksrv(), cleartree(), dns_badcache_find(), dns_dns64_aaaaok(), dns_nsec3_noexistnodata(), dns_ntatable_covered(), isselfsigned(), main(), query_send(), revocable(), update_done(), zone_check_glue(), zone_get_from_db(), zone_rrset_check_dup(), and zone_unchanged().

isc_uint32_t default_ttl = 0 [static]

Definition at line 185 of file nsupdate.c.

Referenced by evaluate_ttl(), ISC_LIST(), and update_addordelete().

isc_boolean_t default_ttl_set = ISC_FALSE [static]

Definition at line 186 of file nsupdate.c.

Referenced by evaluate_ttl(), and update_addordelete().

isc_boolean_t checknames = ISC_TRUE [static]

Definition at line 187 of file nsupdate.c.

Referenced by evaluate_checknames(), get_checknames(), ns_checknames_get(), ns_zone_configure(), resquery_response(), and update_addordelete().

ISC_PLATFORM_NORETURN_PRE void ISC_PLATFORM_NORETURN_POST

Definition at line 202 of file nsupdate.c.


Generated on Tue Apr 28 17:41:07 2015 by Doxygen 1.5.4 for BIND9 Internals 9.11.0pre-alpha