Lasso Soft Inc. > Home

RhinoTrac

LassoSoft Ticket Tracking System

NOTE: If you are using Lasso Server 9.3 please Log your ticket directly via the LUX admin as this will give us more information about your issue.

Lasso 9 Issues



Ticket #7896: LDAP search results in instance restart and no results

Reported by:
Shelane French
Date:
10 Nov, 2014
Priority:
major
Component:
Lasso 9
Version:
9.3
Keywords:
Platform:
Issue Report from Shelane French (french8@llnl.gov)
Company: Lawrence Livermore National Laboratory

Component: Lasso 9 Server
Version: 9.3
Source IP: 128.115.190.35

Detail
======
local('myLDAP' = LDAP);
local('oun' = 'french8');

#myLDAP->Open('real_server_name_actually_here_in_code');
#myLDAP->Search('ou=People,dc=llnl,dc=gov', LDAP_Scope_Subtree,
'(uid='#oun')', array('sn', 'firstname', 'telephoneNumber',
'llnlNickname', 'employeeNumber', 'llnlpersonid'));//LDAP_Scope_OneLevel
local('LLNL' = #myLDAP->Results);
#myLDAP->code;
'<br>';
#myLDAP->Close;
'returned results: ' + #LLNL + '<br>';

-------------------

0
returned results: staticarray()

The instance retstart and no results are returned. The search string is the same as what I have currently with 8.6 where it does work.

9.3 RC2

Comments

03 Apr, 2015 by smiller
The GC triggers a destruction routine on the LDAP object. That routine appears to unbind from LDAP. In Shelane's code, the LDAP object has already been closed, so the LDAP unbind operation suffers an invalid access inside the LDAP library.

Until this has been fixed, the work-around is to not close the LDAP object, such as in the following code:

local('myLDAP' = LDAP);
local('oun' = 'gauss');

#myLDAP->Open('ldap.forumsys.com');
#myLDAP->Search(
'ou=mathematicians,dc=example,dc=com',
LDAP_Scope_Subtree,
'(uid='#oun')',
-attributes = array(
'sn',
'firstname',
'telephoneNumber',
'llnlNickname',
'employeeNumber',
'llnlpersonid'
)
);
/* This was here in error, in the original code */
//LDAP_Scope_OneLevel;

local('LLNL' = #myLDAP->Results);

#myLDAP->code;
'<br/>';

/* Don't close it */
//#myLDAP->Close;

'returned results: ' + #LLNL + '<br>';
10 Sep, 2015 by Eric Knibbe
I can't get any response from OS X Server, even after testing with the equivalent `ldapsearch` command:
ldapsearch -vx -P 3 -H ldap://10.10.1.88 -b 'cn=users,dc=miniserver,dc=internal,dc=treefrog,dc=ca' -s sub 'uid=s*'

using:
local(my_ldap) = ldap('miniserver.internal.treefrog.ca')
fail_if(#my_ldap->code != 0, #my_ldap->code, 'LDAP Error ' + #my_ldap->code)
#my_ldap->search('cn=users,dc=miniserver,dc=internal,dc=treefrog,dc=ca', ldap_scope_subtree, '(uid=s*)')
fail_if(#my_ldap->code != 0, #my_ldap->code, 'LDAP Error ' + #my_ldap->code)
local(my_result) = #my_ldap->results
//#my_ldap->close
#my_result
04 Jan, 2017 by Eric Knibbe
In [changeset:"5738"]:
#!CommitTicketReference repository="" revision="5738"
fix #7896:
fixes ->results and ->code by using lasso_typeSetDataMember instead of Add,
fixes ->close by not calling ldap_unbind_s,
also adds ldap_scope_children
05 Jan, 2017 by Eric Knibbe
Milestone ldap-ds deleted
Please log in to your LassoSoft account to comment

LassoSoft Inc. > Home

 

 

©LassoSoft Inc 2015 | Web Development by Treefrog Inc | PrivacyLegal terms and Shipping | Contact LassoSoft