ndc error on / AIX4.3.2

Mathias Koerber mathias at staff.singnet.com.sg
Wed Dec 8 01:28:44 UTC 1999

On Tue, 7 Dec 1999, Paul A Vixie wrote:

| Date: Tue, 07 Dec 1999 17:19:50 -0800
| From: Paul A Vixie <vixie at mibh.net>
| To: bind-workers at isc.org
| Subject: Re: ndc error on / AIX4.3.2 
| > | no.  if the config file isn't valid, named should not start.  starting
| > | with an errorenous config file will give undefined (erroneous) results.
| > | the right solution to this is...
| > 
| > Sure, but a syntax problem in one zone statement should
| > not affect all other zones? There are some things that
| > I think can/should be compartmentatlized w/o severely affecting
| > usability.
| this is a yacc parser.  there is no way to distinguish error severities
| between an extra "}" (which would make the rest of the file unreadable)
| and "type mister" (misspelled keyword).  there are other things which
| can occur after parsing, like ACL names not matching, that could be
| treated as warnings rather than errors, but anything which caused a zone
| to not load should in my opinion be fatal to the entire configuration.
| > Many of us reload named by script, in which case an error message
| > and total refusal to start would be worse than just losing a sinngle
| > zone.
| yes, which is why i made my other proposal...
| > | ...which could be done in bind8 except that bind8's error messages are not
| > | all that crisp and sometimes the line numbers are off and so on.  i'd like
| > | to see "ndc reconfig" do offline syntax checking of all changed files and
| > | display decent error messages to the "ndc" stdout (rather than syslog) and
| > | refuse to load the new config file if it had any errors.
| > 
| > Than would be fine.

Hmm. The more I think about it it would be nice, but not the ultimate goal.
So 'fine' would have been an overstatement.

To say it in other words: If the syntax of named.conf makes it mostly impossible
	- differentiate between different error severities
	- recover from missing syntax elements in one directive 'zone' so that other
	  directives can still be processed, to allow at least some of the
	  functionality w.o rendering the whole named hors de combat (sp?)

why was that configuration file structure/syntax chosen?

A 'zone' statement can not be part of any other statement. Thus, cannot the parser
be rewritten such that it considers each zone statement separately. If there is
a problem in one zone statrement (missing/superfuous '}', spelling mistakes etc)
and ffwd to the next zone statement to continue?
I agree that errors in the ACL, LOGGING, OPTIONS etc should be considered fatal,
but inside a zone-statement not.

| ...and now i just need to write it up and put it on the work queue.

Mathias Koerber	  | Tel: +65 / 471 9820    |   mathias at staff.singnet.com.sg
SingNet NOC	  | Fax: +65 / 475 3273    |            mathias at koerber.org
Q'town Tel. Exch. | PGP: Keyid: 768/25E082BD, finger mathias at singnet.com.sg
2 Stirling Rd     |      1A 8B FC D4 93 F1 9A FC BD 98 A3 1A 0E 73 01 65
S'pore 148943     | Disclaimer: I speak only for myself
* Eifersucht ist eine Leidenschaft, die mit Eifer sucht, was Leiden schafft *

More information about the bind-workers mailing list