summaryrefslogtreecommitdiff
path: root/usr.sbin/named/ns.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/named/ns.h')
-rw-r--r--usr.sbin/named/ns.h285
1 files changed, 0 insertions, 285 deletions
diff --git a/usr.sbin/named/ns.h b/usr.sbin/named/ns.h
deleted file mode 100644
index 92c5cd34d5b..00000000000
--- a/usr.sbin/named/ns.h
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- * Copyright (c) 1985, 1990 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * from: @(#)ns.h 4.33 (Berkeley) 8/23/90
- * $Id: ns.h,v 1.1 1995/10/18 08:47:50 deraadt Exp $
- */
-
-/*
- * Global definitions and variables for the name server.
- */
-
-#include <arpa/inet.h>
-#include <string.h>
-
-/*
- * Timeout time should be around 1 minute or so. Using the
- * the current simplistic backoff strategy, the sequence
- * retrys after 4, 8, and 16 seconds. With 3 servers, this
- * dies out in a little more than a minute.
- * (sequence RETRYBASE, 2*RETRYBASE, 4*RETRYBASE... for MAXRETRY)
- */
-#define MINROOTS 2 /* min number of root hints */
-#define NSMAX 16 /* max number of NS addrs to try */
-#define RETRYBASE 4 /* base time between retries */
-#define MAXRETRY 3 /* max number of retries per addr */
-#define MAXCNAMES 8 /* max # of CNAMES tried per addr */
-#define MAXQUERIES 20 /* max # of queries to be made */
- /* (prevent "recursive" loops) */
-#define INIT_REFRESH 600 /* retry time for initial secondary */
- /* contact (10 minutes) */
-
-#define ALPHA 0.7 /* How much to preserver of old response time */
-#define BETA 1.2 /* How much to penalize response time on failure */
-#define GAMMA 0.98 /* How much to decay unused response times */
-
-struct zoneinfo {
- int z_type; /* type of zone */
- int z_auth; /* zone is authoritative */
- char *z_origin; /* root domain name of zone */
- time_t z_time; /* time for next refresh */
- time_t z_lastupdate; /* time of last refresh */
- u_long z_refresh; /* refresh interval */
- u_long z_retry; /* refresh retry interval */
- u_long z_expire; /* expiration time for cached info */
- u_long z_minimum; /* minimum TTL value */
- u_long z_serial; /* changes if zone modified */
- char *z_source; /* source location of data */
- time_t z_ftime; /* modification time of source file */
- int z_addrcnt; /* address count */
- struct in_addr z_addr[NSMAX]; /* list of master servers for zone */
- int z_state; /* state bits; see below */
- u_short z_xferpid; /* xfer child pid */
-#ifdef ALLOW_UPDATES
- int hasChanged; /* non-zero if zone has been updated
- * since last checkpoint
- */
-#endif ALLOW_UPDATES
-};
-
- /* zone types (z_type) */
-#define Z_PRIMARY 1
-#define Z_SECONDARY 2
-#define Z_CACHE 3
-
- /* zone state bits */
-#define Z_AUTH 0x01 /* should replace z_auth */
-#define Z_NEED_XFER 0x02 /* waiting to do xfer */
-#define Z_XFER_RUNNING 0x04 /* asynch. xfer is running */
-#define Z_NEED_RELOAD 0x08 /* waiting to do reload */
-#define Z_SYSLOGGED 0x10 /* have logged timeout */
-#define Z_CHANGED 0x20 /* should replace hasChanged */
-#define Z_FOUND 0x40 /* found in boot file when reloading */
-#define Z_INCLUDE 0x80 /* set if include used in file */
-#define Z_DB_BAD 0x100 /* errors when loading file */
-#define Z_TMP_FILE 0x200 /* backup file for xfer is temporary */
-#ifdef ALLOW_UPDATES
-#define Z_DYNAMIC 0x400 /* allow dynamic updates */
-#define Z_DYNADDONLY 0x800 /* dynamic mode: add new data only */
-#endif ALLOW_UPDATES
-
- /* xfer exit codes */
-#define XFER_UPTODATE 0 /* zone is up-to-date */
-#define XFER_SUCCESS 1 /* performed transfer successfully */
-#define XFER_TIMEOUT 2 /* no server reachable/xfer timeout */
-#define XFER_FAIL 3 /* other failure, has been logged */
-
-/*
- * Structure for recording info on forwarded queries.
- */
-struct qinfo {
- u_short q_id; /* id of query */
- u_short q_nsid; /* id of forwarded query */
- int q_dfd; /* UDP file descriptor */
- struct sockaddr_in q_from; /* requestor's address */
- char *q_msg; /* the message */
- int q_msglen; /* len of message */
- int q_naddr; /* number of addr's in q_addr */
- int q_curaddr; /* last addr sent to */
- struct fwdinfo *q_fwd; /* last forwarder used */
- time_t q_time; /* time to retry */
- struct qinfo *q_next; /* rexmit list (sorted by time) */
- struct qinfo *q_link; /* storage list (random order) */
- struct qserv {
- struct sockaddr_in ns_addr; /* addresses of NS's */
- struct databuf *ns; /* databuf for NS record */
- struct databuf *nsdata; /* databuf for server address */
- struct timeval stime; /* time first query started */
- int nretry; /* # of times addr retried */
- } q_addr[NSMAX]; /* addresses of NS's */
- struct databuf *q_usedns[NSMAX]; /* databuf for NS that we've tried */
- int q_nusedns;
- int q_cname; /* # of cnames found */
- int q_nqueries; /* # of queries required */
- char *q_cmsg; /* the cname message */
- int q_cmsglen; /* len of cname message */
- struct qstream *q_stream; /* TCP stream, null if UDP */
- int q_system; /* boolean, system query */
-};
-
-#define Q_NEXTADDR(qp,n) \
- (((qp)->q_fwd == (struct fwdinfo *)0) ? \
- &(qp)->q_addr[n].ns_addr : &(qp)->q_fwd->fwdaddr)
-
-#define PRIMING_CACHE 42
-#define QINFO_NULL ((struct qinfo *)0)
-
-#ifndef XFER
-extern struct qinfo *qfindid();
-extern struct qinfo *qnew();
-extern struct qinfo *retryqp; /* next query to retry */
-#endif /* XFER */
-
-/*
- * Return codes from ns_forw:
- */
-#define FW_OK 0
-#define FW_DUP 1
-#define FW_NOSERVER 2
-#define FW_SERVFAIL 3
-
-struct qstream {
- int s_rfd; /* stream file descriptor */
- int s_size; /* expected amount of data to recive */
- int s_bufsize; /* amount of data recived in s_buf */
- char *s_buf; /* buffer of recived data */
- char *s_bufp; /* pointer into s_buf of recived data */
- struct qstream *s_next; /* next stream */
- struct sockaddr_in s_from; /* address query came from */
- u_long s_time; /* time stamp of last transaction */
- int s_refcnt; /* number of outstanding queries */
- u_short s_tempsize; /* temporary for size from net */
-};
-
-#define QSTREAM_NULL ((struct qstream *)0)
-extern struct qstream *streamq; /* stream queue */
-
-struct qdatagram {
- int dq_dfd; /* datagram file descriptor */
- struct qdatagram *dq_next; /* next datagram */
- struct in_addr dq_addr; /* address of interface */
-};
-
-#define QDATAGRAM_NULL ((struct qdatagram *)0)
-extern struct qdatagram *datagramq; /* datagram queue */
-
-struct netinfo {
- struct netinfo *next;
- u_long net;
- u_long mask;
- struct in_addr my_addr;
-};
-
-struct fwdinfo {
- struct fwdinfo *next;
- struct sockaddr_in fwdaddr;
-};
-
-struct nets {
- char *name;
- long net;
- struct nets *next;
-};
-
-/*
- * Statistics Defines
- */
-struct stats {
- unsigned long cnt;
- char *description;
-};
-
-/* gross count of UDP packets in and out */
-#define S_INPKTS 0
-#define S_OUTPKTS 1
-/* gross count of queries and inverse queries received */
-#define S_QUERIES 2
-#define S_IQUERIES 3
-#define S_DUPQUERIES 4
-#define S_RESPONSES 5
-#define S_DUPRESP 6
-#define S_RESPOK 7
-#define S_RESPFAIL 8
-#define S_RESPFORMERR 9
-#define S_SYSQUERIES 10
-#define S_PRIMECACHE 11
-#define S_CHECKNS 12
-#define S_BADRESPONSES 13
-#define S_MARTIANS 14
-#define S_NSTATS 15 /* Careful! */
-#ifdef STATS
-extern struct stats stats[S_NSTATS];
-extern unsigned long typestats[T_ANY+1];
-#endif
-
-/*
- * Attempt to configure for type of function returned by signal-catching
- * functions (which signal and sigvec.sv_handler take a pointer to).
- * This can guess for BSD; otherwise, define SIG_FN externally.
- */
-#ifndef SIG_FN
-#ifdef BSD
-#if BSD >= 199006
-#define SIG_FN void /* signal-catching functions return void */
-#else
-#define SIG_FN int /* signal-catching functions return int */
-#endif
-#else /* BSD */
-#define SIG_FN void /* signal-catching functions return void */
-#endif /* BSD */
-#endif
-
-
-#ifdef DEBUG
-extern int debug; /* debug flag */
-extern FILE *ddt; /* debug file discriptor */
-#endif
-#ifndef XFER
-extern int ds; /* datagram socket */
-extern struct qdatagram *dqp;
-extern struct timeval tt; /* place to store time */
-
-extern struct itimerval ival; /* maintenance interval */
-extern struct zoneinfo *zones; /* zone information */
-extern int nzones; /* number of zones in use */
-
-extern int forward_only; /* true on slave server */
-#endif /* XFER */
-
-#define MAX_XFER_TIME 60 * 60 * 2 /* max seconds for an xfer */
-#define XFER_TIME_FUDGE 10 /* MAX_XFER_TIME fudge */
-
-#ifndef XFER
-extern int xfer_running_cnt; /* number of xfers running */
-extern int xfer_deferred_cnt; /* number of deferred xfers */
-#define MAX_XFERS_RUNNING 4 /* max value of xfer_running_cnt */
-#endif /* XFER */