Libinfo-173.tar.gz
[apple/libinfo.git] / dns.subproj / options.h
1 /*
2 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
7 *
8 * This file contains Original Code and/or Modifications of Original Code
9 * as defined in and that are subject to the Apple Public Source License
10 * Version 2.0 (the 'License'). You may not use this file except in
11 * compliance with the License. Please obtain a copy of the License at
12 * http://www.opensource.apple.com/apsl/ and read it before using this
13 * file.
14 *
15 * The Original Code and all software distributed under the License are
16 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
17 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
18 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
20 * Please see the License for the specific language governing rights and
21 * limitations under the License.
22 *
23 * @APPLE_LICENSE_HEADER_END@
24 */
25 /* options.h - specify the conditionally-compiled features
26 * vix 28mar92 [moved out of the Makefile because they were getting too big]
27 *
28 * $Id: options.h,v 1.2 1999/10/14 21:56:45 wsanchez Exp $
29 */
30
31 /*
32 * ++Copyright++
33 * -
34 * Copyright (c)
35 * The Regents of the University of California. All rights reserved.
36 *
37 * Redistribution and use in source and binary forms, with or without
38 * modification, are permitted provided that the following conditions
39 * are met:
40 * 1. Redistributions of source code must retain the above copyright
41 * notice, this list of conditions and the following disclaimer.
42 * 2. Redistributions in binary form must reproduce the above copyright
43 * notice, this list of conditions and the following disclaimer in the
44 * documentation and/or other materials provided with the distribution.
45 * 3. All advertising materials mentioning features or use of this software
46 * must display the following acknowledgement:
47 * This product includes software developed by the University of
48 * California, Berkeley and its contributors.
49 * 4. Neither the name of the University nor the names of its contributors
50 * may be used to endorse or promote products derived from this software
51 * without specific prior written permission.
52 *
53 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
54 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
55 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
56 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
57 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
58 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
59 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
60 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
61 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
62 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
63 * SUCH DAMAGE.
64 * -
65 * Portions Copyright (c) 1993 by Digital Equipment Corporation.
66 *
67 * Permission to use, copy, modify, and distribute this software for any
68 * purpose with or without fee is hereby granted, provided that the above
69 * copyright notice and this permission notice appear in all copies, and that
70 * the name of Digital Equipment Corporation not be used in advertising or
71 * publicity pertaining to distribution of the document or software without
72 * specific, written prior permission.
73 *
74 * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
75 * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
76 * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
77 * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
78 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
79 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
80 * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
81 * SOFTWARE.
82 * -
83 * --Copyright--
84 */
85
86 /* Key:
87 * ucb = U C Berkeley 4.8.3 release
88 * vix = Paul Vixie of Digital
89 * del = Don Lewis of Harris
90 * mcsun = Piet Beertema of EUNet
91 * asp = Andrew Partan of UUNet
92 * pma = Paul Albitz of Hewlett Packard
93 * bb = Bryan Beecher of UMich
94 * mpa = Mark Andrews of CSIRO - DMS
95 * rossc = Ross Cartlidge of The Univeritsy of Sydney
96 * mtr = Marshall Rose of TPC.INT
97 * bg = Benoit Grange of INRIA
98 * ckd = Christopher Davis of Kapor Enterprises
99 * gns = Greg Shapiro of WPI
100 */
101
102 #define DEBUG /* enable -d flag and SIGUSR[12] support (ucb) */
103 /*#define ALLOW_T_UNSPEC enable the "unspec" RR type for old athena (ucb) */
104 /*#define INVQ enable inverse queries (nslookup) (ucb/vix) */
105 /*#define DSTORAGE debug malloc overruns using storage.o (ucb/vix) */
106 /*#define DMALLOC trace malloc orphans using dmalloc.o (vix) */
107 #define XFRNETS /* enable "xfrnets" command in named.boot (vix) */
108 #define PID_FIX /* be careful about overwriting named.pid file (del) */
109 #define FWD_LOOP /* try to break out of forwarding loops (del) */
110 #define NO_GLUE /* don't accept or send out-of-zone glue (del) */
111 #define BOGUSNS /* detect bogus nameservers (mcsun) */
112 #define QRYLOG /* enable SIGWINCH for query logging (bb) */
113 /*#define YPKLUDGE deal effectively with broken "ypserv -i" (mcsun) */
114 #define TRACEROOT /* trace bogus root servers and ignore them (pma,bb) */
115 /*#define LOCALDOM permit "domain" directive in named.boot (ucb) */
116 #define FORCED_RELOAD /* refresh secondary zones on SIGHUP (pma) */
117 #define SLAVE_FORWARD /* use sensible timeouts on slave forwarders (pma) */
118 #define WANT_PIDFILE /* if you want the named.pid file (ucb/arc) */
119 #define DOTTED_SERIAL /* if you want to be able to specify dotted serial#s */
120 /*#define SENSIBLE_DOTS if you want dotted serial#s to make numeric sense */
121 #define NCACHE /* negative caching (anant@isi.edu) */
122 /*#define VALIDATE validation procedure (anant@isi.edu) (DO NOT USE!)*/
123 /*#define SHORT_FNAMES file names used in named-xfer need to be short */
124 #define RESOLVSORT /* allow sorting of addresses in gethostbyname (mpa) */
125 #define STUBS /* allow transfers of NS only for a zone (mpa) */
126 #ifndef LOGFAC
127 #define LOGFAC LOG_DAEMON /* what syslog facility should named use? */
128 #endif
129 #define SECURE_ZONES /* if you want to inhibit world access to zones (gns)*/
130 #define ROUND_ROBIN /* rotate databuf list after each access (mtr) */
131 #define ADDAUTH /* return NS and glue w/ authorative answers (mpa) */
132 #define RFC1535 /* use RFC 1535 default for "search" list (vix) */
133 #define GEN_AXFR /* distinct zones within each class */
134 #define DATUMREFCNT /* use reference counts on datums (mpa) */
135 #define LAME_DELEGATION /* lame delegations (original-del,reworked-bb&del)*/
136 #define LAME_LOGGING LOG_WARNING /* log lame delegations, set log level */
137 #define GETSER_LOGGING LOG_INFO /* log errors/timeouts getting serial number */
138 /*#define RETURNSOA good code that the world isn't ready for yet */
139 #define CLEANCACHE /* useful and necessary in the face of NCACHE */
140 #define PURGE_ZONE /* remove all traces of a zone when reloading (mpa) */
141 #define STATS /* keep nameserver statistics; uses more memory */
142 #define RENICE /* named-xfer should run at normal priority */
143 #define XSTATS /* extended statistics, syslogged periodically (bg) */
144 /*#define BIND_NOTIFY experimental - do not enable in customer products */
145 /*#define LOC_RR support for (draft) LOC record parsing (ckd) */
146
147 /*--------------------------------------------*
148 * no user-servicable parts beyond this point *
149 *--------------------------------------------*/
150
151 /* if DSTORAGE is defined, we need to disable DMALLOC and remap
152 * malloc and free to storage.o's exported names. storage.o also
153 * includes a calloc and a realloc, but once we drag in its malloc
154 * and free we'll get the others automatically and so will never
155 * pull in those routines from libc.a.
156 */
157 #ifdef DSTORAGE
158 # ifdef DMALLOC
159 # undef DMALLOC
160 # endif /*DMALLOC*/
161 # define malloc rt_malloc
162 # define free rt_free
163 #endif /*DSTORAGE*/
164
165 /* if DMALLOC is defined, grab the header file which will remap
166 * all the malloc-style names to those exported by dmalloc.o. note
167 * that DMALLOC also changes the function signatures of several
168 * functions in private named source modules, and that this file
169 * (options.h) must be included before any other private *.h files
170 * since those *.h files have some conditional remapping to do.
171 */
172 #ifdef DMALLOC
173 # include "dmalloc.h"
174 #endif
175
176 /* systems with killall(1M) don't need this
177 */
178 #ifdef __sgi
179 # ifdef WANT_PIDFILE
180 # undef WANT_PIDFILE
181 # endif
182 #endif
183
184 #ifdef LAME_LOGGING
185 # define LAME_DELEGATION
186 #endif
187
188 #if defined(XSTATS) && !defined(STATS)
189 # define STATS
190 #endif