Ronald - 2007-07-03

Hello,

we are using the tcllib (1.9) ldap package on many installations to provide a LDAP or ADS connection. On most of these installations this works absolut fine without any problems.

But now I have the problem that the connection to the ADS often says "Server closed
connection". If I try to send further requests to the ADS I get "Cannot start search. Already a search
in progress for this handle." errors. After waiting some time a can send an ADS request without any problems or errors.

Has anyone an idea how to prevent these "Server closed connection" errors or what could cause this problem?

Many thanks
Ronald

% info patchlevel
8.4.14

% userWithLoginExists ronald
[ldap_client (_connectAndBind)] reusing connection ::ldap::ldapsock6
[ldap_client (_get)] query = ::ldap::search ::ldap::ldapsock6
dc=my-company,dc=de
(&(&(objectclass=user)(memberOf=CN=GB_DEV,OU=Intranet,OU=BENUTZERKONTEN,DC=my-company,DC=de))(sAMAccountName=ronald)) {mail name sAMAccountName} -scope
subtree
[ldap_client (_get)] result = (Error) Protocol error: Server closed
connection
[ldap_client (unbindAndDisconnect)] ::ldap::ldapsock6
[ldap_client (disconnect)] ::ldap::ldapsock6
Protocol error: Server closed connection
% userWithLoginExists ronald
[ldap_client (_connectAndBind)] reusing connection ::ldap::ldapsock6
[ldap_client (_get)] query = ::ldap::search ::ldap::ldapsock6
dc=my-company,dc=de
(&(&(objectclass=user)(memberOf=CN=GB_DEV,OU=Intranet,OU=BENUTZERKONTEN,DC=my-company,DC=de))(sAMAccountName=ronald)) {mail name sAMAccountName} -scope
subtree
[ldap_client (_get)] result = (Error) Cannot start search. Already a search
in progress for this handle.
[ldap_client (unbindAndDisconnect)] ::ldap::ldapsock6
[ldap_client (disconnect)] ::ldap::ldapsock6
Cannot start search. Already a search in progress for this handle.

% puts $errorInfo
Cannot start search. Already a search in progress for this handle.
while executing
"searchInit $handle $baseObject $filterString $attributes $args"
(procedure "::ldap::search" line 6)
invoked from within
"::ldap::search $handle [encode $base] [encode $filter] $attributes -scope
$scope"
(procedure "_get" line 9)
invoked from within
"_get $handle $scope $base $filter $args"
("eval" body line 3)
(procedure "client::get" line 3)
invoked from within
"client::get subtree dc=my-company,dc=de
(&(&(objectclass=user)(memberOf=CN=GB_DEV,OU=Intranet,OU=BENUTZERKONTEN,DC=my-company,DC=de))(sAMAccountName=r..."
("eval" body line 1)
invoked from within
"eval [list client::get $scope $base $filter] $attributes"
(procedure "queryUsersWithAttributes" line 21)
invoked from within
"queryUsersWithAttributes subtree dc=my-company,dc=de
(&(&(objectclass=user)(memberOf=CN=GB_DEV,OU=Intranet,OU=BENUTZERKONTEN,DC=my-company,DC=de))(sAM..."
("eval" body line 1)
invoked from within
"eval [list queryUsersWithAttributes $scope $base $filter] $attributes"
(procedure "userLoginsFromUserQuery" line 15)
invoked from within
"userLoginsFromUserQuery subtree dc=my-company,dc=de
(&(&(objectclass=user)(memberOf=CN=GB_DEV,OU=Intranet,OU=BENUTZERKONTEN,DC=my-company,DC=de))(sAMA..."
("eval" body line 1)
invoked from within
"eval userLoginsFromUserQuery [adaptor::userQuery $login] "no""
(procedure "::usermanager::editorial::ads::userWithLoginExists" line 2)
invoked from within
"::usermanager::editorial::ads::userWithLoginExists $login"
(procedure "userWithLoginExists" line 5)
invoked from within
"userWithLoginExists ronald"
%