net-snmp 3.26.0 → 3.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3715,6 +3715,10 @@ Example programs are included under the module's `example` directory.
3715
3715
 
3716
3716
  * Add strict integer range checking as optional
3717
3717
 
3718
+ # Version 3.26.1 - 21/01/2026
3719
+
3720
+ * Fix deleteTableRow string index handling
3721
+
3718
3722
  # License
3719
3723
 
3720
3724
  Copyright (c) 2020 Mark Abrahams <mark@abrahams.co.nz>
@@ -58,7 +58,7 @@ var ifEntryRow1 = mib.getTableRowCells ("ifEntry", [2]);
58
58
  // ifXEntry
59
59
  // AUGMENTS ifEntry - meaning a single integer foreign key
60
60
  mib.addTableRow ("ifXEntry", [1, "eth0", 10, 2, 20, 4, counter64(1000), counter64(100), counter64(50), counter64(20),
61
- counter64(2000), counter64(200), counter64(100), counter64(40), 1, 1000, 0, 1, "myeth0", 10]);
61
+ counter64(2000), counter64(200), counter64(100), counter64(40), 1, 1000, 1, 1, "myeth0", 10]);
62
62
  var ifXEntryRow1 = mib.getTableRowCells ("ifXEntry", [1]);
63
63
  // console.log (ifXEntryRow1);
64
64
  var ifXEntryData1 = mib.getTableCells ("ifXEntry", false, false);
@@ -83,7 +83,7 @@ var ifStackEntryCell1 = mib.getTableSingleCell ("ifStackEntry", 3, [1, 2]);
83
83
 
84
84
  // ifRcvAddressEntry
85
85
  // Composite index - one foreign integer column, one local string column
86
- mib.addTableRow ("ifRcvAddressEntry", [1, "24:41:8c:08:87:5c", 1, 6]);
86
+ mib.addTableRow ("ifRcvAddressEntry", [1, "24:41:8c:08:87:5c", 1, 1]);
87
87
  var ifRcvAddressEntryRow1 = mib.getTableRowCells ("ifRcvAddressEntry", [1, "24:41:8c:08:87:5c"]);
88
88
  var ifRcvAddressEntryCell1 = mib.getTableSingleCell ("ifRcvAddressEntry", 3, [1, "24:41:8c:08:87:5c"]);
89
89
  var ifRcvAddressEntryData1 = mib.getTableCells ("ifRcvAddressEntry", false, false);
@@ -114,7 +114,7 @@ mib.addTableRow ("sysOREntry", [1, "1.3.6.1.4.1.47491.42.43.44.45", "I've dreame
114
114
  // mib.dump ();
115
115
 
116
116
  var modules = store.getModules (true);
117
- var one = store.getModule ("SNMPv2-MIB");
117
+ var one = store.getModule ("SNMPv2-SMI");
118
118
  var names = store.getModuleNames (true);
119
119
 
120
120
  // console.log("All modules: ", JSON.stringify(modules, '', 2));
package/index.js CHANGED
@@ -4619,7 +4619,13 @@ Mib.prototype.getTableRowInstanceFromRowIndex = function (provider, rowIndex) {
4619
4619
  var keyPart;
4620
4620
  for ( var i = 0; i < provider.tableIndex.length ; i++ ) {
4621
4621
  indexPart = provider.tableIndex[i];
4622
- keyPart = rowIndex[i];
4622
+ // If rowIndex is a string and there's only one index part, use the string directly
4623
+ // Otherwise, use rowIndex[i] (for arrays or when there are multiple index parts)
4624
+ if ( typeof rowIndex === 'string' && provider.tableIndex.length === 1 ) {
4625
+ keyPart = rowIndex;
4626
+ } else {
4627
+ keyPart = rowIndex[i];
4628
+ }
4623
4629
  rowIndexOid = rowIndexOid.concat (this.getOidAddressFromValue (keyPart, indexPart));
4624
4630
  }
4625
4631
  return rowIndexOid;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "net-snmp",
3
- "version": "3.26.0",
3
+ "version": "3.26.1",
4
4
  "description": "JavaScript implementation of the Simple Network Management Protocol (SNMP)",
5
5
  "author": "Mark Abrahams <mark@abrahams.co.nz>",
6
6
  "license": "MIT",
package/test/mib.test.js CHANGED
@@ -113,6 +113,16 @@ describe('MIB', function () {
113
113
  const data = mib.getTableCells('testEntry1', true, true);
114
114
  assert.deepEqual(data, [[ [2], 'CellValue2']]);
115
115
  });
116
+
117
+ it('deletes a table row with string index', function () {
118
+ const row1 = ['ABC', 100];
119
+ const row2 = ['XYZ', 200];
120
+ mib.addTableRow('testEntry2', row1);
121
+ mib.addTableRow('testEntry2', row2);
122
+ mib.deleteTableRow('testEntry2', 'ABC');
123
+ const data = mib.getTableCells('testEntry2', true, true);
124
+ assert.deepEqual(data, [[ ['XYZ'], 200]]);
125
+ });
116
126
  });
117
127
 
118
128
  describe('registerProvider() - scalar defVal', function () {