BUG in nsd 2.0.0

Erik Rozendaal erik at NLnetLabs.nl
Wed Feb 18 10:12:28 CET 2004


Peter Hessler wrote:
> I have a few domains, and I use an $INCLUDE for my common things (MX, www,
> NS, etc).  My main domain has all sorts of stuff after the $INCLUDE, but my
> other ones don't.  I tried to change that, and I determined that nsd only
> parses the rest of the file after $INCLUDE, if it is the first primary
> domain listed (Might be the first one with an $INCLUDE listed, I didn't try
> that far).  (To explain using my domains as an example: theapt.org has all
> of the file parsed, but hessler.name is only parsed up to (and including)
> the $INCLUDE.)
> 
> This system is OpenBSD/macppc -current, with nsd installed from the ports
> tree.  I don't have an i386 machine to test that configuration on.  My
> config files are at http://theapt.org/nsd/ for your viewing pleasure.  

I've opened a bug report on this (bug #78, 
http://www.nlnetlabs.nl/bugs/show_bug.cgi?id=78).  I've also attached a 
patch that should fix this problem.  Could you try this patch?

Erik
-------------- next part --------------
Index: zlexer.lex
===================================================================
RCS file: /cvs/nsd/zlexer.lex,v
retrieving revision 1.35
diff -c -r1.35 zlexer.lex
*** zlexer.lex	11 Feb 2004 09:01:31 -0000	1.35
--- zlexer.lex	18 Feb 2004 09:05:48 -0000
***************
*** 144,152 ****
  			        BEGIN(INITIAL);
          		}	
  <<EOF>>			{	/* end of file is reached - check if we were including */
!         			if ( --include_stack_ptr < 0 )
! 				            yyterminate();
!         			else {
  					/* pop (once you pop, you can not stop) */
  					current_parser->filename =
  						zparser_stack[include_stack_ptr].filename;
--- 144,154 ----
  			        BEGIN(INITIAL);
          		}	
  <<EOF>>			{	/* end of file is reached - check if we were including */
! 				if (include_stack_ptr == 0) {
! 					yyterminate();
!         			} else {
! 					--include_stack_ptr;
! 					
  					/* pop (once you pop, you can not stop) */
  					current_parser->filename =
  						zparser_stack[include_stack_ptr].filename;


More information about the nsd-users mailing list