Skip to content
This repository has been archived by the owner on May 14, 2024. It is now read-only.

ldaps issue with any node js versions #474

Closed
eshovogiwah opened this issue Apr 10, 2018 · 71 comments
Closed

ldaps issue with any node js versions #474

eshovogiwah opened this issue Apr 10, 2018 · 71 comments

Comments

@eshovogiwah
Copy link

For some reason I am not able to authenticate securely with AD. I am able to do ldap but not ldaps.

I see two type of errors:

  1. TypeError: Cannot read property 'on' of undefined

  2. Uncaught Exception: unable to get local issuer certificate

I am currently trying Node v8

@eshovogiwah
Copy link
Author

'use strict';
var AuthStrategy = require('../auth-strategy.js'),
user_profile = require('../user-profile.js'),
passport = require('passport'),
config = require('../../config/auth-strategy-config.json'),
logger = require('../../logger').logger,
ldapConfig = config.active_directory_ldap,
ldap = require('ldapjs'),
ldapurl = 'ldap://' + ldapConfig.host + ':' + ldapConfig.port,
opts = {
base: null,
filter: null,
scope: null,
attributes: null
};

var fs = require('fs');
var tls = require('tls');
var ldap = require('ldapjs');

server: {
url: ldapurl,
searchBase: ldapConfig.userbaseCtxDN,
searchFilter: ldapConfig.userbaseFilter,
adminDn: ldapConfig.bindDN,
adminPassword: ldapConfig.bindCredentials,
searchAttributes: ['mail', ldapConfig.userAttributeID, ldapConfig.displayNameAttr, ldapConfig.securityRolesAttr],
tlsOptions: {
key: fs.readFileSync('../../JBoss/Eo/server/config/aeDCs/eo.net.key'),
cert: fs.readFileSync('../../JBoss/Eo/server/config/aeDCs/eo.net.crt'),
ca: [
fs.readFileSync('../../JBoss/Eo/server/config/aeDCs/dc.crt')
]
}
}

I was even asked to try the following which I did
https://github.com/felixrieseberg/windows-build-tools

Still cannot authenticate

@eshovogiwah
Copy link
Author

This almost looked like my issue but it didnt help
#229

@tastypackets
Copy link

Did you verify AD is properly setup for LDAPS and verify what port it was setup with? (Default is 636)

I only ask because many IT admins do not setup LDAPS by default.

@eshovogiwah
Copy link
Author

So this application is broken into two. One is a thick client and the other is a web client.
I was able to get the thick client to conenct with LDAPS by installing the DC certs on the server manually. Then I changed the url from ldap://dc/ to ldaps://dc/. That worked and so easy.

For the Web Client its not so easy. With all the Nodejs and JavaScript stuff. What is confusing is that I am able to connect with ldap and not ldaps on the webclient. I have done telnet on port 636 and also connected sucessfully with LDAP Admin to the DCs on 636 using TLS/SSL. I believe the issue is in the ldaps/nodejs on the app.

@eshovogiwah
Copy link
Author

ERROR Wed Apr 11 2018 11:19:33 - TypeError: Cannot read property 'on' of undefined
at setupSocket (D:\JBoss\Eo\server\node_modules\ldapjs\lib\client\client.js:111:15)
at Client._connect (D:\JBoss\Eo\server\node_modules\ldapjs\lib\client\client.js:742:3)
at new Client (D:\JBoss\Eo\server\node_modules\ldapjs\lib\client\client.js:247:22)
at Object.createClient (D:\JBoss\Eo\server\node_modules\ldapjs\lib\client\index.js:60:12)
at new LdapAuth (D:\JBoss\Eo\server\node_modules\passport-ldapauth\node_modules\ldapauth-fork\lib\ldapauth.js:129:28)
at Strategy.handleAuthentication (D:\JBoss\Eo\server\node_modules\passport-ldapauth\lib\passport-ldapauth\strategy.js:
156:10)
at Strategy.authenticate (D:\JBoss\Eo\server\node_modules\passport-ldapauth\lib\passport-ldapauth\strategy.js:200:33)
at attempt (D:\JBoss\Eo\server\node_modules\passport\lib\middleware\authenticate.js:341:16)
at authenticate (D:\JBoss\Eo\server\node_modules\passport\lib\middleware\authenticate.js:342:7)
at Layer.handle [as handle_request] (D:\JBoss\Eo\server\node_modules\express\lib\router\layer.js:82:5)
ERROR Wed Apr 11 2018 11:19:33 - Uncaught Exception:unable to get local issuer certificate
'Error: unable to get local issuer certificate\n at TLSSocket. (_tls_wrap.js:1105:38)\n at emitNone (events.js:106:13)\n at TLSSoc
ket.emit (events.js:208:7)\n at TLSSocket._finishInit (_tls_wrap.js:639:8)\n at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:469:38)'

@tastypackets
Copy link

Is it a self-signed cert and if so is it in a local CA that the Node server is configured with? If not I believe you can by pass it using the Node TLS API for testing purposes. https://nodejs.org/api/tls.html#tls_tls_connect_options_callback

You should be able to use tlsOptions to send it the settings needed to bypass the CA check or you can send it a pem file. Which is shown in the link above.

Should be something like:

const client = ldap.createClient({
    url: 'ldaps://127.0.0.1',
    tlsOptions: {
        rejectUnauthorized: false
    }
  });

@eshovogiwah
Copy link
Author

eshovogiwah commented Apr 11, 2018

My certs are all from our internal CA. So both the server and the DC certs are from our company CA. I have imported my server's cert on the client and made sure SSL 3.0, TLS 1.0, TLS 1.1, and TLS 1.2 are all active in the browser.
So connection should look like this for the handshake Client->Server->DC

If I bypass the CA check, will the app still process LDAPS connection? I ask because we can do LDAP (389) currently but our organization doenst like passing credentials in cleartext. If I can bypass the CA and still process the transaction with LDAPS (port 636) then we will like to try that option.

I get the following errror from the code above
const client = ldap.createClient({
^^^^^^

SyntaxError: Unexpected identifier

Thanks for your reply

@tastypackets
Copy link

Are you making the request from the client / browser or from a Node backend?

Browser app (Like React) -> Nodejs Server -> AD

Browser app (Like React) -> AD

Bypassing the CA check will still allow secure connections, but will not validate the certificate to prevent man in the middle attacks. Think of it like clicking the continue anyway button on browsers when accessing a website that is using a self signed certificate.

@eshovogiwah
Copy link
Author

Browser app (Chrome) -> Nodejs Server -> AD

That sounds like an option I will like to try. The intranet site is already using port 443 signed by our local CA. The app will never be used on the internet (outside our domain). The only issue is the LDAPS and our security team don't like 389 so if I can bypass the CA check it would help. I wonder if the check is trying to go online to verify.....

/
I got this from our vendor but I wasnt really sure why I needed it but I suspect it had something to do with rebuilding the sqlite3, that the app was complaining about. Also to help register the cert online. We are certainly not experts in this area but we are willing to learn and not give up on trying to make port 636 work. So beware that this might not make sense....

https://github.com/felixrieseberg/windows-build-tools

Python
VC++ Build tools 2015 (freely available from MS)

Make scratch directory, for example

c:\server

Dealing with proxy issue

2.1) Change your NPM configuration to set proxies

npm config edit

proxy=http://:80/ https-proxy=http://:80/

2.2) Allow node to use additional GE certificates Create file e.g. C:\certs\GEcerts.pem

as text file combining GE_External_Certificate1.pem,GE_External_Certificate2.pem

https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file

2.3) Install node-pre-gyp

set NODE_EXTRA_CA_CERTS=C:\certs\GEcerts.pem https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file

npm install node-pre-gyp –g

2.4) Either

1.4.1) directly install Python 2.7.x and VC++ Build tools 2015

OR

1.4.2) let npm do it for you.

From Windows PowerShell (Administrator) session

cd c:\server

set-location env:

new-item -path . -name NODE_EXTRA_CA_CERTS -value C:\certs\GEcerts.pem

This is the Powershell equivalent of set NODE_EXTRA_CA_CERTS=C:\certs\GEcerts.pem https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file

npm install --global --production windows-build-tools https://github.com/felixrieseberg/windows-build-tools

1.5) set PYTHON=...path to python.exe

1.6) From "server" folder

npm install sqlite3 --build-from-source

/
I suspect one of the command lines above goes online to register the local Cert. If I can bypass it that will help.

@tastypackets
Copy link

Unfortunately NodeJS has a set list of CAs and does not use the servers certificate store. You will need to either load in the CA, which it looks like you were trying, or do the CA check bypass. There is some information and even a commit talking about using the servers certificate store, but I have never used it and unsure if it's actually functional.

Next time I'm on-site at my office that has a Windows domain I'll try making a connection using a self signed certificate to see if it goes through smoothly. I don't see why it wouldn't, but I have never used a self signed certificate with this library.

You have probably already double checked these, but do you have port 636 open on the firewall and in this code block are you updating the ldapConfig.port variable to 636 when you change ldap to ldaps?
ldapurl = 'ldap://' + ldapConfig.host + ':' + ldapConfig.port,

The url parse method in ldapjs looks for ldap or ldaps and if no port is passed it will default it to 389 or 636. I normally don't pass it a port unless I'm working with someone who is using a strange port for their LDAP server.

@eshovogiwah
Copy link
Author

Yes that was what I suspected was happening. I suspected I needed to open firewall to make the registration happen. Our servers are hardened so I need to get through all that later.

Yes I have port 636 opened from the server to the AD. My TELNET works and also LDAP ADMIN works on port 636 using SSL/TLS. The issue might be java script and maybe node area within the app.
I am passing in the following variables:
ldapurl = 'ldap://' + ldapConfig.host + ':' + ldapConfig.port,

and can see that npm is clearly showing:
ldapurl = ldaps://ServerName:636

so ldapurl = ldap://ServerName:389 works just fine.

For now, are you able to help me bypass the CA check and I will deal with the online registry later.

@eshovogiwah
Copy link
Author

I tried your suggestion above and npm doesn't like it.
const client = ldap.createClient({
url: 'ldaps://127.0.0.1',
tlsOptions: {
rejectUnauthorized: false
}
});

It crashes because I am not a JS programmer. I am not doing something right. Can I list tlsOptions twice?
I already have it in my code block above that is handling all the cert stuff.

@tastypackets
Copy link

No just replace your current TLS options with this one:

tlsOptions: {
    rejectUnauthorized: false
}

If the code you provided above is right it should look something like this:

'use strict';
var AuthStrategy = require('../auth-strategy.js'),
    user_profile = require('../user-profile.js'),
    passport = require('passport'),
    config = require('../../config/auth-strategy-config.json'),
    logger = require('../../logger').logger,
    ldapConfig = config.active_directory_ldap,
    ldap = require('ldapjs'),
    ldapurl = 'ldap://' + ldapConfig.host + ':' + ldapConfig.port,
    opts = {
        base: null,
        filter: null,
        scope: null,
        attributes: null
    };

var ldap = require('ldapjs');

server: {
    url: ldapurl,
    searchBase: ldapConfig.userbaseCtxDN,
    searchFilter: ldapConfig.userbaseFilter,
    adminDn: ldapConfig.bindDN,
    adminPassword: ldapConfig.bindCredentials,
    searchAttributes: ['mail', ldapConfig.userAttributeID, ldapConfig.displayNameAttr, ldapConfig.securityRolesAttr],
    tlsOptions: {
        rejectUnauthorized: false
    }
}

@eshovogiwah
Copy link
Author

eshovogiwah commented Apr 13, 2018

Ok so npm didnt complain during startup. I went to the login page and tried signing in and then got the following:

ERROR Fri Apr 13 2018 10:48:34 - TypeError: Cannot read property 'on' of undefined
at setupSocket (D:\JBoss\Eo\server\node_modules\ldapjs\lib\client\client.js:111:15)
at Client._connect (D:\JBoss\Eo\server\node_modules\ldapjs\lib\client\client.js:742:3)
at new Client (D:\JBoss\Eo\server\node_modules\ldapjs\lib\client\client.js:247:22)
at Object.createClient (D:\JBoss\Eo\server\node_modules\ldapjs\lib\client\index.js:60:12)
at new LdapAuth (D:\JBoss\Eo\server\node_modules\passport-ldapauth\node_modules\ldapauth-fork\lib\ldapauth.js:129:28)
at Strategy.handleAuthentication (D:\JBoss\Eo\server\node_modules\passport-ldapauth\lib\passport-ldapauth\strategy.js:
156:10)
at Strategy.authenticate (D:\JBoss\Eo\server\node_modules\passport-ldapauth\lib\passport-ldapauth\strategy.js:200:33)
at attempt (D:\JBoss\Eo\server\node_modules\passport\lib\middleware\authenticate.js:341:16)
at authenticate (D:\JBoss\Eo\server\node_modules\passport\lib\middleware\authenticate.js:342:7)
at Layer.handle [as handle_request] (D:\JBoss\Eo\server\node_modules\express\lib\router\layer.js:82:5)
ERROR Fri Apr 13 2018 11:04:33 - Uncaught Exception:read ECONNRESET
'Error: read ECONNRESET\n at _errnoException (util.js:1022:11)\n at TLSWrap.onread (net.js:628:25)'

@eshovogiwah
Copy link
Author

eshovogiwah commented Apr 13, 2018

D:>node -v
v8.11.1

@tastypackets
Copy link

Well at least the certificate error is gone now. 👍

What version of ldapjs is in your package.json file?

@tastypackets
Copy link

Based on the error you have and looking at previouse issues it looks like you likely have an old version of ldapjs installed. See #289

If this is the case I would try updating the library, over the time I have used this library I haven't noticed any breaking changes. If it does break something alternatively you could downgrade to the older version of NodeJS if the rest of your app isn't using any of the newer features/API in NodeJS.

@eshovogiwah
Copy link
Author

I see "version": "0.7.1",

@eshovogiwah
Copy link
Author

I added ldapjs to my dependences because I dont see it there per #289 and it still didn't work.

Is my ldapjs too old?

I also have node version 8.11.1

@tastypackets
Copy link

Can you past what your package.json dependencies looks like here?

@eshovogiwah
Copy link
Author

Yes sure.
"dependencies": {
"asn1": "0.2.1",
"assert-plus": "0.1.5",
"bunyan": "0.22.1",
"nopt": "2.1.1",
"pooling": "0.4.6",
"dtrace-provider": "0.2.8",
"ldapjs": "mcavage/node-ldapjs#acc1ca8f4314fd9d67561feabc8ce4c235076a5e"
},

I just added this yesterday per case #289

"ldapjs": "mcavage/node-ldapjs#acc1ca8f4314fd9d67561feabc8ce4c235076a5e"

@tastypackets
Copy link

The above line from that case is old, the newest version of ldapjs is what you want and will resolve the issue in the case.

The latest version is 1.0.2, I would recommend using the npm update to update your packages. It normally will do all the dirty work for you. https://docs.npmjs.com/cli/update

However I believe you said you did not have any entry for ldapjs in your package.json before this, is that correct? If that is true it must be a dependency of some other library or manually imported.

@eshovogiwah
Copy link
Author

eshovogiwah commented Apr 16, 2018

Yes. Here is what it looked like:

"dependencies": {
"asn1": "0.2.1",
"assert-plus": "0.1.5",
"bunyan": "0.22.1",
"nopt": "2.1.1",
"pooling": "0.4.6",
"dtrace-provider": "0.2.8",
}

I ran npm update and it flashed something and went back to the prompt. Not sure if am suppose to see anything.

@tastypackets
Copy link

Is this an app you or someone in your organization built? Do you know if all the dependencies were installed using npm or did they give you all the node_modules manually?

@eshovogiwah
Copy link
Author

No our vendor developed the app or maybe third party. I know I have been given ..\server\node_modules\ldapjs folder before to update just to try out things to fix the ldaps issue.

I also see another package.json further up above the folders.

Right now, I see npm is stuck after npm update

SyntaxError: Error parsing D:\JBoss\Eo\server\node_modules\ldapjs\package.json: Unexpected token } in JSON
at position 1232
at JSON.parse ()
at readPackage (module.js:126:52)
at tryPackage (module.js:136:13)
at Function.Module._findPath (module.js:218:20)
at Function.Module._resolveFilename (module.js:545:25)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object. (D:\JBoss\Eo\server\auth\impl\ldap-ad-auth-strategy.js:8:10)
at Module._compile (module.js:652:30)

@tastypackets
Copy link

You should have a package.json further up in your app, likely in the server\ folder. Is that the package.json you pasted above?

It should look something like this:

yourapp\node_modules
yourapp\package.json

The package.json inside ldapjs folder belongs to the ldapjs library and you typically do not want to touch it.

For reference here is the location of the ldapjs package.json that you wouldn't want to change:
server\node_modules\ldapjs\package.json

@eshovogiwah
Copy link
Author

eshovogiwah commented Apr 16, 2018

No I pasted the one inside of ldapjs folder.

Here is the one from server\package.json

"dependencies": {
"body-parser": "^1.8.2",
"cjson": "^0.2.1",
"colors": "^1.0.3",
"compression": "^1.4.1",
"connect-mongo": "^0.4.1",
"connect-redis": "^2.1.0",
"cookie-parser": "^1.0.0",
"cookie-session": "^1.0.0",
"directory": "^0.1.0",
"errorhandler": "^1.1.0",
"express": "^4.4.3",
"express-session": "^1.0.0",
"ldapjs": "^0.7.1",
"method-override": "^1.0.0",
"nopt": "^3.0.1",
"passport": "^0.2.0",
"passport-ldapauth": "^0.2.1",
"passport-local": "^1.0.0",
"passport-saml": "^0.5.3",
"requirejs": "^2.1.11",
"security": "^1.0.0",
"serve-index": "^1.1.2",
"sqlite3": "^2.2.x",
"underscore": "^1.4.4"
},

@tastypackets
Copy link

tastypackets commented Apr 16, 2018

Perfect, okay so here is what I suggest you try doing.

  1. Make a backup of your package.json, you can copy past it to anywhere.
  2. Delete the ldapjs folder inside node_modules server\node_modules\ldapjs
  3. Edit server\package.json and change "ldapjs": "^0.7.1", to "ldapjs": "^1.0.2",
  4. While in the server directory run npm install

I'm not sure why your contracted developers are working with such an old version, hopefully there were no breaking changes between ldapjs versions. Worst case if there is you can revert back to the old version.

@eshovogiwah
Copy link
Author

Would npm install need internet access or is it local to the server?

@tastypackets
Copy link

tastypackets commented Apr 16, 2018

It needs internet access, so if the server doesn't have internet you will need to do it on another computer and manually copy the folder.

@tastypackets
Copy link

tastypackets commented Apr 19, 2018

That is pretty old, here is the link to download it.

https://nodejs.org/download/release/v0.10.36/

Download it and try running the app with that version, use the original set of node_modules you had made a back-up of. Those should be the right ones for this old version of Node if they were given to you by the developers.

@eshovogiwah
Copy link
Author

I aready installed v8.11.1 and v9.8.0. How do I get NODE_MODULE_VERSION 59? The upgrade to v9.8.0 is asking for server\node_modules\sqlite3\lib\binding\node-v59-win32-x64\node_sqlite3.node

``

@tastypackets
Copy link

You want to downgrade, not upgrade NodeJS. They developed on a version from early 2015.

  1. Uninstall all versions of NodeJS on the server
  2. Download the NodeJS installer (v0.10.36) https://nodejs.org/download/release/v0.10.36/node.exe
  3. Copy the v0.10.36 installer to your server
  4. Install NodeJS v0.10.36
  5. Deploy your app again using all the original files the developers sent you

Alternatively if you want to upgrade NodeJS you can keep trying to get the package working with the new updates, but you will need to get the ldapjs package updated. This does pose a risk that something they developed could be incompatible with the new version of ldapjs and or the newer NodeJS version you are using. Since you didn't develop the app I'd suggest downgrading, because we don't know what is in their app code.

@eshovogiwah
Copy link
Author

eshovogiwah commented Apr 19, 2018

Yes the application works with v0.10.36 and v8.11.1.
We are having issues doing LDAPS. We have upgraded the ldapjs to 1.0.2 and the app lunches.
The tlsOptions: { rejectUnauthorized: false } option you mension is what I am trying to do so I dont have to go on the internet to check CA.

@tastypackets
Copy link

Looking at the NodeJS API docs that TLS option is still supported in v0.10.36, so you should be able to still use that setting with the older version of NodeJS. This should also avoid the incompatibility issue of new NodeJS and old ldapjs. Which is what caused this error:
ERROR Fri Apr 13 2018 10:48:34 - TypeError: Cannot read property 'on' of undefined

You most likely need to do one of the following:

  • Use NodeJS 0.10 + ldapjs v0.7.1 and add tlsOptions: { rejectUnauthorized: false }
  • Use NodeJS v8 + ldapjs v1.0.2 and add tlsOptions: { rejectUnauthorized: false }

@eshovogiwah
Copy link
Author

Ok making sure I have the above

@eshovogiwah
Copy link
Author

AWESOME MR TASTYPACKETS.......YOU ARE THE MAN.

Thanks for not giving up on me....

@tastypackets
Copy link

Does that mean you got it working?

@eshovogiwah
Copy link
Author

eshovogiwah commented Apr 19, 2018

Yes sir. It was a little painful but we did it.
The app was delievered with NodeJS 0.10 + ldapjs v0.7.1, a lot of the ldaps mouldes were missing.

Like you said....I went ahead and used your recommendation. So NodeJS v8 / ldapjs v1.0.2. Plus lots of dependences...

•Use NodeJS v8 + ldapjs v1.0.2 and add tlsOptions: { rejectUnauthorized: false}

@tastypackets
Copy link

Awesome, glad we were able to get it sorted out!

@tastypackets
Copy link

Can you mark this issue closed?

@eshovogiwah
Copy link
Author

eshovogiwah commented May 12, 2018 via email

@eshovogiwah
Copy link
Author

Thanks again.

@sridharksetti
Copy link

Hi @tastypackets, I am getting the same kind of issue but I can't update ldapjs as suggested.
image

is there a way to resolve the issue without updating the ldapjs?

@tastypackets
Copy link

What version of Node and ldapjs are you using?

Did you add the option to ignore certificate verification?

tlsOptions: { rejectUnauthorized: false}

@sridharksetti
Copy link

Node : 6.13.0
LdapJS: 0.7.1

Yes, I verified with changing tlsOptions and getting rid of the 2nd error, but still, I am seeing the 1st error.

@tastypackets
Copy link

If for some reason you can not upgrade ldapjs, you'll likely need to downgrade your version of Node installed on the server.

@sridharksetti
Copy link

Without touching downgrade/Upgrade the node, can we fix the issue in code side?
if no, Can I know the steps for downgrading the NodeJS.
I don't know about JS, can I understand more about the issue and is it gets fixed by providing cert/ keys?

@tastypackets
Copy link

The second issue you are having is due to breaking changes between the Node and ldapjs versions. These are old and I'd encourage you to upgrade things for security, however if this was a 3rd party app and you are not comfortable updating the code I'd downgrade the Node version.

To downgrade Node you simply install an older version on your server. I belive further up in this thread I posted a link to the old version of Node this person's developers used.

If it's Windows simply uninstall Node and reinstall the correct executable for the version you need. If this is Linux I'd recommend using NVM to install the version you need.

Do you still have contact with the original author? Perhaps they can tell you what version of Node they developed on. If not based on that ldapjs version I'd guess it's a pretty old version of Node, like the one discussed earlier in this thread.

Sorry I'm on my cell phone in bed, if you haven't figured it out by tomorrow I'll write up some better directions when I'm at a full keyboard.

@sridharksetti
Copy link

Thanks for the prompt response.
I haven't downgraded/upgraded the version..
Just tried by giving certificates in tlsOptions
image
one error was fixed
Next found that close socket is returning unset in client.js, so I modified client.js file to set closeSocket value with "socket" directly as shown below.
image
No idea what is happened inside, but the issue was resolved and getting authentication passed.

Can you suggest, is it a correct fix?.

@eshovogiwah
Copy link
Author

eshovogiwah commented Nov 9, 2018 via email

@sridharksetti
Copy link

Yes, nvp

@tastypackets
Copy link

Sorry I never replied to you.

I'm on my cell phone again, but I'll try my best to type this out.

In your ActiveDirectoryLdapAuth function I see you use fs read sync. While this is correct every time this function calls it'll do a synchronous read to the file system which isn't normally a good idea in Node. It's probably better to import this CA on startup of your application.

For the second part that should work,in newer version of Node. However I don't know your full code or the old ldapjs, so I can't gurentee 100% you won't have an issue. You also could just delete closeSocket and rename the event listener to socket.on, because you are just making a pointer to that.

Anyway long story short, looks like it'll work okay just not really what I'd normally do or recommend. You should probably have this app looked at / upgraded.

Never heard of NVP.

@eshovogiwah
Copy link
Author

eshovogiwah commented Nov 9, 2018 via email

@tastypackets
Copy link

Wow that's interesting, does GE not update this software or is it just an older version? It seems strange for them to be using an outdated code base.

@eshovogiwah
Copy link
Author

eshovogiwah commented Nov 12, 2018 via email

@sridharksetti
Copy link

Thanks for your inputs .. I will try your input and let you know the result.

@jsumners
Copy link
Member

⚠️ This issue has been locked due to age. If you have encountered a recent
problem that seems to be covered by this issue, please open a new issue.

Please include a minimal reproducible example
when opening a new issue.

@ldapjs ldapjs locked as resolved and limited conversation to collaborators Mar 10, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants