Fwd: Re: Odd problems trying to make use of libbind as a replacement resolver...

Mark Andrews Mark_Andrews at isc.org
Tue Oct 18 00:58:00 UTC 2005


> Brad Knowles wrote:
> 
> >Folks,
> >
> >	Sorry, I wanted to make a correction to my previous statement:
> >
> >  
> >
> >>	BIND-4 was the second to worst "spaghetti code" mess that this industry
> >> has ever seen, and BIND 8 was probably the worst.
> >>    
> >>
> >
> >	Turn that around.  BIND-8 was the second-worst "spaghetti code" 
> >mess, while BIND-4 was the worst.  The development team that Paul 
> >Vixie drew together around him did the best they could to clean up 
> >the BIND-4 code, but there was only so much they could do.  Which is 
> >part of why BIND-9 was done as a complete ground-up re-write.
> >
> >	There is a page at the ISC website entitled "A Brief History of 
> >BIND" at <http://www.isc.org/index.pl?/sw/bind/bind-history.php>, and 
> >there is also some information at <http://en.wikipedia.org/wiki/BIND> 
> >and <http://www.serverwatch.com/tutorials/article.php/3497601#hist>, 
> >among others.
> >
> I'm not so sure I agree with that. Both BIND 4 and BIND 8 were pretty 
> bad structurally, but BIND 8 added a whole raft of new features which 
> made the spaghetti even thicker and goopier. I think this outweighed 
> whatever heroic cleanup efforts they attempted...
> 
> - Kevin

	libbind / libresolv has problems which make it hard to evolve.

	* it has has public state structure => applications know the library
	  internals.
	* state is share between functions   (bad for threads)
	* the original get*by*() return pointers to static variables
					     (bad for threads)

	Mark
--
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: Mark_Andrews at isc.org



More information about the bind-users mailing list