Closed
Bug 3231
Opened 26 years ago
Closed 26 years ago
ldap_extended_operation() bug - Renders extended operations non-functional
Categories
(Directory :: LDAP C SDK, defect, P1)
Directory
LDAP C SDK
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: lentz, Assigned: chuckb)
Details
The ldap_extended_operation() contains a bug that renders extended
operations non-functional. I encountered this when porting the SDK to VMS, and
have learnt that this problem is now being encountered by our developers using
the latest binary distributions for NT, Win95 and Unix.
Essentially, message ID's are misused; the valid response message will be
discarded (incorrectly) for appearing to have an incorrect ID. The client will
then wait for the next response, which it will never receive - and remains
waiting.
The flaw is in extendop.c, in the final lines of ldap_extended_operation().
The fix is illustrated below :
#if (0) /*@@ extendop bug !??!? */
rc = nsldapi_send_initial_request( ld, *msgidp, LDAP_REQ_EXTENDED, NULL,
ber );
#else
rc = nsldapi_send_initial_request( ld, msgid, LDAP_REQ_EXTENDED, NULL,
ber );
#endif
*msgidp = rc;
return( rc < 0 ? LDAP_GET_LDERRNO( ld, NULL, NULL ) : LDAP_SUCCESS );
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Done!
Thanks for the fix. I finally checked it in to the tree.
You need to log in
before you can comment on or make changes to this bug.
Description
•