Ethereal-dev: Re: [Ethereal-dev] Recent Red Had ucd-snmp packages

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <gharris@xxxxxxxxx>
Date: Tue, 11 Dec 2001 23:39:53 -0800
On Tue, Dec 11, 2001 at 11:32:46PM -0600, Gerald Combs wrote:
> I just discovered an interesting feature in recent Red Hat Linux ucd-snmp
> packages.

Sigh.

At Sun, we came up with the notion of major and minor version numbers
for shared libraries *over 10 years ago*, in SunOS 4.0; if you change
the library in such a fashion that binaries that work with the previous
version of the library won't work with the new version of the library,
you change the major version number of the library, so that old binaries
*don't bind to the new version of the library*.

I've added a comment to the bug in question explaining this *and*
explaining how, if they didn't change the major version number because
they didn't want to break application linked against the old version of
the library that *didn't* use the "sprint_XXX()" APIs, they should have
two versions of the library, one with the old version number and with
the old routines either not exported or (if that can't be done because
other modules in the library use it) with those routines given bogus
names, and another with the new version number and the new routines
exported.

But, frankly, given that this also breaks *source* compatibility, the
names of the routines should probably have been changed to
"sbuf_sprint_XXX()" or something such as that.