net-snmp 3.16.1 → 3.17.0
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 +4 -0
- package/example/mib-parser.js +9 -9
- package/index.js +15 -5
- package/package.json +1 -1
package/README.md
CHANGED
@@ -3436,6 +3436,10 @@ Example programs are included under the module's `example` directory.
|
|
3436
3436
|
|
3437
3437
|
* Fix loading of MIB directory paths with periods
|
3438
3438
|
|
3439
|
+
## Version 3.17.0 - 01/01/2025
|
3440
|
+
|
3441
|
+
* Relax validation of unknown object types
|
3442
|
+
|
3439
3443
|
# License
|
3440
3444
|
|
3441
3445
|
Copyright (c) 2020 Mark Abrahams <mark@abrahams.co.nz>
|
package/example/mib-parser.js
CHANGED
@@ -8,7 +8,7 @@ var providers;
|
|
8
8
|
var mibDir = '/var/tmp/mibs/';
|
9
9
|
|
10
10
|
var counter64 = function (num) {
|
11
|
-
var buf = Buffer.alloc (
|
11
|
+
var buf = Buffer.alloc (8);
|
12
12
|
buf.writeUInt32BE (num);
|
13
13
|
return buf;
|
14
14
|
};
|
@@ -57,15 +57,15 @@ var ifEntryRow1 = mib.getTableRowCells ("ifEntry", [2]);
|
|
57
57
|
|
58
58
|
// ifXEntry
|
59
59
|
// AUGMENTS ifEntry - meaning a single integer foreign key
|
60
|
-
|
61
|
-
|
62
|
-
|
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]);
|
62
|
+
var ifXEntryRow1 = mib.getTableRowCells ("ifXEntry", [1]);
|
63
63
|
// console.log (ifXEntryRow1);
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
64
|
+
var ifXEntryData1 = mib.getTableCells ("ifXEntry", false, false);
|
65
|
+
var ifXEntryData2 = mib.getTableCells ("ifXEntry", true, false);
|
66
|
+
var ifXEntryData3 = mib.getTableCells ("ifXEntry", false, true);
|
67
|
+
var ifXEntryData4 = mib.getTableCells ("ifXEntry", true, true);
|
68
|
+
mib.setTableSingleCell ("ifXEntry", 1, [1], "another0");
|
69
69
|
|
70
70
|
// ifStackEntry
|
71
71
|
// Composite index - two local columns
|
package/index.js
CHANGED
@@ -641,7 +641,8 @@ ObjectTypeUtil.isValid = function (type, value) {
|
|
641
641
|
case ObjectType.Boolean: {
|
642
642
|
return typeof value == "boolean";
|
643
643
|
}
|
644
|
-
case ObjectType.Integer:
|
644
|
+
case ObjectType.Integer:
|
645
|
+
case ObjectType.Integer32: {
|
645
646
|
// Allow strings that can be parsed as integers
|
646
647
|
const parsed = Number(value);
|
647
648
|
return ! isNaN (parsed) && Number.isInteger (parsed) && parsed >= MIN_SIGNED_INT32 && parsed <= MAX_SIGNED_INT32;
|
@@ -653,15 +654,24 @@ ObjectTypeUtil.isValid = function (type, value) {
|
|
653
654
|
case ObjectType.OID: {
|
654
655
|
return typeof value == "string" && value.match (/^([0-9]+)(\.[0-9]+)+$/);
|
655
656
|
}
|
656
|
-
case ObjectType.Counter:
|
657
|
+
case ObjectType.Counter:
|
658
|
+
case ObjectType.Counter32:
|
659
|
+
case ObjectType.Gauge:
|
660
|
+
case ObjectType.Gauge32:
|
661
|
+
case ObjectType.Unsigned32: {
|
657
662
|
// Allow strings that can be parsed as integers
|
658
663
|
const parsed = Number(value);
|
659
664
|
return ! isNaN (parsed) && Number.isInteger (parsed) && parsed >= 0 && parsed <= MAX_UNSIGNED_INT32;
|
660
665
|
}
|
661
666
|
case ObjectType.Counter64: {
|
662
|
-
|
663
|
-
|
664
|
-
|
667
|
+
if ( value instanceof Buffer ) {
|
668
|
+
// Allow buffers of 8 bytes - should do further check to see if it translates to a valid integer
|
669
|
+
return value.length == 8;
|
670
|
+
} else {
|
671
|
+
// Allow strings that can be parsed as integers
|
672
|
+
const parsed = Number(value);
|
673
|
+
return ! isNaN (parsed) && Number.isInteger (parsed) && parsed >= 0;
|
674
|
+
}
|
665
675
|
}
|
666
676
|
case ObjectType.IpAddress: {
|
667
677
|
const octets = value.split(".");
|