Commit Graph

327 Commits

Author SHA1 Message Date
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