Commit 669e9657 authored by Andreas Gustafsson's avatar Andreas Gustafsson

Split off the named.conf grammar into a source module separate

from the configuration parser, to facilitate reuse of the latter for
parsing non-BIND configuration files
parent b3ebf6f2
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
/* $Id: named-checkconf.c,v 1.19 2001/10/02 22:53:35 gson Exp $ */ /* $Id: named-checkconf.c,v 1.20 2002/01/04 02:31:57 gson Exp $ */
#include <config.h> #include <config.h>
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include <isc/string.h> #include <isc/string.h>
#include <isc/util.h> #include <isc/util.h>
#include <isccfg/cfg.h> #include <isccfg/namedconf.h>
#include <bind9/check.h> #include <bind9/check.h>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
/* $Id: aclconf.c,v 1.27 2001/04/12 21:02:46 tale Exp $ */ /* $Id: aclconf.c,v 1.28 2002/01/04 02:31:59 gson Exp $ */
#include <config.h> #include <config.h>
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
#include <isc/string.h> /* Required for HP/UX (and others?) */ #include <isc/string.h> /* Required for HP/UX (and others?) */
#include <isc/util.h> #include <isc/util.h>
#include <isccfg/namedconf.h>
#include <dns/acl.h> #include <dns/acl.h>
#include <dns/fixedname.h> #include <dns/fixedname.h>
#include <dns/log.h> #include <dns/log.h>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
/* $Id: config.c,v 1.23 2001/11/30 01:58:44 gson Exp $ */ /* $Id: config.c,v 1.24 2002/01/04 02:32:00 gson Exp $ */
#include <config.h> #include <config.h>
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#include <isc/sockaddr.h> #include <isc/sockaddr.h>
#include <isc/util.h> #include <isc/util.h>
#include <isccfg/cfg.h> #include <isccfg/namedconf.h>
#include <dns/fixedname.h> #include <dns/fixedname.h>
#include <dns/name.h> #include <dns/name.h>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
/* $Id: controlconf.c,v 1.36 2001/11/27 21:51:31 bwelling Exp $ */ /* $Id: controlconf.c,v 1.37 2002/01/04 02:32:01 gson Exp $ */
#include <config.h> #include <config.h>
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include <isc/timer.h> #include <isc/timer.h>
#include <isc/util.h> #include <isc/util.h>
#include <isccfg/cfg.h> #include <isccfg/namedconf.h>
#include <bind9/check.h> #include <bind9/check.h>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
/* $Id: lwresd.c,v 1.39 2001/11/30 01:58:46 gson Exp $ */ /* $Id: lwresd.c,v 1.40 2002/01/04 02:32:02 gson Exp $ */
/* /*
* Main program for the Lightweight Resolver Daemon. * Main program for the Lightweight Resolver Daemon.
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
#include <isc/task.h> #include <isc/task.h>
#include <isc/util.h> #include <isc/util.h>
#include <isccfg/cfg.h> #include <isccfg/namedconf.h>
#include <dns/log.h> #include <dns/log.h>
#include <dns/result.h> #include <dns/result.h>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
/* $Id: server.c,v 1.366 2001/12/01 00:39:22 marka Exp $ */ /* $Id: server.c,v 1.367 2002/01/04 02:32:04 gson Exp $ */
#include <config.h> #include <config.h>
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#include <isc/timer.h> #include <isc/timer.h>
#include <isc/util.h> #include <isc/util.h>
#include <isccfg/cfg.h> #include <isccfg/namedconf.h>
#include <bind9/check.h> #include <bind9/check.h>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
/* $Id: rndc.c,v 1.89 2001/12/01 00:34:20 marka Exp $ */ /* $Id: rndc.c,v 1.90 2002/01/04 02:32:06 gson Exp $ */
/* /*
* Principal Author: DCL * Principal Author: DCL
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
#include <isc/thread.h> #include <isc/thread.h>
#include <isc/util.h> #include <isc/util.h>
#include <isccfg/cfg.h> #include <isccfg/namedconf.h>
#include <isccc/alist.h> #include <isccc/alist.h>
#include <isccc/base64.h> #include <isccc/base64.h>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
/* $Id: cfg_test.c,v 1.12 2001/10/22 23:50:31 bwelling Exp $ */ /* $Id: cfg_test.c,v 1.13 2002/01/04 02:32:07 gson Exp $ */
#include <config.h> #include <config.h>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#include <isc/string.h> #include <isc/string.h>
#include <isc/util.h> #include <isc/util.h>
#include <isccfg/cfg.h> #include <isccfg/namedconf.h>
#include <dns/log.h> #include <dns/log.h>
......
...@@ -45,8 +45,6 @@ options { ...@@ -45,8 +45,6 @@ options {
use-id-pool <boolean>; // obsolete use-id-pool <boolean>; // obsolete
use-ixfr <boolean>; use-ixfr <boolean>;
version ( <quoted_string> | none ); version ( <quoted_string> | none );
allow-notify { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
allow-recursion { <address_match_element>; ... }; allow-recursion { <address_match_element>; ... };
allow-v6-synthesis { <address_match_element>; ... }; allow-v6-synthesis { <address_match_element>; ... };
sortlist { <address_match_element>; ... }; sortlist { <address_match_element>; ... };
...@@ -62,8 +60,6 @@ options { ...@@ -62,8 +60,6 @@ options {
additional-from-cache <boolean>; additional-from-cache <boolean>;
query-source <querysource4>; query-source <querysource4>;
query-source-v6 <querysource6>; query-source-v6 <querysource6>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
cleaning-interval <integer>; cleaning-interval <integer>;
min-roots <integer>; // not implemented min-roots <integer>; // not implemented
lame-ttl <integer>; lame-ttl <integer>;
...@@ -73,9 +69,14 @@ options { ...@@ -73,9 +69,14 @@ options {
max-cache-size <size_no_default>; max-cache-size <size_no_default>;
check-names <string> <string>; // not implemented check-names <string> <string>; // not implemented
cache-file <quoted_string>; cache-file <quoted_string>;
suppress-initial-notify <boolean>; // not yet implemented
allow-query { <address_match_element>; ... }; allow-query { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... }; allow-transfer { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
allow-notify { <address_match_element>; ... };
notify <notifytype>; notify <notifytype>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
also-notify [ port <integer> ] { ( <ipv4_address> | <ipv6_address> also-notify [ port <integer> ] { ( <ipv4_address> | <ipv6_address>
) [ port <integer> ]; ... }; ) [ port <integer> ]; ... };
dialup <dialuptype>; dialup <dialuptype>;
...@@ -109,11 +110,11 @@ acl <string> { <address_match_element>; ... }; ...@@ -109,11 +110,11 @@ acl <string> { <address_match_element>; ... };
logging { logging {
channel <string> { channel <string> {
file <logfile>; file <log_file>;
syslog <optional_facility>; syslog <optional_facility>;
null; null;
stderr; stderr;
severity <logseverity>; severity <log_severity>;
print-time <boolean>; print-time <boolean>;
print-severity <boolean>; print-severity <boolean>;
print-category <boolean>; print-category <boolean>;
...@@ -132,7 +133,6 @@ view <string> <optional_class> { ...@@ -132,7 +133,6 @@ view <string> <optional_class> {
zone <string> <optional_class> { zone <string> <optional_class> {
type ( master | slave | stub | hint | forward ); type ( master | slave | stub | hint | forward );
allow-update { <address_match_element>; ... }; allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
file <quoted_string>; file <quoted_string>;
ixfr-base <quoted_string>; // obsolete ixfr-base <quoted_string>; // obsolete
ixfr-tmp-file <quoted_string>; // obsolete ixfr-tmp-file <quoted_string>; // obsolete
...@@ -146,7 +146,13 @@ view <string> <optional_class> { ...@@ -146,7 +146,13 @@ view <string> <optional_class> {
check-names <string>; // not implemented check-names <string>; // not implemented
allow-query { <address_match_element>; ... }; allow-query { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... }; allow-transfer { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
allow-notify { <address_match_element>; ... };
notify <notifytype>; notify <notifytype>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | *
) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer>
| * ) ];
also-notify [ port <integer> ] { ( <ipv4_address> | also-notify [ port <integer> ] { ( <ipv4_address> |
<ipv6_address> ) [ port <integer> ]; ... }; <ipv6_address> ) [ port <integer> ]; ... };
dialup <dialuptype>; dialup <dialuptype>;
...@@ -183,8 +189,6 @@ view <string> <optional_class> { ...@@ -183,8 +189,6 @@ view <string> <optional_class> {
}; };
trusted-keys { <string> <integer> <integer> <integer> trusted-keys { <string> <integer> <integer> <integer>
<quoted_string>; ... }; <quoted_string>; ... };
allow-notify { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
allow-recursion { <address_match_element>; ... }; allow-recursion { <address_match_element>; ... };
allow-v6-synthesis { <address_match_element>; ... }; allow-v6-synthesis { <address_match_element>; ... };
sortlist { <address_match_element>; ... }; sortlist { <address_match_element>; ... };
...@@ -200,8 +204,6 @@ view <string> <optional_class> { ...@@ -200,8 +204,6 @@ view <string> <optional_class> {
additional-from-cache <boolean>; additional-from-cache <boolean>;
query-source <querysource4>; query-source <querysource4>;
query-source-v6 <querysource6>; query-source-v6 <querysource6>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
cleaning-interval <integer>; cleaning-interval <integer>;
min-roots <integer>; // not implemented min-roots <integer>; // not implemented
lame-ttl <integer>; lame-ttl <integer>;
...@@ -211,9 +213,14 @@ view <string> <optional_class> { ...@@ -211,9 +213,14 @@ view <string> <optional_class> {
max-cache-size <size_no_default>; max-cache-size <size_no_default>;
check-names <string> <string>; // not implemented check-names <string> <string>; // not implemented
cache-file <quoted_string>; cache-file <quoted_string>;
suppress-initial-notify <boolean>; // not yet implemented
allow-query { <address_match_element>; ... }; allow-query { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... }; allow-transfer { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
allow-notify { <address_match_element>; ... };
notify <notifytype>; notify <notifytype>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
also-notify [ port <integer> ] { ( <ipv4_address> | <ipv6_address> also-notify [ port <integer> ] { ( <ipv4_address> | <ipv6_address>
) [ port <integer> ]; ... }; ) [ port <integer> ]; ... };
dialup <dialuptype>; dialup <dialuptype>;
...@@ -253,7 +260,6 @@ key <string> { ...@@ -253,7 +260,6 @@ key <string> {
zone <string> <optional_class> { zone <string> <optional_class> {
type ( master | slave | stub | hint | forward ); type ( master | slave | stub | hint | forward );
allow-update { <address_match_element>; ... }; allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
file <quoted_string>; file <quoted_string>;
ixfr-base <quoted_string>; // obsolete ixfr-base <quoted_string>; // obsolete
ixfr-tmp-file <quoted_string>; // obsolete ixfr-tmp-file <quoted_string>; // obsolete
...@@ -266,7 +272,11 @@ zone <string> <optional_class> { ...@@ -266,7 +272,11 @@ zone <string> <optional_class> {
check-names <string>; // not implemented check-names <string>; // not implemented
allow-query { <address_match_element>; ... }; allow-query { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... }; allow-transfer { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
allow-notify { <address_match_element>; ... };
notify <notifytype>; notify <notifytype>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
also-notify [ port <integer> ] { ( <ipv4_address> | <ipv6_address> also-notify [ port <integer> ] { ( <ipv4_address> | <ipv6_address>
) [ port <integer> ]; ... }; ) [ port <integer> ]; ... };
dialup <dialuptype>; dialup <dialuptype>;
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION # NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.7 2001/09/20 15:16:57 marka Exp $ # $Id: Makefile.in,v 1.8 2002/01/04 02:32:10 gson Exp $
srcdir = @srcdir@ srcdir = @srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
...@@ -41,10 +41,10 @@ LIBS = @LIBS@ ...@@ -41,10 +41,10 @@ LIBS = @LIBS@
SUBDIRS = include SUBDIRS = include
# Alphabetically # Alphabetically
OBJS = log.@O@ parser.@O@ version.@O@ OBJS = log.@O@ namedconf.@O@ parser.@O@ version.@O@
# Alphabetically # Alphabetically
SRCS = log.c parser.c version.c SRCS = log.c namedconf.c parser.c version.c
TARGETS = timestamp TARGETS = timestamp
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
/* $Id: cfg.h,v 1.30 2001/08/03 23:19:01 gson Exp $ */ /* $Id: cfg.h,v 1.31 2002/01/04 02:32:14 gson Exp $ */
#ifndef ISCCFG_CFG_H #ifndef ISCCFG_CFG_H
#define ISCCFG_CFG_H 1 #define ISCCFG_CFG_H 1
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
* This is the new, table-driven, YACC-free configuration file parser. * This is the new, table-driven, YACC-free configuration file parser.
*/ */
/*** /***
*** Imports *** Imports
***/ ***/
...@@ -398,21 +397,6 @@ cfg_obj_log(cfg_obj_t *obj, isc_log_t *lctx, int level, const char *fmt, ...) ...@@ -398,21 +397,6 @@ cfg_obj_log(cfg_obj_t *obj, isc_log_t *lctx, int level, const char *fmt, ...)
* with the file name(s) and line number where 'obj' was defined. * with the file name(s) and line number where 'obj' was defined.
*/ */
/*
* Configuration object types.
*/
LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_namedconf;
/* A complete named.conf file. */
LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_rndcconf;
/* A complete rndc.conf file. */
LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_rndckey;
/* A complete rndc.key file. */
LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_keyref;
/* A key reference, used as an ACL element */
ISC_LANG_ENDDECLS ISC_LANG_ENDDECLS
#endif /* ISCCFG_CFG_H */ #endif /* ISCCFG_CFG_H */
/*
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
* DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
* INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: namedconf.h,v 1.1 2002/01/04 02:32:15 gson Exp $ */
#ifndef ISCCFG_NAMEDCONF_H
#define ISCCFG_NAMEDCONF_H 1
/*
* This module defines the named.conf, rndc.conf, and rndc.key grammars.
*/
#include <isccfg/cfg.h>
/*
* Configuration object types.
*/
LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_namedconf;
/* A complete named.conf file. */
LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_rndcconf;
/* A complete rndc.conf file. */
LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_rndckey;
/* A complete rndc.key file. */
LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_keyref;
/* A key reference, used as an ACL element */
#endif /* ISCCFG_CFG_H */
This diff is collapsed.
This diff is collapsed.
...@@ -2073,8 +2073,10 @@ ...@@ -2073,8 +2073,10 @@
./lib/isccfg/include/isccfg/cfg.h C 2000,2001 ./lib/isccfg/include/isccfg/cfg.h C 2000,2001
./lib/isccfg/include/isccfg/check.h C 2001 ./lib/isccfg/include/isccfg/check.h C 2001
./lib/isccfg/include/isccfg/log.h C 2001 ./lib/isccfg/include/isccfg/log.h C 2001
./lib/isccfg/include/isccfg/namedconf.h C 2001,2002
./lib/isccfg/include/isccfg/version.h C 2001 ./lib/isccfg/include/isccfg/version.h C 2001
./lib/isccfg/log.c C 2001 ./lib/isccfg/log.c C 2001
./lib/isccfg/namedconf.c C 2001,2002
./lib/isccfg/parser.c C 2000,2001 ./lib/isccfg/parser.c C 2000,2001
./lib/isccfg/version.c C 1998,1999,2000,2001 ./lib/isccfg/version.c C 1998,1999,2000,2001
./lib/isccfg/win32/DLLMain.c C 2001 ./lib/isccfg/win32/DLLMain.c C 2001
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment