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