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

Unbind not working with node 10 #483

Closed
@danez

Description

@danez

When I try to use ldapjs client.unbind with node 10.0.0 (or 10.4.0) it does not work and the callback of unbind is never called. I debugged and it seems something in _sendSocket stops working, the function messageCallback is never called. While debugging it worked sometimes and the UnbindResponse was received successfully, but most of the time it didn't work, so I was wondering if it might be some timing issue, as while debugging everything runs slower/stepped.

The last trace log I see is:

{"name":"ldapjs","component":"client","hostname":"abc","pid":60921,"clazz":"Client","ldap_id":"6__ldaps://ldap.domain.net","level":10,"msg":"sending request {\"messageID\":3,\"protocolOp\":\"UnbindRequest\",\"controls\":[]}","time":"2018-06-07T10:39:44.165Z","v":0}

The code is

            client.search(
                'ou=domain,dc=sub,dc=net',
                opts, (err, res) => {
                    if (err) {
                        cb(err, null);
                        return;
                    }
                    res.on(
                        'searchEntry', entry => {
                            if (entry.object.hasOwnProperty('mail')) {
                                retrievedUsers[entry.object.uid] = entry.object;
                            }
                        }
                    );
                    res.on(
                        'error', err => {
                            cb(err, null);
                            client.unbind(
                                err => {
                                    if (err) {
                                        logger.error(err);
                                    }
                                }
                            );
                        }
                    );
                    res.on(
                        'end', () => {
                            client.unbind(
                                err => { // << --- never called
                                    cb(err, retrievedUsers);
                                }
                            );
                        }
                    );
                }
            );

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions