diff --git a/lib/messages/message.js b/lib/messages/message.js index 516f650..571611d 100644 --- a/lib/messages/message.js +++ b/lib/messages/message.js @@ -66,7 +66,7 @@ LDAPMessage.prototype.parse = function (ber) { this.log.trace('parse: data=%s', util.inspect(ber.buffer)); // Delegate off to the specific type to parse - this._parse(ber, ber.remain); + this._parse(ber, ber.length); // Look for controls if (ber.peek() === 0xa0) { diff --git a/test/client.test.js b/test/client.test.js index 3d42fd0..c2936de 100644 --- a/test/client.test.js +++ b/test/client.test.js @@ -297,6 +297,19 @@ test('delete success', function (t) { }); +test('delete with control (GH-212)', function (t) { + var control = new ldap.Control({ + type: '1.2.3.4', + criticality: false + }); + client.del('cn=delete, ' + SUFFIX, control, function (err, res) { + t.ifError(err); + t.ok(res); + t.end(); + }); +}); + + test('exop success', function (t) { client.exop('1.3.6.1.4.1.4203.1.11.3', function (err, value, res) { t.ifError(err);