Skip to content
This repository was archived by the owner on Feb 4, 2022. It is now read-only.

Commit 728d897

Browse files
Fongermbroadst
authored andcommitted
fix(buffer): use safe-buffer polyfill to maintain compatibility
node.js < 4.5 and node.js < 5.9 doesn't support Buffer.alloc and Buffer.from
1 parent 645d73d commit 728d897

File tree

11 files changed

+32
-4
lines changed

11 files changed

+32
-4
lines changed

lib/auth/scram.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ var f = require('util').format,
44
crypto = require('crypto'),
55
retrieveBSON = require('../connection/utils').retrieveBSON,
66
Query = require('../connection/commands').Query,
7-
MongoError = require('../error').MongoError;
7+
MongoError = require('../error').MongoError,
8+
Buffer = require('safe-buffer').Buffer;
89

910
let saslprep;
1011

lib/connection/commands.js

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ var retrieveBSON = require('./utils').retrieveBSON;
44
var BSON = retrieveBSON();
55
var Long = BSON.Long;
66
const MongoError = require('../error').MongoError;
7+
const Buffer = require('safe-buffer').Buffer;
78

89
// Incrementing request id
910
var _requestId = 0;

lib/connection/connection.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ var inherits = require('util').inherits,
1313
MongoNetworkError = require('../error').MongoNetworkError,
1414
Logger = require('./logger'),
1515
OP_COMPRESSED = require('../wireprotocol/shared').opcodes.OP_COMPRESSED,
16-
MESSAGE_HEADER_SIZE = require('../wireprotocol/shared').MESSAGE_HEADER_SIZE;
16+
MESSAGE_HEADER_SIZE = require('../wireprotocol/shared').MESSAGE_HEADER_SIZE,
17+
Buffer = require('safe-buffer').Buffer;
1718

1819
var _id = 0;
1920
var debugFields = [

lib/connection/pool.js

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const uncompressibleCommands = require('../wireprotocol/compression').uncompress
1818
const resolveClusterTime = require('../topologies/shared').resolveClusterTime;
1919
const apm = require('./apm');
2020
const defaultAuthProviders = require('../auth/defaultAuthProviders').defaultAuthProviders;
21+
const Buffer = require('safe-buffer').Buffer;
2122

2223
var DISCONNECTED = 'disconnected';
2324
var CONNECTING = 'connecting';

lib/topologies/replset_state.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ var inherits = require('util').inherits,
66
EventEmitter = require('events').EventEmitter,
77
Logger = require('../connection/logger'),
88
ReadPreference = require('./read_preference'),
9-
MongoError = require('../error').MongoError;
9+
MongoError = require('../error').MongoError,
10+
Buffer = require('safe-buffer').Buffer;
1011

1112
var TopologyType = {
1213
Single: 'Single',

lib/topologies/shared.js

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const os = require('os');
44
const f = require('util').format;
55
const ReadPreference = require('./read_preference');
6+
const Buffer = require('safe-buffer').Buffer;
67

78
/**
89
* Emit event if it exists

package-lock.json

+18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
],
2222
"dependencies": {
2323
"bson": "^1.1.0",
24-
"require_optional": "^1.0.1"
24+
"require_optional": "^1.0.1",
25+
"safe-buffer": "^5.1.2"
2526
},
2627
"devDependencies": {
2728
"chai": "^4.1.2",

test/tests/functional/server_tests.js

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const Server = require('../../../lib/topologies/server');
77
const Bson = require('bson');
88
const Connection = require('../../../lib/connection/connection');
99
const mock = require('mongodb-mock-server');
10+
const Buffer = require('safe-buffer').Buffer;
1011

1112
describe('Server tests', function() {
1213
it('should correctly connect server to single instance', {

test/tests/unit/common.js

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const mock = require('mongodb-mock-server');
44
const ObjectId = require('bson').ObjectId;
55
const Timestamp = require('bson').Timestamp;
66
const Binary = require('bson').Binary;
7+
const Buffer = require('safe-buffer').Buffer;
78

89
class ReplSetFixture {
910
constructor() {

test/tests/unit/scram_iterations_tests.js

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const expect = require('chai').expect;
44
const mock = require('mongodb-mock-server');
55
const Server = require('../../../lib/topologies/server');
6+
const Buffer = require('safe-buffer').Buffer;
67

78
describe('SCRAM Iterations Tests', function() {
89
const test = {};

0 commit comments

Comments
 (0)