James Sumners
547ceb6fa1
Update deps
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
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
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
Vincent van der Weele
bb2d018b2c
Emit error object in case of ConnectionError
2016-03-16 17:01:26 +02: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
Patrick Mooney
821569c2c4
Implement client-side StartTLS support
2015-05-13 22:26:42 -05:00
Patrick Mooney
ec062d370c
Improve empty DN handling
...
- Use more strict comparisons for client input asserts
- Fix baseObject comparison in SearchRequest initialization
- Alter default error for server route fallthrough
2015-04-25 20:53:50 -05:00
Matt Simerson
19f2c16783
Allow simple client bind with empty credentials
...
Fix mcavage/node-ldapjs#254
2015-04-13 23:40:58 -05:00
Patrick Mooney
408e7c9f99
Support invalid DNs in client/server
...
Some LDAP implementations (mainly AD and Outlook) accept and/or output
DNs that are not valid. To support interaction with these invalid DNs a
strictDN flag (default: true) has been added to the client and server
constructors. Setting this flag to false will allow use of
non-conforming DNs.
When disabling strictDN in the ldapjs client, strings which wouldn't
parse into a DN can then be passed to the ldap operation methods. It
also means that some methods (such as search) may return results with
string-formatted DNs instead of DN objects.
When disabling strictDN in the ldapjs server, incoming requests that
contain invalid DNs will be routed to the default ('') handler for that
operation type. It is your responsiblity to differentiate between
string-type and object-type DNs in those handlers.
Fix mcavage/node-ldapjs#222
Fix mcavage/node-ldapjs#146
Fix mcavage/node-ldapjs#113
Fix mcavage/node-ldapjs#104
2014-09-30 18:39:19 -05:00
Patrick Mooney
92362e01f3
Improve parser error handling
...
- Wrap parser errors with VError
- Catch initial potential sequence errors
- Improve parser test coverage
- Emit parser errors instead of implicitly logging
Fix mcavage/node-ldapjs#221
2014-09-16 15:23:21 -05:00