On Sun, Sep 17, 2006 at 03:15:50AM -0400, José Parrella wrote: > tags 385883 +patch > thank you > > I have succesfully built a Debian package which updates the references > to three functions which changed in tinysnmp's API. While the > compilation still produces warnings, I've been able to run ORCA with the > default configuration file without noticing any segfaults. > > However, since I'm not an ORCA user, it would be nice if someone could > test this package (which is available in [1]) and give me some feedback > in order to prepare a NMU. I have already solved several other packaging > issues in this package (including some patches made by Niko, compliance > with 3.7.2, etc.)
> [1] http://debian.bureado.com.ve/orca/ Hi, thanks for looking into this. I think the patch still needs some work, though. Some observations: - if you're going to repackage the original tarball for an NMU, please remove the i386 object files inside as well. See #388209. - the snmp_free() calls should probably be just 'snmp_free (value,1)' instead of 'snmp_free (&value,1)' - converting snmp_open() isn't that simple, as you're now losing all the information about the SNMP community, timeout and retries and even throwing away the socket to the remote end that's built earlier. I can't see how this could work. I suppose the right thing would be to call snmp_init_community() and snmp_init_addr() first. The retry part must probably be coded into router_open(), and the timeout could be handled with snmp_open_s(). - error handling: at least snmp_open() and snmp_get_next() now also returns SNMP_ERROR on failure; maybe there are more? - more error handling: the functions in router.c now return their error codes sometimes with errno, sometimes through abz_get_error(), but the caller gets no indicator about which one it should use. This is the point where I gave up preparing a patch when I last looked at this. I suppose the easiest hack would be to return eg. -1 for the old errno cases and -2 when the error should be retrieved abz_get_error(), and then recognize this in the caller code (mostly in src/main.c, I think.) I'll see if I can find the time to fix these myself. Cheers, -- Niko Tyni [EMAIL PROTECTED]