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]

Reply via email to