Why ISC developing wheel again?

Adam Tkac atkac at redhat.com
Thu Oct 4 10:54:47 UTC 2007


Hi all,

I've checkouted 9.5.0a7 from CVS and I'm really baffled how ISC try implement all standard libc functions. Quick example - nsupdate.c source contains isc_string_printf function. But BIND source also contains isc_print_snprintf function. And C99 standard defines snprintf() function. All those three functions are same. Why we have those duplicated functions? I know that you want run BIND on all systems. But implementing all infrastructure directly in BIND is very very bad. If I compare that backward compatibility with recent discussion about EDNS0 and edns option (you said EDNS0 is 8 years old, all should implement it) how old is C99 standard? Why you don't trust library developers and you try implement all infrastructure yourself? nsupdate changelog says "Cleanup nsupdates GSS-TSIG support" - but I think better term will be "Create more confusions in nsupdate". Please think again about that nasty backward compatibility. And if you decide you need it better should be use configure defined macros like #ifndef HAVE_FUNCTION use_isc_one() #endif. If I exaggerate it one fine day you decide kernel has many bugs so why don't implement it in BIND? :)

Adam


More information about the bind-workers mailing list