[erlang-patches] SNMP: fix problems with empty table RowIndex

Stefan Zegenhagen <>
Wed Aug 1 11:50:06 CEST 2012

Dear all,

These patches are being resubmitted as attachment so that they apply
cleanly on the current "maint" branch.

During intensive testing it was found that it's possible to create table
rows in, e.g., snmpTargetAddrTable that have an empty RowIndex and
thereby violate the MIB's constraints on the row indices.

To solve the issue, the function snmp_generic:split_index_to_keys/2 is
modified to respect the minimum/maximum length of row index components
as given in the corresponding #asn1_type{} by the first patch.

The second patch modifies the SNMP set request handling to use the above
mentioned function and verify that table row indices are syntactically
correct even before calling the instrumentation functions.

The same is *NOT* done for
      * get requests because these will not return anything useful if
        invalid rows can no longer be created, and
      * get-next requests because there, row indices have a different
        semantic and are allowed to be invalid.

Kind regards,

Dr. Stefan Zegenhagen

arcutronix GmbH
Garbsener Landstr. 10
30419 Hannover

Tel:   +49 511 277-2734
Fax:   +49 511 277-2709
Web:   www.arcutronix.com

*Synchronize the Ethernet*

General Managers: Dipl. Ing. Juergen Schroeder, Dr. Josef Gfrerer -
Legal Form: GmbH, Registered office: Hannover, HRB 202442, Amtsgericht
Hannover; Ust-Id: DE257551767.

Please consider the environment before printing this message.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-fix-snmp_generic-split_index_to_keys-2.patch
Type: text/x-patch
Size: 2531 bytes
Desc: not available
URL: <http://erlang.org/pipermail/erlang-patches/attachments/20120801/b37ab10b/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-verify-table-row-index-constraints-in-SNMP-set-reque.patch
Type: text/x-patch
Size: 5455 bytes
Desc: not available
URL: <http://erlang.org/pipermail/erlang-patches/attachments/20120801/b37ab10b/attachment-0001.bin>

More information about the erlang-patches mailing list