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

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);
                                }
                            );
                        }
                    );
                }
            );

Activity

  1. risa commented on Jun 15, 2018

    @risa

    The same applies to node 10.4.1

  2. jvanalst commented on Aug 2, 2018

    @jvanalst

    I can confirm that that unbind callback isn't being called in node any v10. The last working version was node v9.

  3. jvanalst commented on Aug 2, 2018

    @jvanalst

    There's a pull request attempting to fix this (#485) but it's failing some tests still.

  4. purplemana commented on Oct 11, 2018

    @purplemana

    Pardon the pun but I am really in a bind to get this fix :). @jgeurts: Would you mind giving a fork?

  5. acappella2017 commented on Nov 23, 2018

    @acappella2017
    Contributor

    I believe this issue is caused by some weird behavior of Nodejs 10. Opened nodejs/node#24577

  6. jgeurts commented on Dec 10, 2018

    @jgeurts

    @purplemana It's fixed with https://www.npmjs.com/package/ldapts, if you want to give that a go.

  7. hwkd commented on Feb 16, 2019

    @hwkd

    @jgeurts I just switched to using ldapts package instead. Ended up producing better code and easier to test and works with node 11.

  8. added a commit that references this issue on Mar 22, 2019
    5eab28e
  9. jsumners commented on Aug 26, 2019

    @jsumners
    Member

    Please track #524.

  10. jsumners commented on Mar 10, 2023

    @jsumners
    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.

  11. locked as resolved and limited conversation to collaborators on Mar 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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