Commit Graph

279 Commits

Author SHA1 Message Date
Robert Kawecki 6b092cf70f Remove spaces from DNs in SearchRequest
This change fixes how DNs are serialized into BER for SearchRequest messages.
It drops spaces around commas, since it breaks some LDAP servers that expect
the DN to be separated by comma only as per RFC 4514. The old format of
spaced separators from LDAPv2 is thus no longer used.

For #611
2020-05-13 17:01:00 +02:00
Robert Kawecki 5204bb7ac0 Implement queueing events until a listener appears
This resolves an issue arising from using both a callback and an EventEmitter
together in the Client.search() API. Since the emitter would only be available
through the callback, some events could be emitted before the callback
is triggered, resulting in missed events.

This change incorporates a test case originally by László Szűcs (@ifroz).

For GH-602
2020-05-12 16:51:28 +02:00
Jon Ekdahl 7c00ca8188 Add server.getConnections (fix #415)
Add LDAP server method that delegates to node server.getConnection.
2020-02-19 20:02:57 +01:00
James Sumners 2901e48cb4
Merge branch 'next' into fix-bind-crash 2019-12-15 08:25:23 -05:00
Mathias Lundell d7d2e99275 refactor: resultError always emitted on error 2019-12-03 17:14:05 +01:00
Thomas P 9a3c7bab61
Merge branch 'next' into fix-bind-crash 2019-11-24 16:33:37 +01:00
James Sumners 1f12eca334
Add integration tests (#571)
* Initial integration test, um, test

* Hack in service

* Add integration test for issue #480

* Add fix for issue #418

* Add fix for issue #370
2019-11-16 10:48:00 -05:00
Thomas P c27e14960e
Avoid handling all errors now that blocking errors are handled properly 2019-10-12 00:35:19 +02:00
Thomas P eda98986f2
FIX: Refused connections are now handled gracefully 2019-10-12 00:34:27 +02:00
Thomas P d702c455bd
Refactor the patch to limit its scope to bind actions
This way, other tests keep passing
2019-10-11 23:23:46 +02:00
Thomas P bc61f67b12
Lint fixes 2019-10-11 22:54:53 +02:00
Thomas P ce243d5318
Update the patch to use the logger interface 2019-10-11 22:42:44 +02:00
Matthew Nakama 79f3625f61
handle Client.emit('error') events
This prevents node crashes from Client.bind() and etc.
We set a callback handler in the instance during bind()
and send errors to it.
2019-10-11 22:41:17 +02:00
James Sumners 5a31abaed0
Clean up options checking and add some tests 2019-09-29 09:09:18 -04:00
Soisik Froger fa6ffb4504
Merge branch 'next' into next-vls-controls 2019-09-21 17:55:30 +02:00
Tony Brix ecfefa7ff0 fix escapedToHex capturing \ 2019-09-18 14:35:10 -05:00
James Sumners db8d5f5ccb
Merge branch 'next' into next-vls-controls 2019-09-08 07:34:14 -04:00
sinistersig 06b1804d32 Ensure toString is not called on buffers 2019-09-06 11:27:37 +01:00
Soisik Froger 311c94ef15 Virtual List View control support 2019-09-04 12:13:51 +02:00
James Sumners 92341e770a
Refactor MessageTracker into testable module 2019-08-30 10:50:02 -04:00
James Sumners 2e1ef78108
Refactor client RequestQueue into testable module (#548)
* Refactor client RequestQueue into testable module

* Update test/lib/client/request-queue/enqueue.test.js

Co-Authored-By: Tony Brix <tony@brix.ninja>

* Update test/lib/client/request-queue/enqueue.test.js

Co-Authored-By: Tony Brix <tony@brix.ninja>

* Update test/lib/client/request-queue/enqueue.test.js

Co-Authored-By: Tony Brix <tony@brix.ninja>
2019-08-28 19:15:09 -04:00
James Sumners e2c9b12430
Apply standard linting to the code base (#539)
* Apply standard linting to the code base

* Specify files to lint

* Run lint as first stage

* Update travis config
2019-08-27 17:11:49 -04:00
James Sumners 6b514b97df
Refactor tests to be independent of each other 2019-08-27 14:17:33 -04:00
James Sumners bdbc1b1dbd
Merge pull request #529 from dododedodonl/next
Store buffer on extended request
2019-08-27 08:23:34 -04:00
acappella2017 a8b09f3f81 Support Node.js 10 (#497)
* Support node 10

* remove arrow function
2019-08-27 08:10:45 -04:00
dododedodonl b87e4bb288 store buffer on extended request 2019-08-27 14:04:45 +02:00
Stéphane Talbot e4264f7940 add a callback optionnal parameter for server.close method (#528)
* add a callback optionnal parameter for server.close method

net and tls server.close method accept an optional callback parameter.
ldapjs server.close method delegates to net or tls server.close method and accept now an optional callback parameter...

* add tests for server.close callback
2019-08-27 07:57:29 -04:00
Tony Brix 400af20e23 Update ldap filter (#521)
* update ldap-filter v0.3.3

* allow escaped characters

* remove failing tests

* remove arrow function

* remove template string
2019-08-26 09:59:21 -04:00
James Sumners ac55fba157
Merge pull request #405 from pbatey/master
destroy socket if auto-bind fails
2019-08-26 07:52:22 -04:00
Manfred Steiner b66da2c76e rebase to branch next, fixing issue #434 (can delete attributes) 2019-08-26 08:22:26 +02:00
Phil Batey 5f21dbf4cd destroy socket if auto-bind fails 2019-08-25 16:58:23 -06:00
James Sumners 2e2a0783bf
Create new instances of the null logger to remove potential side effects 2019-08-24 21:04:23 -04:00
James Sumners e9e8033fda
Remove dependency on Bunyan 2019-08-24 20:51:40 -04:00
Philipp Tusch 0e91a06137 Remove useless console.log 2016-10-18 22:32:50 -05:00
Vincent van der Weele bb2d018b2c Emit error object in case of ConnectionError 2016-03-16 17:01:26 +02:00
Patrick Mooney 540a3a1f5c Clean up asserts and getters in controls 2015-11-11 22:38:56 -06:00
Patrick Mooney 69c72dc45f Clean up DN asserts and tests 2015-11-02 22:55:25 -06:00
Patrick Mooney dcce6ebe1e Clean up getters/setters in errors 2015-11-02 22:31:02 -06:00
Patrick Mooney df43cab12d Clean up getters/setters and asserts in messages 2015-10-31 12:28:25 -05:00
Patrick Mooney cefd6f484d Move Change getters/setters to prototype 2015-10-31 09:50:23 -05:00
Patrick Mooney 5b8cbb755b Fix strict DN parsing in server 2015-10-31 09:03:53 -05:00
Patrick Mooney e8607819e2 Move server getters/setters to prototype 2015-10-31 08:34:51 -05:00
Patrick Mooney bdbff63bc0 Expose Client as top-level export 2015-10-27 21:53:15 -05:00
Patrick Mooney ccfd821700 Fix style/lint issues 2015-10-27 21:27:47 -05:00
Chris Broome 05445cb6ec Move Attribute getters/setters into prototype 2015-10-27 21:02:13 -05:00
Patrick Mooney c10a1a6faf Clean up client handling of end/error for searches 2015-10-15 21:49:34 -05:00
Patrick Mooney acc1ca8f43 Match objectClass case-insensitively in EqualityFilter
Fix mcavage/node-ldapjs#277
2015-06-29 20:20:06 -05:00
Patrick Mooney 1376e593a6 Remove special attribute formatting for objectGUID
- Conclude mcavage/node-ldapjs#218
- Clean up exports in index.js
2015-06-14 20:57:47 -05:00
Patrick Mooney 3ca7e6d98f Allow startTLS during client setup 2015-05-24 19:56:16 -05:00
Patrick Mooney 821569c2c4 Implement client-side StartTLS support 2015-05-13 22:26:42 -05:00