net-snmp 3.9.6 → 3.9.7

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
@@ -3301,6 +3301,10 @@ Example programs are included under the module's `example` directory.
3301
3301
 
3302
3302
  * Add type constraint support for textual conventions
3303
3303
 
3304
+ ## Version 3.9.7 - 13/07/2023
3305
+
3306
+ * Add tolerance for reading malformed 32-bit unsigned integers
3307
+
3304
3308
  # License
3305
3309
 
3306
3310
  Copyright (c) 2020 Mark Abrahams <mark@abrahams.co.nz>
package/index.js CHANGED
@@ -392,6 +392,7 @@ function readUint32 (buffer) {
392
392
  if ( ! Number.isInteger(parsedInt) ) {
393
393
  throw new TypeError('Value read as integer ' + parsedInt + ' is not an integer');
394
394
  }
395
+ parsedInt = (parsedInt>>>0);
395
396
  if ( parsedInt < MIN_UNSIGNED_INT32 || parsedInt > MAX_UNSIGNED_INT32 ) {
396
397
  throw new RangeError('Read integer ' + parsedInt + ' is outside the unsigned 32-bit range');
397
398
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "net-snmp",
3
- "version": "3.9.6",
3
+ "version": "3.9.7",
4
4
  "description": "JavaScript implementation of the Simple Network Management Protocol (SNMP)",
5
5
  "main": "index.js",
6
6
  "directories": {
package/test/varbinds.js CHANGED
@@ -1,43 +1,49 @@
1
- /* eslint-disable no-unused-expressions */
2
-
3
- var ber = require ('asn1-ber').Ber;
4
- var assert = require('assert');
5
- var snmp = require('../');
1
+ const ber = require ('asn1-ber').Ber;
2
+ const assert = require('assert');
3
+ const snmp = require('../');
6
4
 
7
5
  describe('parseInt()', function() {
8
6
  describe('given a negative integer', function() {
9
- var writer = new ber.Writer();
7
+ const writer = new ber.Writer();
10
8
  writer.writeInt(-3);
11
- var reader = new ber.Reader(writer.buffer);
9
+ const reader = new ber.Reader(writer.buffer);
12
10
  it('returns a negative integer', function() {
13
- assert.equal(-3, snmp.ObjectParser.readInt(reader));
11
+ assert.equal(snmp.ObjectParser.readInt32(reader), -3);
14
12
  });
15
- }),
13
+ });
16
14
  describe('given a positive integer', function() {
17
- var writer = new ber.Writer();
15
+ const writer = new ber.Writer();
18
16
  writer.writeInt(3245689);
19
- var reader = new ber.Reader(writer.buffer);
17
+ const reader = new ber.Reader(writer.buffer);
20
18
  it('returns a positive integer', function() {
21
- assert.equal(3245689, snmp.ObjectParser.readInt(reader));
19
+ assert.equal(snmp.ObjectParser.readInt32(reader), 3245689);
22
20
  });
23
21
  });
24
22
  });
25
23
 
26
24
  describe('parseUint()', function() {
27
25
  describe('given a positive integer', function() {
28
- var writer = new ber.Writer();
26
+ const writer = new ber.Writer();
29
27
  writer.writeInt(3242425);
30
- var reader = new ber.Reader(writer.buffer);
28
+ const reader = new ber.Reader(writer.buffer);
31
29
  it('returns a positive integer', function() {
32
- assert.equal(3242425, snmp.ObjectParser.readUint(reader));
30
+ assert.equal(snmp.ObjectParser.readUint32(reader), 3242425);
33
31
  });
34
- }),
32
+ });
35
33
  describe('given a negative integer', function() {
36
- var writer = new ber.Writer();
34
+ const writer = new ber.Writer();
37
35
  writer.writeInt(-3);
38
- var reader = new ber.Reader(writer.buffer);
36
+ const reader = new ber.Reader(writer.buffer);
37
+ it('returns a positive integer', function() {
38
+ assert.equal(snmp.ObjectParser.readUint32(reader), 4294967293);
39
+ });
40
+ });
41
+ describe('given a large integer', function() {
42
+ const writer = new ber.Writer();
43
+ writer.writeInt(4294967294);
44
+ const reader = new ber.Reader(writer.buffer);
39
45
  it('returns a positive integer', function() {
40
- assert.equal(253, snmp.ObjectParser.readUint(reader));
46
+ assert.equal(snmp.ObjectParser.readUint32(reader), 4294967294);
41
47
  });
42
48
  });
43
49
  });