Commit Graph

302 Commits

Author SHA1 Message Date
Patrick Mooney e03d40957e Fix some ClientPool event handling
Emit connectTimeout and error events from ClientPool as Client would.
2013-10-24 21:04:50 -05:00
Patrick Mooney 0d12eef3ff Improve DN formatting flexibility
- Add 'spaced' function to DN objects allowing toggle of inter-RDN when
  rendering to a string.  ('dc=test,dc=tld' vs 'dc=test, dc=tld')

- Detect RDN spacing when parsing DN.
2013-10-24 18:27:42 -05:00
Pedro Palazón Candel 6c00badd95 Fixed Typo on AddRequest.getAttribute 2013-10-08 19:57:53 +02:00
Lloyd Hilaiel 04eab4716c allow binding ldap server on an ephemeral port 2013-05-27 14:49:44 -06:00
Pedro Palazón Candel a796c3efbf remove listeners on the right object (s/client/res/) 2013-04-30 21:16:45 +03:00
José F. Romaniello 0bd66caae9 Fixes #127 - socket is closed issue with pools 2013-04-10 10:17:23 -03:00
Tobias Muellerleile 4708b61cf4 Allow changing TLS connection options in client 2013-03-15 13:23:43 +01:00
Matti Kononen a73a7ecb2c Fixed a bug with formatting digits less than 16. 2013-02-28 08:48:04 +02:00
Rob Gulewich f52a29e24c GH-118: "failed to instantiate provider" warnings in console on SmartOS 2013-02-25 21:11:52 -08:00
Mark Cavage 3fc422ac2b filter parsing not catching (() 2013-02-07 18:16:40 +00:00
Mark Cavage 5a79884977 allow _ in search filters 2013-01-31 15:51:23 +00:00
Mark Cavage 5157e72f5d Merge branch 'master' of git://github.com/morphar/node-ldapjs into morphar-master 2013-01-31 01:06:40 +00:00
Mark Cavage 55ba2d1855 lint cleanup 2013-01-30 23:58:40 +00:00
Mark Cavage 9e35cf76ac Merge branch '109-escape-filter' of git://github.com/Kenoxa/node-ldapjs into Kenoxa-109-escape-filter 2013-01-30 23:54:34 +00:00
Mark Cavage ea8aac5781 lint cleanup 2013-01-30 23:52:44 +00:00
Mark Cavage 9cfeed0bdc Merge branch 'master' of git://github.com/DenisVuyka/node-ldapjs into DenisVuyka-master 2013-01-30 23:50:48 +00:00
Mark Cavage 24e02f8d88 throw on all bad filters 2013-01-30 23:50:19 +00:00
Mark Cavage 0535dd8534 version bump 2013-01-29 18:38:39 +00:00
Denis Vuyka 2b433bb3ad Added objectGUID formatting support
see readme for more details
2013-01-15 22:19:20 +02:00
Doug Campbell efb3ea98b7 make changes recommended in Issue 97 2013-01-14 17:14:35 +08:00
Sascha Tandel 20368c58c1 #109: escape filter attribute/values only in toString() 2013-01-11 11:01:51 +01:00
Dan Larsen 2435d1cf93 Added a raw getter to be able to extract images correctly 2012-12-07 23:07:53 +01:00
Mark Cavage 51e6abf477 throw on invalid filter syntax 2012-10-11 20:04:10 +00:00
Mark Cavage 2579c251fb lint/style cleanup and build support updates 2012-09-20 19:38:46 +00:00
Jason Pincin 4de2aa3ed2 client-side support for paged search
Re-applied paged search work by thomasv, without introducing logging
changes.
2012-09-19 16:39:31 -04:00
Pedro P. Candel 3c1feec071 Instead of log with error log level, emit "clientError" and let each ldap server decide how to log. 2012-09-11 11:49:37 +02:00
Pedro P. Candel 5cd593a5ec Log errors with error log level instead of trace. 2012-09-10 09:09:50 +02:00
Kevin Chan 6c7e33763a option.maxConnections of 1 should not create a ClientPool 2012-08-03 15:53:25 -07:00
Pedro P. Candel 2a30dee86b Fixes mcavage/node-ldapjs#83: "ReferenceError: removeAllListeners is not defined" 2012-07-13 16:01:38 +02:00
Mark Cavage 9d984b72fc 0.5.2 broke pooled SSL 2012-07-10 22:40:34 +00:00
Mark Cavage 0da050009b Bad event handling, and working with node 0.8 2012-07-09 13:00:51 +00:00
Mark Cavage fd9d713cdc Fix client memory leaks 2012-07-09 12:23:53 +00:00
Mark Cavage e378ae8474 use connect() instead of createConnection() as the tls api does not have createConnection 2012-04-27 11:02:49 -07:00
Mark Cavage 15413542c9 purge reference to generic-pool 2012-04-26 20:53:23 -07:00
Mark Cavage 3bcb74aa66 GH-72 s/debug/trace/g in client 2012-04-26 20:47:03 -07:00
Mark Cavage 59ea20ffa2 Client refactor, with pooled client (minor lint cleanup as well) 2012-04-26 20:23:43 -07:00
Mark Cavage 89d3dfc97b special handling of objectclass in search filters 2012-04-17 14:19:31 -07:00
Trent Mick e825615d9e Fix client 'connect' event being send when using tls.
With `tls.connect()` the socket connect event is 'secureConnect' instead
of 'connect'.
2012-04-13 15:42:58 -07:00
Nathan Rogers 91051377da added tests and better handle zero-length cookies 2012-03-26 14:30:23 -05:00
Nathan Rogers fd085c409d add support for RFC 2696 paged results controls 2012-03-26 13:53:30 -05:00
Mark Cavage 344cac0287 filter parsing turning presence filter into substring filter 2012-03-16 17:22:30 -07:00
Mark Cavage d5cf19bd9e Finish up #65 (lint and missing check) 2012-03-14 09:06:03 -07:00
Austin King 9c5ed685c5 First stab at RFC 2254 filter escaping 2012-03-13 16:40:39 -07:00
Mark Cavage 7fc249565e fix make check after merge 2012-02-24 08:39:21 -08:00
Yunong Xiao 5135da4b6a fixed style. 2012-02-23 16:02:52 -08:00
Yunong Xiao 116bedb487 Add persistent search cache, minor bug fix to client 2012-02-23 15:21:17 -08:00
Yunong Xiao 763f4630f7 Merge remote-tracking branch 'upstream/master'
Conflicts:
	lib/index.js
2012-02-22 14:34:17 -08:00
Yunong Xiao 035d2c4cfc add persistent search lib, fix url to parse filter as an ldap object 2012-02-20 17:21:53 -08:00
Mark Cavage 9819353042 Client refactoring. Cut reconnect logic and force users to listen for connect event. 2012-02-18 14:58:40 -08:00
Mark Cavage 7ff50f43f4 Initial switch to bunyan 2012-02-18 08:54:22 +00:00
Mark Cavage afeb354eac Initial setup for 0.5 (use eng.git layout) 2012-02-18 08:15:52 +00:00
Mark Cavage b47b208e5d GH-55 Client emits connect event multiple times 2012-01-30 08:45:01 -08:00
Mark Cavage a499a7cfd5 Addition of javascriptlint 2012-01-24 09:43:46 -08:00
Mark Cavage 0e30dc50c4 GH-53 unable to parse !filters 2012-01-24 08:56:30 -08:00
Mark Cavage f7276475b9 GH-51 Timeout support in client library 2012-01-19 18:02:10 -08:00
Mark Cavage 44a9d87863 GH-49 Allow options.attributes = "dn" in client.search 2012-01-19 15:39:16 -08:00
Mark Cavage 11b3a6655d Support escaping * in filter values 2012-01-19 15:12:19 -08:00
Mark Cavage 512541bfbd GH-50 Allow = in filter strings 2012-01-19 14:19:06 -08:00
Mark Cavage fb63ba2220 lint cleanup, and extensible matching 2012-01-19 14:00:23 -08:00
Craig Baker 60870497ef Removed commented out code and some left over console.log's. 2012-01-19 14:00:23 -08:00
Craig Baker d09a2ee711 changed out a stack based filter parser for a operator/operand k-ary tree based parser. 2012-01-19 14:00:23 -08:00
Mark Cavage 040dfa51fa GH-47 Server crash in c.on('data') 2012-01-09 08:24:14 -08:00
Mark Cavage f8c46a4c20 GH-13 server.use() 2012-01-06 15:10:46 -08:00
Mark Cavage 16a1018a3b getControl not handling null values correctly 2012-01-06 08:51:54 -08:00
Mark Cavage 13978d5303 Trivial server side extensible search filter support 2011-12-27 12:12:40 -08:00
Yunong Xiao f4729032dd add persistent search to cli 2011-12-20 15:04:59 -08:00
Yunong Xiao e6a007e032 minor fixes to revert new lines. 2011-12-19 17:09:38 -08:00
Yunong Xiao cbf809c856 add support for entry change notification control 2011-12-19 16:52:48 -08:00
Mark Cavage ab94de8126 Fix control.json and exports 2011-12-09 13:59:17 -08:00
Mark Cavage ebde1df00c Minor refactoring of PersistentSearchControl commit 2011-12-08 14:54:40 -08:00
Yunong Xiao bad8841382 "removed log4js dep in persistent_search_control.js" 2011-12-08 11:26:09 -08:00
Yunong Xiao 2240f29cc3 "refactored controls into its own directory, minor bug fixes" 2011-12-08 11:22:35 -08:00
Yunong Xiao ee88fc7019 "added ability to deserialize ldap persistent search controls" 2011-12-07 17:02:17 -08:00
Mathieu Lecarme eadf70e994 Filter: filter against one or multiple values. 2011-12-07 21:24:24 +01:00
Mark Cavage 7b5bef86d5 Control parsing incorrect if criticality field ommitted 2011-12-07 21:24:23 +01:00
Mathieu Lecarme 52f350dec2 Filter: stop when on first match in an array. 2011-12-04 23:32:35 +01:00
Mathieu Lecarme b0044f9bf0 ApproximateFilter can match multiple values. 2011-12-04 23:23:39 +01:00
Mathieu Lecarme 4343f72fab gjslint suggestions. 2011-12-04 22:48:22 +01:00
Mathieu Lecarme ef043af1d4 SubstringFilter can match against an array. 2011-12-04 22:32:22 +01:00
Mark Cavage eac2f95517 Client logging undefined 2011-11-28 10:39:07 -08:00
Mark Cavage dc8d04e8e0 Don't require log4js in bin/* 2011-11-22 13:36:08 -08:00
Mark Cavage e9c1de31f9 Don't actually delete the attributes in res.send() 2011-11-22 13:29:19 -08:00
Mark Cavage 57831b56d1 DTrace rework so probes always fire 2011-11-18 16:39:37 -08:00
Mark Cavage 5092293f84 comment wrong for dtrace probe 2011-11-17 11:56:19 -08:00
Mark Cavage 8cfcdadd18 Wrong probe on connect event 2011-11-16 10:59:53 -08:00
Mark Cavage fe8294319c DTrace rework 2011-11-15 10:49:23 -08:00
Mark Cavage caf258a4f7 GH-35 reference error in client connect() 2011-11-14 09:23:33 -08:00
Mark Cavage 868c46bde4 GH-26 rewrite network parser 2011-11-11 10:09:20 -08:00
Mark Cavage 6b6eaadf6d GH-33 Allow non-DN binds for AD 2011-11-09 14:57:22 -08:00
Mark Cavage df159475c8 reconnect cleanup 2011-11-09 14:55:13 -08:00
Mark Cavage 8fdff3e06d Better handling of disconnect/reconnect over TLS and Plain sockets 2011-11-09 14:44:12 -08:00
Mark Cavage aedd9f222c GH-28 Support extensible filters (client only) 2011-11-08 16:12:48 -08:00
Mark Cavage 920b9e00f4 GH-31 allow changing multiple fields in a single ldap_modify with better object sytnax 2011-11-08 13:31:00 -08:00
Mark Cavage 35f6b8a6c7 GH-30 Handle unbinds more gracefully 2011-11-08 13:10:39 -08:00
Mark Cavage fdd3184420 remove extraneous console.log 2011-11-07 17:24:56 -08:00
Mark Cavage 8c212908a0 more dn/server cleanup 2011-11-07 17:23:38 -08:00
Mark Cavage 28ddaaad69 Minor cleanup of server handling and null DNs 2011-11-07 17:12:59 -08:00
Mark Cavage 75aba691f1 GH-27 Support for abandon operations client side, and noop it server side 2011-11-07 14:14:01 -08:00
Mark Cavage 5cf425de72 Fill in c.remoteAddress for TLS connections 2011-11-07 12:05:45 -08:00
Mark Cavage b8799d6a1e Don't be so strict about dn methods requiring a DN instance 2011-10-20 11:22:31 -07:00
Mark Cavage a80758b917 Minor client argument fixes, and broken search response send() with no filtering option 2011-10-18 12:31:52 -07:00
Mark Cavage 03dad8c9a1 SSL server looking for certificate, not cert 2011-10-18 10:15:14 -07:00
Mark Cavage e0007f6f6a new DN methods 2011-10-18 08:50:44 -07:00
Mark Cavage ccff51804a Refactor search_response.send() so that hidden variable magic works 2011-10-17 16:37:09 -07:00
Mark Cavage 2a41abbff8 GH-21: Write attribute values as raw binary, rather than as strings 2011-10-11 15:24:00 -07:00
Mark Cavage c20030f5bb GH-21 Support for binary attributes 2011-10-11 13:56:16 -07:00
Mark Cavage 9610cbe9d3 GH-24: support clients asking for * in attribute search selection list 2011-10-11 11:39:56 -07:00
Mark Cavage 7dbeca1fdd GH-23 case insensitive attribute filtering in searchResponse.send() 2011-10-11 10:43:27 -07:00
Mark Cavage 7763cf3789 GH-22: Client should preserve attribute type casing 2011-10-04 10:27:43 -07:00
Mark Cavage 01a6cfb77e GH-14: Support null/empty attribute values 2011-09-30 10:48:56 -07:00
Mark Cavage 12356c5628 GH-20 case insensitive treatment of attribute names in a DN 2011-09-29 14:46:10 -07:00
Mark Cavage 1105b47293 Allow empty dns in search (e.g., enable rootDSE searches) 2011-09-29 09:35:53 -07:00
Mark Cavage f4b49a20ae GH-14: Client needs to handle search references 2011-09-27 11:49:33 -07:00
Mark Cavage 50a0c59d1f Client reconnect logic 2011-09-26 16:45:49 -07:00
Mark Cavage e2cac51a29 GH-18: Server not handling unknown message types gracefull 2011-09-26 13:47:33 -07:00
Mark Cavage c57470804c gracefully handle parsing attributes with no values 2011-09-23 15:47:02 -07:00
Mark Cavage a515652ac7 GH-17 invalid exop mountpoints crash server 2011-09-23 09:00:28 -07:00
Mark Cavage be3d5fa7fa GH-16: dn.equals broken on empty strings 2011-09-23 08:54:48 -07:00
Mark Cavage d2d99d14a6 Change constructor to match docs 2011-09-23 08:48:17 -07:00
Mark Cavage 16597d5632 CompareResponse.end() not working correctly with non-numeric codes 2011-09-21 17:35:19 -07:00
Mark Cavage 9b67dc608a substring filter fixes for clients 2011-09-19 12:24:16 -07:00
Mark Cavage ed1ae29054 search.send option to not filter out any attributes 2011-09-16 09:06:35 -07:00
Mark Cavage 73b14ea8ad support for client controls 2011-09-16 09:06:07 -07:00
Mark Cavage fcec8d626f handle objectclass as lower case vals in add/search, error handling cleanup and some minor fixes 2011-09-15 14:49:00 -07:00
Mark Cavage 0e77b69dc0 Server after chain support, and minor metrics 2011-09-13 14:49:21 -07:00
Mark Cavage e365d40c8d Refactor DTrace handlers to support a backend object 2011-09-09 13:40:25 -07:00
Mark Cavage 5fe70eb739 Merge branch 'dtrace' 2011-09-02 22:10:01 -04:00
Mark Cavage 0be6fc9dcb GH-10: Client not interacting with AD, and has bad socket.connect() calls 2011-09-02 09:29:42 -04:00
Jeff Huff e99ee3c75e Changed log_stub format to increment the UTC month number because UTC is 0 - 11 not 1 - 12 month numbers 2011-08-30 21:04:43 -07:00
Mark Cavage 7aa1bfe586 DTrace rework; now supporting a conn/message specific ID so you can track latency 2011-08-30 18:12:34 +00:00
Mark Cavage 7f43ade50b Initial DTrace prototype 2011-08-30 04:48:05 +00:00
Mark Cavage 695f2e4367 Initial DTrace prototype 2011-08-29 17:24:50 -07:00
Mark Cavage ff7aed39fd Fix up client to work in all cases (UDS and TCP) 2011-08-26 16:33:49 -07:00
Jeff Huff 839941d75f Changed the scheme check order so that the default port can default for both ldap and ldaps 2011-08-26 15:07:10 -07:00
Joe Walnes e483f428b4 Fix error from missing tls.createConnection() method:
node.js:134
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
TypeError: Object #<Object> has no method 'createConnection'
    at newConnection (/usr/local/lib/node/.npm/ldapjs/0.1.0/package/lib/client.js:142:15)
    at new Client (/usr/local/lib/node/.npm/ldapjs/0.1.0/package/lib/client.js:223:27)
    at Object.createClient (/usr/local/lib/node/.npm/ldapjs/0.1.0/package/lib/index.js:48:12)
2011-08-26 15:44:13 -05:00
Joe Walnes 84b1926aac Fixes connection error:
-----------------
2011-07-26 17:17:17Z WARN - Client: 1.2.3.4 unexpected connection error Error: EINVAL, Invalid argument

node.js:134
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
Error: EINVAL, Invalid argument
    at doConnect (net.js:555:5)
    at Socket.connect (net.js:715:5)
    at Object.createConnection (net.js:265:5)
    at newConnection (/usr/local/lib/node/.npm/ldapjs/0.1.0/package/lib/client.js:145:15)
    at new Client (/usr/local/lib/node/.npm/ldapjs/0.1.0/package/lib/client.js:222:27)
    at Object.createClient (/usr/local/lib/node/.npm/ldapjs/0.1.0/package/lib/index.js:48:12)
    at Object.<anonymous> (/home/jwalnes/dev/ldap/auth.js:7:19)
    at Module._compile (module.js:402:26)
    at Object..js (module.js:408:10)
    at Module.load (module.js:334:31)
2011-08-26 15:35:01 -05:00
Mark Cavage d33e7cc26a Docs and anonymous bind support 2011-08-24 12:38:23 -07:00
Mark Cavage 7859f34b8a docs for dns, errors, filters and server, and minor fixes found along the way 2011-08-23 16:25:07 -07:00
Mark Cavage 7198c0a516 docs, and minor enhancements to compare/search apis 2011-08-22 17:16:36 -07:00
Mark Cavage 73f913b2c4 Search filter transformer based on schema 2011-08-22 10:48:45 -07:00
Mark Cavage 11fbda69e7 Schema support for add/mofify 2011-08-19 15:08:45 -07:00
Mark Cavage 51f944d834 dn parentof/childof fixes 2011-08-15 17:52:05 -07:00
Mark Cavage c8ea58fc60 modifyDN touchups 2011-08-15 13:50:15 -07:00
Mark Cavage 120e0011a3 Rework server mount APIs 2011-08-15 09:44:31 -07:00
Mark Cavage dda17ef190 lots of fixes. committing the last few days of work. (my commit messages are useless right now) 2011-08-12 16:37:47 -07:00
Mark Cavage add3e1a0d6 search enhancements 2011-08-10 14:46:04 -07:00
Mark Cavage 44bd29952e attribute was lowercasing vals, not attr name 2011-08-10 10:57:58 -07:00
Mark Cavage a1fa0e46b1 Lame schema validator (not rfc compatible) 2011-08-08 10:29:01 -05:00
Mark Cavage 05be0dd966 Sorted attributes/changes in add/modify requests 2011-08-08 10:03:00 -05:00
Mark Cavage 7706cd5e4e Refactoring server into something less sucky 2011-08-06 15:44:26 -05:00
Mark Cavage 1042048aaf Allow plain JS objects in client APIs where it makes sense 2011-08-04 14:25:12 -07:00
Mark Cavage ca1443f102 Initial working client/server version 2011-08-04 13:32:01 -07:00