Commit Graph

103 Commits

Author SHA1 Message Date
James Sumners 0ed048233e Fix Set size querying 2023-02-22 14:09:27 -05:00
James Sumners f18dee40a2 Replace messages with @ldapjs/messages 2023-02-22 14:09:27 -05:00
James Sumners 9de9c703ab Migrate filter extensions (#809)
* Replace presence filter

* Replace equality filter

* Remove TODO

* Fix integration tests

* Replace approximate filter

* Replace extensible filter

* Replace greater-than-equals filter

* Replace less-than-equals filter

* Replace remaining filters

* Remove debug code

* Remove transition code

* Remove unnecessry isFilter

* Remove unused code

* Use LDAP filter string parsing from @ldapjs/filter

* Move BER filter parsing to @ldapjs/filter

* Fully replace internal filters module with @ldapjs/filter
2023-02-22 14:09:27 -05:00
James Sumners cb70776445 Replace protocol with module (#806) 2023-02-22 14:09:27 -05:00
James Sumners 4355893077 Replace internal controls with @ldapjs/controls (#797)
* Replace internal controls with @ldapjs/controls

* Replace EntryChangeNotificationControl

* Replace PagedResultsControl

* Replace ServerSideSortingRequestControl

* Replace ServerSideSortingResponseControl

* Replace VLV controls

* Reduce coverage requirement

* Fix dependency qualifier
2023-02-22 14:09:27 -05:00
Daniel Fiterman 02077a2779 force socket to be closed on destroy 2022-02-25 13:39:20 -05:00
John Johnston fc0346bce1 fix: lint fix 2021-07-29 10:13:47 -07:00
John Johnston 3e3fa4ba12 fix: client.add not adding buffers properly
Fixed while getting AD thumbnailPhoto to work.
2021-07-29 08:58:08 -07:00
Tony Brix 79c1b4ccf3
Merge branch 'master' into master 2021-05-27 14:08:37 -05:00
zhaoyunfeng e74ba91238 feat: now search callback response will emit SearchRequest after every search request is sent 2021-05-24 12:34:32 +08:00
Philippe Seewer e07656b233 SearchPager: Implement queueing events until a listener appears
This fixes the same problems for paged searches as does
https://github.com/ldapjs/node-ldapjs/pull/610 for unpaged searches.

By passing an EventEmitter via callback there exist cases when events
are emitted before listeners are registered, resulting in missed
events.

The Change turns SearchPager into a CorkedEmitter which is already
used as a solution for non paged searches. Doing so requires the
internal 'search' event to be dropped.

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

Signed-off-by: Philippe Seewer <philippe.seewer@bfh.ch>
2021-05-07 14:04:37 +02:00
Tony Brix bb475ab00f fix: emit error event if other error events are not listened to 2021-02-23 17:23:56 -06:00
Tony Brix de9926a329 chore(lint): fix no-unused-vars errors 2020-12-06 19:26:27 -06:00
Tony Brix 2489d87079 chore(lint): lint lib/ 2020-12-06 11:10:58 -06:00
Telepsis 95b4ebd618
Remove use of logging methods in conditional tests 2020-11-12 12:38:56 -05:00
Tony Brix c6fa25985b update devdependency standard to v16 2020-10-31 16:07:32 -05:00
Tony Brix 07555253ac chore(lint): fix linting errors 2020-10-24 16:22:11 +00:00
Martin Cizek cf29972990 fix 2020-09-18 15:36:12 +02:00
Martin Cizek c861135f80 Don't randomize first server 2020-09-18 15:32:22 +02:00
Martin Cizek f3804bbca6 cr 2020-09-18 06:15:25 +02:00
Martin Cizek d32a765ee9 cr 2020-09-17 17:49:58 +02:00
Martin Cizek f0c864ca85 Revert redundant changes 2020-09-17 16:58:16 +02:00
Martin Cizek 23e44b2959 cr 2020-09-17 16:46:34 +02:00
Martin Cizek f9ae5c12d8 Add test 2020-09-17 07:05:21 +02:00
Martin Cizek 3ca2c265da Support for arrays in url parameter 2020-09-17 06:28:03 +02:00
Martin Cizek 7d52f867a0 Client support multiple servers 2020-09-16 14:06:26 +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
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
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
acappella2017 a8b09f3f81 Support Node.js 10 (#497)
* Support node 10

* remove arrow function
2019-08-27 08:10:45 -04: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
Vincent van der Weele bb2d018b2c Emit error object in case of ConnectionError 2016-03-16 17:01:26 +02:00
Patrick Mooney bdbff63bc0 Expose Client as top-level export 2015-10-27 21:53:15 -05:00
Patrick Mooney c10a1a6faf Clean up client handling of end/error for searches 2015-10-15 21:49:34 -05:00
Patrick Mooney 3ca7e6d98f Allow startTLS during client setup 2015-05-24 19:56:16 -05:00