svn commit: samba r8523 - in branches/SAMBA_4_0/source/libcli/ldap:
.
tridge at samba.org
tridge at samba.org
Sun Jul 17 10:52:31 GMT 2005
Author: tridge
Date: 2005-07-17 10:52:31 +0000 (Sun, 17 Jul 2005)
New Revision: 8523
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=8523
Log:
match a zero message id in ldap replies to the last request sent. Thanks to simo
for noticing that this is needed to catch the server sending a "can't decode request"
error reply
Modified:
branches/SAMBA_4_0/source/libcli/ldap/ldap_client.c
Changeset:
Modified: branches/SAMBA_4_0/source/libcli/ldap/ldap_client.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/ldap/ldap_client.c 2005-07-17 10:38:59 UTC (rev 8522)
+++ branches/SAMBA_4_0/source/libcli/ldap/ldap_client.c 2005-07-17 10:52:31 UTC (rev 8523)
@@ -106,6 +106,11 @@
for (req=conn->pending; req; req=req->next) {
if (req->messageid == msg->messageid) break;
}
+ /* match a zero message id to the last request sent.
+ It seems that servers send 0 if unable to parse */
+ if (req == NULL && msg->messageid == 0) {
+ req = conn->pending;
+ }
if (req == NULL) {
DEBUG(0,("ldap: no matching message id for %u\n",
msg->messageid));
@@ -480,6 +485,9 @@
req->state = LDAP_REQUEST_SEND;
req->conn = conn;
req->messageid = conn->next_messageid++;
+ if (conn->next_messageid == 0) {
+ conn->next_messageid = 1;
+ }
req->type = msg->type;
if (req->messageid == -1) {
goto failed;
More information about the samba-cvs
mailing list