Commit Graph

440 Commits

Author SHA1 Message Date
Patrick Mooney b49c2efed2 Fix socket close event handling in node.js 0.11.x
Fix mcavage/node-ldapjs#205
2014-06-24 18:41:11 -05:00
Patrick Mooney ea96468602 Use proper Change object detection in client 2014-06-24 17:43:25 -05:00
Patrick Mooney 1d2cf79bff Add ducktyping Change.isChange method
Similar to Filter.isFilter, this should help mitigate instanceof issues.
2014-06-24 14:14:17 -05:00
Patrick Mooney a0fd56d7b3 Fix reconnect abort logic on client.destroy() 2014-06-24 13:25:21 -05:00
Patrick Mooney 41f99c5b1a Merge pfmooney/gh-202
Fix mcavage/node-ldapjs#202
2014-06-24 11:06:09 -05:00
Patrick Mooney acfaa69a07 Fix client RequestQueue
- Reference documented queue parameters
- Add freeze/thaw methods
2014-06-24 11:04:23 -05:00
Patrick Mooney 3b101a7b2f Cease reconnection when client.destroy is called 2014-06-24 05:45:06 -05:00
Patrick Mooney 00956eaae5 Add ducktyping Filter.isFilter method
This should make some headway in avoiding instanceof pitfalls when
dealing with Filter objects.

Fix mcavage/node-ldapjs#123
2014-06-23 18:09:56 -05:00
Patrick Mooney 72bfb9b0f7 Major overhaul of client connection logic
- Remove PooledClient
- Add reconnect functionality to client
- Add 'idle' client event and options
2014-06-23 16:15:52 -05:00
Patrick Mooney f3e376d40b Alter presence testing for Attribute vals
Ignoring a null 'vals' options while constructing a new Attribute object
will more closely mimic the behavior prior to mcavage/node-ldapjs#178.
2014-06-23 13:37:35 -05:00
Patrick Mooney ebbc3830e3 Update changelog 2014-06-20 09:46:44 -05:00
Patrick Mooney 8cd59a5a5d Alter usage message style
Use sections and env hints per trentm's suggestion.
2014-06-19 19:19:36 -05:00
Patrick Mooney 3e43fb3d0c Replace nopt with dashdash
- Use dashdash for arg parsing
- Add bin/ldapjs-* to jsl/jsstyle checks
- Fix code style issues

Fix mcavage/node-ldapjs#201
2014-06-18 18:42:49 -05:00
Patrick Mooney f213b3e9a2 Allow configuration of derefAliases client option
Fix mcavage/node-ldapjs#134
2014-06-16 10:07:55 -05:00
Patrick Mooney 6c8dbf9a29 Use plans instead of timeouts for server tests 2014-06-16 09:40:07 -05:00
Patrick Mooney 4dffd178ad Update jsstyle version 2014-06-16 09:31:12 -05:00
Patrick Mooney 98a8bdc23c Add CHANGES.md 2014-06-16 09:12:02 -05:00
Patrick Mooney e8593f78ce Add ServerSideSortingResponseControl 2014-06-09 15:58:01 -07:00
Patrick Mooney 352e4bbfba Rename ServerSideSortingControl
ServerSideSortingRequestControl will be more consistent when
ServerSideSortingResponseControl is implemented.
2014-06-09 15:37:19 -07:00
Patrick Mooney f1d4b667c3 Refactor ServerSideSortingControl
- Fix lint errors
- Always store SSSC sort fields as array
- Rename test file to match 'make test' pattern
2014-06-06 17:23:27 -05:00
Patrick Mooney 349e0f91bd Merge qvicksilver/server_side_sorting 2014-06-06 14:56:56 -05:00
Patrick Mooney d9b2b1378e Properly dispatch unbind requests
Fix mcavage/node-ldapjs#197
2014-06-06 14:05:08 -05:00
Patrick Mooney 5a6e781293 Handle string ports properly in server.listen
Parse port as an integer when possible in server.listen.  In addition to
fixing server.url output, this avoids some weird socket reuse behavior
when mixing string and integer types passed to net.listen.

Fix mcavage/node-ldapjs#196
2014-06-06 12:21:05 -05:00
Mark Cavage d6780e30cb Merge pull request #195 from pfmooney/route-pr
Server request routing update
2014-06-05 22:59:44 -07:00
Patrick Mooney e92977b514 Refactor server route handling
Force route lookups to proceed lexically through mounted endpoint DNs.
Mounting to a null ('') DN will act as the default route for requests
which aren't matched by defined routes.

Fix mcavage/node-ldapjs#154
Fix mcavage/node-ldapjs#111
2014-06-05 16:53:23 -05:00
Patrick Mooney 0427732c10 Add basic server API tests 2014-06-05 16:37:24 -05:00
Patrick Mooney 87117ecdec Use Buffer storage for EqualityFilter value
Store the value portion of EqualityFilter objects in raw attribute.
Certain binary-only comparisons (such as GUIDs or objectSIDs) are
difficult, if not impossible, to handle without direct binary access.
2014-06-01 19:46:11 -05:00
Patrick Mooney b7dab1ba50 Run all tests during 'make test' 2014-06-01 19:08:20 -05:00
= b742e286db Fixed parse method and added some tests 2014-05-30 20:57:06 +00:00
Patrick Mooney 2453e66b8c Merge pfmooney/err-rfc4370
Fix mcavage/node-ldapjs#190
2014-05-27 16:51:46 -05:00
= c1af9a8814 Server side sorting control tests 2014-05-26 21:12:14 +00:00
Patrick Mooney 8d0a2d0d99 Add error code 123 from RFC4370 2014-05-24 09:53:37 -05:00
Jonathan Süssemilch Poulain c5ccafd436 Server Side Sorting control 2014-05-16 17:10:24 +02:00
Patrick Mooney 8f1eb06ffa Perform strict presence testing on attribute vals
When initializing an Attribute object, the 'vals' option field was being
loosely tested for content presence.  By changing this test to a strict
comparison against undefined, Attribute object creation will be more
consistent across input values.

Fix mcavage/node-ldapjs#178
2014-05-11 20:38:37 -05:00
Patrick Mooney 4fb97a86b0 Merge pull request #183 from tmuellerleile/tls-createserver
Accept certificate/key as buffers (or strings) when initializing TLS
server socket.
2014-05-06 23:09:52 -05:00
Tobias Muellerleile e3d8ba2f37 Fixup for 501fb5a46b 2014-05-06 14:33:43 +02:00
Tobias Muellerleile 501fb5a46b Accept buffers for cert/key in createServer 2014-05-06 07:36:18 +02:00
Mark Cavage cf8adf4a4a Merge pull request #180 from trentm/cli-insecure-option
add '-i, --insecure' option and LDAPJS_TLS_INSECURE=1 envvar support to all ldapjs-* CLIs
2014-04-22 17:58:46 -07:00
Trent Mick 55abc4c757 add '-i, --insecure' option and LDAPJS_TLS_INSECURE=1 envvar support to all ldapjs-* CLIs
This is required when using node 0.10 and talking to a ldaps://
LDAP server with a self-signed cert. Otherwise you get:

    $ ./ldapjs-search --url ldaps://ldap.example.com:636 ...
    DEPTH_ZERO_SELF_SIGNED_CERT
2014-04-22 17:46:16 -07:00
Mark Cavage 0a8810996d v0.7.1 2014-04-04 14:14:18 -07:00
Patrick Mooney d530893cce Merge pfmooney/parser-error-handling
* pfmooney/parser-error-handling:
  Improve parser error handling
2014-04-04 15:14:32 -05:00
Mark Cavage 5e506dd254 #169: dependency updates 2014-04-04 13:07:27 -07:00
Mark Cavage 5203429d76 Merge pull request #173 from evanshortiss/master
Make dtrace-provider an optional dependency
2014-04-02 08:46:13 -07:00
Evan Shortiss 9afecfd788 Upadte to make dtrace-provider optional. Fix bug in original update. 2014-04-02 10:51:10 -04:00
Evan Shortiss b3b26a48fa Fix DTraceProvider name 2014-04-01 23:24:41 -04:00
Evan Shortiss a84546b7bd Update to make dtrace-provider optional. 2014-04-01 23:02:11 -04:00
Patrick Mooney 7c7c480eb8 Improve parser error handling
In cases where one side of the connection is not communicated with valid
ASN.1/BER, it would be better to fire an error event rather than let the
exception bubble all the way up.

Fix mcavage/node-ldapjs#142
2014-03-15 16:06:42 -05:00
Patrick Mooney d20308265a Circumvent lack of 'close' event for tls sockets
It appears that in node.js (at least recent versions), the 'close' event
is not emitted by TLS sockets.  The CleartextStream class specifies that
the 'close' event is optional, so such operation is allowed.  In order
to compensate, the event can be trapped at the raw net.socket instead.

Fix mcavage/node-ldapjs#161
2014-01-23 10:06:40 -06:00
Patrick Mooney c5cfc48da4 Remove buffertools dependency 2014-01-20 09:34:11 -06:00
Patrick Mooney bc19a98d06 Update buffertools dependency
Buffertools 2.0.1 is required to build on VC2013.
With the change to v2.x, the buffertools.extend() method must be called
to mimic the prototype extention behavior of the 1.x versions.

Fix mcavage/node-ldapjs#163
2014-01-18 14:42:21 -06:00