On Wed, Jun 14, 2000 at 01:58:22PM -0500, Gerald Combs wrote: > As an experiment, I built Ethereal on a stock RH 6.2 system, then > downgraded the SNMP package to the version that comes with RH 6.1. > Ethereal ran without a hitch, so executables built with the newer library > would appear to be backward compatible. Well, somewhat. Prior to 4.1.1, "snmp_set_full_objid()" was a function. In 4.1.1, it was changed to be a macro that called ds_set_boolean(DS_LIBRARY_ID, DS_LIB_PRINT_FULL_OID, x); If Ethereal is built on a system with 4.1.1, it'll call "ds_set_boolean()" with those two arguments, and with TRUE as the "x" argument. 4.0.1 has "ds_set_boolean()", so the call in question won't fail due to the function not being present in the library; however, 4.0.1 doesn't have "DS_LIB_PRINT_FULL_OID", so it won't cause OIDs to be shown as fully qualified - and it looks as if what it'll do, instead, is to stomp the first byte after the "ds_booleans" array in the library. This may or may not cause a problem to show up, but it may be a bit risky. It may be that the library in RH 6.0 and 6.1 is later than 4.0.1, and may have a higher DS_MAX_SUBIDS value, greater than or equal to 16, so that, even if the "ds_set_boolean()" call doesn't set a boolean that's used, it won't stomp a random byte; I don't know what version came with those OSes.
Powered by MHonArc 2.6.10