Copyright (C) 2000, 2001  Internet Software Consortium.
See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.

$Id: options,v 1.54.2.3 2001/02/07 19:13:14 gson Exp $

This is a summary of the implementation status of the various named.conf
options in BIND 9.

Legend:

  Yes	    Implemented in this release.

  No	    Not implemented, may be implemented in a later release.

  Obsolete  Obsolete, not applicable to BIND 9, or just evil.
	    Will not be implemented.

  *	    New in BIND 9.

  +	    The option is now always enabled.

  -	    The option is now always disabled.

  %	    The default value has changed since BIND 8.

  &	    The option has been extended since BIND 8.

  @	    Semantics of certain pathological address match lists, in
	    particular those involving double negation, have changed.
	    The new semantics are generally safer.  IPv6 addresses
	    are supported, but the predefined ACLs "localhost" and
	    "localnets" match IPv4 addresses only.

  #	    BIND 9 accepts both LF and CRLF as end-of-line markers.

  $	    Stub zones are partially supported.  They no longer
            inject NS records into their parent zones, but can still
            be used as a way of forcing a domain to be resolved using
	    a particular set of name servers.


options {
  [ version version_string; ]				    Yes
  [ directory path_name; ]				    Yes
  [ named-xfer path_name; ]				    Obsolete
  [ dump-file path_name; ]				    Yes
  [ memstatistics-file path_name; ]			    No
  [ pid-file path_name; ]				    Yes
  [ statistics-file path_name; ]			    Yes
  [ auth-nxdomain yes_or_no; ]				    Yes%
  [ deallocate-on-exit yes_or_no; ]			    Obsolete+
  [ dialup yes_or_no | notify | notify-passive |
		       refresh | passive; ]		    Yes&
  [ fake-iquery yes_or_no; ]				    Obsolete-
  [ fetch-glue yes_or_no; ]				    Obsolete
  [ has-old-clients yes_or_no; ]			    Obsolete
  [ host-statistics yes_or_no; ]			    No
  [ multiple-cnames yes_or_no; ]			    Obsolete-
  [ notify yes_or_no | explicit; ]			    Yes&
  [ recursion yes_or_no; ]				    Yes
  [ rfc2308-type1 yes_or_no; ]				    No
  [ use-id-pool yes_or_no; ]				    Obsolete+
  [ use-ixfr yes_or_no; ]				    Obsolete
  [ treat-cr-as-space yes_or_no; ]			    Obsolete#
  [ also-notify { ip_addr; [ ip_addr; ... ] }; ]	    Yes
  [ forward ( only | first ); ]				    Yes
  [ forwarders { [ in_addr ; [ in_addr ; ... ] ] }; ]	    Yes
  [ check-names ... ]					    Obsolete
  [ allow-notify { address_match_list }; ]		    Yes*
  [ allow-query { address_match_list }; ]		    Yes@
  [ allow-transfer { address_match_list }; ]		    Yes@
  [ allow-recursion { address_match_list }; ]		    Yes@
  [ blackhole { address_match_list }; ]			    Yes
  [ listen-on [ port ip_port ] { address_match_list }; ]    Yes@
  [ listen-on-v6 [ port ip_port ] { address_match_list }; ] Yes*
  [ query-source ... ]					    Yes
  [ query-source-v6 ... ]				    Yes*
  [ lame-ttl number; ]					    Yes
  [ max-transfer-time-in number; ]			    Yes
  [ max-transfer-idle-in number; ]			    Yes*
  [ max-transfer-time-out number; ]			    Yes*
  [ max-transfer-idle-out number; ]			    Yes*
  [ max-cache-ttl number; ]				    Yes*
  [ max-ncache-ttl number; ]				    Yes
  [ max-cache-size size_spec; ]				    No*
  [ min-roots number; ]					    Obsolete
  [ serial-queries number; ]				    Obsolete
  [ transfer-format ( one-answer | many-answers ); ]	    Yes
  [ transfers-in  number; ]				    Yes
  [ transfers-out number; ]				    Yes
  [ transfers-per-ns number; ]				    Yes
  [ transfer-source ...; ]				    Yes
  [ transfer-source-v6 ...; ]			            Yes*
  [ notify-source ...; ]				    Yes*
  [ notify-source-v6 ...; ]				    Yes*
  [ request-ixfr yes_or_no; ]				    Yes*
  [ provide-ixfr yes_or_no; ]				    Yes*
  [ maintain-ixfr-base yes_or_no; ]			    Obsolete
  [ max-ixfr-log-size number; ]				    Obsolete
  [ coresize size_spec ; ]				    Yes
  [ datasize size_spec ; ]				    Yes
  [ files size_spec ; ]					    Yes
  [ stacksize size_spec ; ]				    Yes
  [ cleaning-interval number; ]				    Yes
  [ heartbeat-interval number; ]			    Yes
  [ interface-interval number; ]			    Yes
  [ statistics-interval number; ]			    No
  [ topology { address_match_list }; ]			    No
  [ sortlist { address_match_list }; ]			    Yes
  [ rrset-order { order_spec ; [ order_spec ; ... ] }; ]    No
  [ recursive-clients number; ]				    Yes*
  [ tcp-clients number; ]				    Yes*
  [ tkey-domain ... ]					    Yes*
  [ tkey-dhkey ... ]					    Yes*
  [ min-refresh-time number ; ]				    Yes*
  [ max-refresh-time number ; ]				    Yes*
  [ min-retry-time number ; ]				    Yes*
  [ max-retry-time number ; ]				    Yes*
  [ port number; ]					    Yes*
  [ sig-validity-interval number; ]			    Yes*
  [ additional-from-auth yes_or_no; ]			    Yes*
  [ additional-from-cache yes_or_no; ]			    Yes*
};

acl							    Yes@

include							    Yes

key							    Yes

logging							    Yes

controls {
  [ inet ... ]						    Yes%
  [ unix ... ]						    Obsolete
};

server ip_addr {
  [ bogus yes_or_no; ]					    Yes
  [ request-ixfr yes_or_no; ]				    Yes*
  [ provide-ixfr yes_or_no; ]				    Yes*
  [ support-ixfr yes_or_no; ]				    Obsolete
  [ transfers number; ]					    Yes
  [ transfer-format ( one-answer | many-answers ); ]	    Yes
  [ keys { key_id [key_id ... ] }; ]			    Yes
};

trusted-keys						    Yes

zone "domain_name" [ ( in | hs | hesiod | chaos ) ] {
  type master;						    Yes
  file path_name;					    Yes
  [ forward ( only | first ); ]				    Yes
  [ forwarders { [ ip_addr ; [ ip_addr ; ... ] ] }; ]	    Yes
  [ check-names ( warn | fail | ignore ); ]		    Obsolete
  [ allow-update { address_match_list }; ]		    Yes@
  [ update-policy ... ]					    Yes*
  [ allow-query { address_match_list }; ]		    Yes@
  [ allow-transfer { address_match_list }; ]		    Yes@
  [ notify-source ...; ]				    Yes*
  [ notify-source-v6 ...; ]				    Yes*
  [ dialup yes_or_no | notify; ]			    Yes&
  [ max-transfer-time-out number; ]			    Yes*
  [ max-transfer-idle-out number; ]			    Yes*
  [ notify yes_or_no | explicit; ]			    Yes&
  [ also-notify { ip_addr; [ ip_addr; ... ] }; ]	    Yes
  [ ixfr-base  path_name; ]				    Obsolete
  [ pubkey number number number string; ]		    No
  [ sig-validity-interval number; ]			    Yes*
  [ database string ; [string; ... ] ]			    Yes*
  [ min-refresh-time number ; ]				    Yes*
  [ max-refresh-time number ; ]				    Yes*
  [ min-retry-time number ; ]				    Yes*
  [ max-retry-time number ; ]				    Yes*
};

zone "domain_name" [ ( in | hs | hesiod | chaos ) ] {
  type slave;						    Yes
  [ file path_name; ]					    Yes
  [ ixfr-base  path_name; ]				    Obsolete
  masters [ port ip_port ] { ip_addr; [ ip_addr; ... ] };   Yes
  [ forward ( only | first ); ]				    Yes
  [ forwarders { [ ip_addr ; [ ip_addr ; ... ] ] }; ]	    Yes
  [ check-names ( warn | fail | ignore ); ]		    Obsolete
  [ allow-notify { address_match_list };]		    Yes*
  [ allow-update { address_match_list }; ]		    Obsolete
  [ allow-update-forwarding { address_match_list }; ]	    No*
  [ allow-query { address_match_list }; ]		    Yes@
  [ allow-transfer { address_match_list }; ]		    Yes@
  [ transfer-source ...; ]				    Yes
  [ transfer-source-v6 ...; ]			  	    Yes*
  [ notify-source ...; ]				    Yes*
  [ notify-source-v6 ...; ]				    Yes*
  [ dialup yes_or_no | notify | notify-passive |
		       refresh | passive; ]		    Yes&
  [ max-transfer-time-in number; ]			    Yes
  [ max-transfer-idle-in number; ]			    Yes*
  [ max-transfer-time-out number; ]			    Yes*
  [ max-transfer-idle-out number; ]			    Yes*
  [ notify yes_or_no | explicit; ]			    Yes&
  [ also-notify { ip_addr; [ ip_addr; ... ] }; ]	    Yes
  [ pubkey number number number string; ]		    No
  [ min-refresh-time number ; ]				    Yes*
  [ max-refresh-time number ; ]				    Yes*
  [ min-retry-time number ; ]				    Yes*
  [ max-retry-time number ; ]				    Yes*
};

zone "domain_name" [ ( in | hs | hesiod | chaos ) ] {
  type stub;						    Yes$
  [ file path_name; ]					    Yes
  masters [ port ip_port ] { ip_addr; [ ip_addr; ... ] };   Yes
  [ forward ( only | first ); ]				    Yes
  [ forwarders { [ ip_addr ; [ ip_addr ; ... ] ] }; ]	    Yes
  [ check-names ( warn | fail | ignore ); ]		    Obsolete
  [ allow-update { address_match_list }; ]		    Obsolete
  [ allow-update-forwarding { address_match_list }; ]	    Yes*
  [ allow-query { address_match_list }; ]		    Yes@
  [ allow-transfer { address_match_list }; ]		    Yes@
  [ transfer-source ...; ]				    Yes
  [ transfer-source-v6 ...; ]				    Yes*
  [ dialup yes_or_no | passive | refresh; ]		    Yes%
  [ max-transfer-time-in number; ]			    Yes
  [ max-transfer-idle-in number; ]			    Yes*
  [ max-transfer-time-out number; ]			    Yes*
  [ max-transfer-idle-out number; ]			    Yes*
  [ pubkey number number number string; ]		    No
  [ min-refresh-time number ; ]				    Yes*
  [ max-refresh-time number ; ]				    Yes*
  [ min-retry-time number ; ]				    Yes*
  [ max-retry-time number ; ]				    Yes*
};

zone "domain_name" [ ( in | hs | hesiod | chaos ) ] {
  type forward;						    Yes
  [ forward ( only | first ); ]				    Yes
  [ forwarders { [ ip_addr ; [ ip_addr ; ... ] ] }; ]	    Yes
};

zone "." [ ( in | hs | hesiod | chaos ) ] {
  type hint;						    Yes
  file path_name;					    Yes
  [ check-names ( warn | fail | ignore ); ]		    Obsolete
};

view "view_name" [ ( in | hs | hesiod | chaos ) ] {	    Yes*
  match-clients { address_match_list };			    Yes*
  [ zone ... ]						    Yes
  [ auth-nxdomain yes_or_no; ]				    Yes
  [ fetch-glue yes_or_no; ]				    Obsolete
  [ notify yes_or_no | explicit; ]			    Yes&
  [ recursion yes_or_no; ]				    Yes
  [ rfc2308-type1 yes_or_no; ]				    No
  [ also-notify { ip_addr; [ ip_addr; ... ] }; ]	    Yes
  [ forward ( only | first ); ]				    Yes
  [ forwarders { [ in_addr ; [ in_addr ; ... ] ] }; ]	    Yes
  [ check-names ... ]					    Obsolete
  [ allow-notify { address_match_list }; ]		    Yes
  [ allow-query { address_match_list }; ]		    Yes
  [ allow-transfer { address_match_list }; ]		    Yes
  [ allow-recursion { address_match_list }; ]		    Yes
  [ query-source ... ]					    Yes
  [ query-source-v6 ... ]				    Yes
  [ lame-ttl number; ]					    Yes
  [ max-transfer-time-out number; ]			    Yes*
  [ max-transfer-idle-out number; ]			    Yes*
  [ max-cache-ttl number; ]				    Yes*
  [ max-ncache-ttl number; ]				    Yes
  [ max-cache-size size_spec; ]				    No*
  [ min-roots number; ]					    Obsolete
  [ transfer-format ( one-answer | many-answers ); ]	    Yes
  [ transfer-source ...; ]				    Yes
  [ transfer-source-v6 ...; ]				    Yes*
  [ notify-source ...; ]				    Yes*
  [ notify-source-v6 ...; ]				    Yes*
  [ request-ixfr yes_or_no; ]				    Yes*
  [ provide-ixfr yes_or_no;]				    Yes*
  [ cleaning-interval number; ]				    Yes
  [ topology { address_match_list }; ]			    No
  [ sortlist { address_match_list }; ]			    Yes
  [ rrset-order { order_spec ; [ order_spec ; ... ] }; ]    No
  [ key ... ]						    Yes
  [ server ... ]					    Yes
  [ trusted-keys ... ]					    Yes
  [ sig-validity-interval number; ]			    Yes*
  [ min-refresh-time number ; ]				    Yes*
  [ max-refresh-time number ; ]				    Yes*
  [ min-retry-time number ; ]				    Yes*
  [ max-retry-time number ; ]				    Yes*
};
