xref: /minix3/external/bsd/bind/dist/lib/dns/log.c (revision 00b67f09dd46474d133c95011a48590a8e8f94c7)
1*00b67f09SDavid van Moolenbroek /*	$NetBSD: log.c,v 1.8 2015/07/08 17:28:58 christos Exp $	*/
2*00b67f09SDavid van Moolenbroek 
3*00b67f09SDavid van Moolenbroek /*
4*00b67f09SDavid van Moolenbroek  * Copyright (C) 2004-2007, 2009, 2011-2014  Internet Systems Consortium, Inc. ("ISC")
5*00b67f09SDavid van Moolenbroek  * Copyright (C) 1999-2001, 2003  Internet Software Consortium.
6*00b67f09SDavid van Moolenbroek  *
7*00b67f09SDavid van Moolenbroek  * Permission to use, copy, modify, and/or distribute this software for any
8*00b67f09SDavid van Moolenbroek  * purpose with or without fee is hereby granted, provided that the above
9*00b67f09SDavid van Moolenbroek  * copyright notice and this permission notice appear in all copies.
10*00b67f09SDavid van Moolenbroek  *
11*00b67f09SDavid van Moolenbroek  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
12*00b67f09SDavid van Moolenbroek  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
13*00b67f09SDavid van Moolenbroek  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
14*00b67f09SDavid van Moolenbroek  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15*00b67f09SDavid van Moolenbroek  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
16*00b67f09SDavid van Moolenbroek  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17*00b67f09SDavid van Moolenbroek  * PERFORMANCE OF THIS SOFTWARE.
18*00b67f09SDavid van Moolenbroek  */
19*00b67f09SDavid van Moolenbroek 
20*00b67f09SDavid van Moolenbroek /* Id: log.c,v 1.49 2011/10/13 22:48:24 tbox Exp  */
21*00b67f09SDavid van Moolenbroek 
22*00b67f09SDavid van Moolenbroek /*! \file */
23*00b67f09SDavid van Moolenbroek 
24*00b67f09SDavid van Moolenbroek /* Principal Authors: DCL */
25*00b67f09SDavid van Moolenbroek 
26*00b67f09SDavid van Moolenbroek #include <config.h>
27*00b67f09SDavid van Moolenbroek 
28*00b67f09SDavid van Moolenbroek #include <isc/util.h>
29*00b67f09SDavid van Moolenbroek 
30*00b67f09SDavid van Moolenbroek #include <dns/log.h>
31*00b67f09SDavid van Moolenbroek 
32*00b67f09SDavid van Moolenbroek /*%
33*00b67f09SDavid van Moolenbroek  * When adding a new category, be sure to add the appropriate
34*00b67f09SDavid van Moolenbroek  * \#define to <dns/log.h>.
35*00b67f09SDavid van Moolenbroek  */
36*00b67f09SDavid van Moolenbroek LIBDNS_EXTERNAL_DATA isc_logcategory_t dns_categories[] = {
37*00b67f09SDavid van Moolenbroek 	{ "notify", 	0 },
38*00b67f09SDavid van Moolenbroek 	{ "database", 	0 },
39*00b67f09SDavid van Moolenbroek 	{ "security", 	0 },
40*00b67f09SDavid van Moolenbroek 	{ "_placeholder", 0 },
41*00b67f09SDavid van Moolenbroek 	{ "dnssec",	0 },
42*00b67f09SDavid van Moolenbroek 	{ "resolver",	0 },
43*00b67f09SDavid van Moolenbroek 	{ "xfer-in",	0 },
44*00b67f09SDavid van Moolenbroek 	{ "xfer-out",	0 },
45*00b67f09SDavid van Moolenbroek 	{ "dispatch",	0 },
46*00b67f09SDavid van Moolenbroek 	{ "lame-servers", 0 },
47*00b67f09SDavid van Moolenbroek 	{ "delegation-only", 0 },
48*00b67f09SDavid van Moolenbroek 	{ "edns-disabled", 0 },
49*00b67f09SDavid van Moolenbroek 	{ "rpz",	0 },
50*00b67f09SDavid van Moolenbroek 	{ "rate-limit",	0 },
51*00b67f09SDavid van Moolenbroek 	{ "cname",	0 },
52*00b67f09SDavid van Moolenbroek 	{ NULL, 	0 }
53*00b67f09SDavid van Moolenbroek };
54*00b67f09SDavid van Moolenbroek 
55*00b67f09SDavid van Moolenbroek /*%
56*00b67f09SDavid van Moolenbroek  * When adding a new module, be sure to add the appropriate
57*00b67f09SDavid van Moolenbroek  * \#define to <dns/log.h>.
58*00b67f09SDavid van Moolenbroek  */
59*00b67f09SDavid van Moolenbroek LIBDNS_EXTERNAL_DATA isc_logmodule_t dns_modules[] = {
60*00b67f09SDavid van Moolenbroek 	{ "dns/db",	 	0 },
61*00b67f09SDavid van Moolenbroek 	{ "dns/rbtdb", 		0 },
62*00b67f09SDavid van Moolenbroek 	{ "dns/rbtdb64", 	0 },
63*00b67f09SDavid van Moolenbroek 	{ "dns/rbt", 		0 },
64*00b67f09SDavid van Moolenbroek 	{ "dns/rdata", 		0 },
65*00b67f09SDavid van Moolenbroek 	{ "dns/master", 	0 },
66*00b67f09SDavid van Moolenbroek 	{ "dns/message", 	0 },
67*00b67f09SDavid van Moolenbroek 	{ "dns/cache", 		0 },
68*00b67f09SDavid van Moolenbroek 	{ "dns/config",		0 },
69*00b67f09SDavid van Moolenbroek 	{ "dns/resolver",	0 },
70*00b67f09SDavid van Moolenbroek 	{ "dns/zone",		0 },
71*00b67f09SDavid van Moolenbroek 	{ "dns/journal",	0 },
72*00b67f09SDavid van Moolenbroek 	{ "dns/adb",		0 },
73*00b67f09SDavid van Moolenbroek 	{ "dns/xfrin",		0 },
74*00b67f09SDavid van Moolenbroek 	{ "dns/xfrout",		0 },
75*00b67f09SDavid van Moolenbroek 	{ "dns/acl",		0 },
76*00b67f09SDavid van Moolenbroek 	{ "dns/validator",	0 },
77*00b67f09SDavid van Moolenbroek 	{ "dns/dispatch",	0 },
78*00b67f09SDavid van Moolenbroek 	{ "dns/request",	0 },
79*00b67f09SDavid van Moolenbroek 	{ "dns/masterdump",	0 },
80*00b67f09SDavid van Moolenbroek 	{ "dns/tsig",		0 },
81*00b67f09SDavid van Moolenbroek 	{ "dns/tkey",		0 },
82*00b67f09SDavid van Moolenbroek 	{ "dns/sdb",		0 },
83*00b67f09SDavid van Moolenbroek 	{ "dns/diff",		0 },
84*00b67f09SDavid van Moolenbroek 	{ "dns/hints",		0 },
85*00b67f09SDavid van Moolenbroek 	{ "dns/acache",		0 },
86*00b67f09SDavid van Moolenbroek 	{ "dns/dlz",		0 },
87*00b67f09SDavid van Moolenbroek 	{ "dns/dnssec",		0 },
88*00b67f09SDavid van Moolenbroek 	{ "dns/crypto",		0 },
89*00b67f09SDavid van Moolenbroek 	{ "dns/packets",	0 },
90*00b67f09SDavid van Moolenbroek 	{ NULL, 		0 }
91*00b67f09SDavid van Moolenbroek };
92*00b67f09SDavid van Moolenbroek 
93*00b67f09SDavid van Moolenbroek LIBDNS_EXTERNAL_DATA isc_log_t *dns_lctx = NULL;
94*00b67f09SDavid van Moolenbroek 
95*00b67f09SDavid van Moolenbroek void
dns_log_init(isc_log_t * lctx)96*00b67f09SDavid van Moolenbroek dns_log_init(isc_log_t *lctx) {
97*00b67f09SDavid van Moolenbroek 	REQUIRE(lctx != NULL);
98*00b67f09SDavid van Moolenbroek 
99*00b67f09SDavid van Moolenbroek 	isc_log_registercategories(lctx, dns_categories);
100*00b67f09SDavid van Moolenbroek 	isc_log_registermodules(lctx, dns_modules);
101*00b67f09SDavid van Moolenbroek }
102*00b67f09SDavid van Moolenbroek 
103*00b67f09SDavid van Moolenbroek void
dns_log_setcontext(isc_log_t * lctx)104*00b67f09SDavid van Moolenbroek dns_log_setcontext(isc_log_t *lctx) {
105*00b67f09SDavid van Moolenbroek 	dns_lctx = lctx;
106*00b67f09SDavid van Moolenbroek }
107