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)

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.