mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-24 13:24:56 +08:00
slapi cleanup
This commit is contained in:
parent
446f40316a
commit
b793be6aca
@ -110,9 +110,9 @@ do_extended(
|
||||
Slapi_PBlock *pb = op->o_pb;
|
||||
SLAPI_FUNC funcAddr = NULL;
|
||||
int extop_rc;
|
||||
int msg_sent=FALSE;
|
||||
char *result_msg="";
|
||||
#endif /* defined(LDAP_SLAPI) */
|
||||
int msg_sent = FALSE;
|
||||
char *result_msg = "";
|
||||
#endif /* defined(LDAP_SLAPI) */
|
||||
|
||||
#ifdef NEW_LOGGING
|
||||
LDAP_LOG( OPERATION, ENTRY, "do_extended: conn %d\n", conn->c_connid, 0, 0 );
|
||||
@ -253,36 +253,68 @@ do_extended(
|
||||
goto done; /* end of OpenLDAP extended operation */
|
||||
|
||||
} else { /* start of Netscape extended operation */
|
||||
if ( ( rc = slapi_pblock_set( pb, SLAPI_EXT_OP_REQ_OID,(void *)reqoid.bv_val) ) == 0 &&
|
||||
( rc = slapi_pblock_set( pb, SLAPI_EXT_OP_REQ_VALUE,(void *)&reqdata) ) == 0 &&
|
||||
( rc = slapi_pblock_set( pb, SLAPI_CONNECTION,(void *)conn) ) == 0 &&
|
||||
( rc = slapi_pblock_set( pb, SLAPI_OPERATION, (void *)op) ) == 0) {
|
||||
extop_rc = (*funcAddr)( pb );
|
||||
if ( extop_rc == SLAPI_PLUGIN_EXTENDED_SENT_RESULT ) {
|
||||
msg_sent = TRUE;
|
||||
} else if ( extop_rc == SLAPI_PLUGIN_EXTENDED_NOT_HANDLED ) {
|
||||
rc = LDAP_PROTOCOL_ERROR;
|
||||
result_msg = UNSUPPORTED_EXTENDEDOP;
|
||||
} else {
|
||||
if ( ( rc = slapi_pblock_get(pb, SLAPI_EXT_OP_RET_OID,&rspoid) ) == 0 &&
|
||||
( rc = slapi_pblock_get(pb, SLAPI_EXT_OP_RET_VALUE,&rspdata) ) == 0 ) {
|
||||
send_ldap_extended( conn, op, extop_rc, NULL, text, refs,
|
||||
rspoid, rspdata, rspctrls );
|
||||
msg_sent = TRUE;
|
||||
} else {
|
||||
rc = LDAP_OPERATIONS_ERROR;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
rc = slapi_pblock_set( pb, SLAPI_EXT_OP_REQ_OID,
|
||||
(void *)reqoid.bv_val);
|
||||
if ( rc != LDAP_SUCCESS ) {
|
||||
rc = LDAP_OPERATIONS_ERROR;
|
||||
goto done;
|
||||
}
|
||||
|
||||
if ( rc != LDAP_SUCCESS && msg_sent == FALSE ) {
|
||||
send_ldap_result( conn, op, rc, NULL, result_msg, NULL, NULL );
|
||||
rc = slapi_pblock_set( pb, SLAPI_EXT_OP_REQ_VALUE,
|
||||
(void *)&reqdata);
|
||||
if ( rc != LDAP_SUCCESS ) {
|
||||
rc = LDAP_OPERATIONS_ERROR;
|
||||
goto done;
|
||||
}
|
||||
|
||||
rc = slapi_pblock_set( pb, SLAPI_CONNECTION, (void *)conn );
|
||||
if ( rc != LDAP_SUCCESS ) {
|
||||
rc = LDAP_OPERATIONS_ERROR;
|
||||
goto done;
|
||||
}
|
||||
|
||||
rc = slapi_pblock_set( pb, SLAPI_OPERATION, (void *)op);
|
||||
if ( rc != LDAP_SUCCESS ) {
|
||||
rc = LDAP_OPERATIONS_ERROR;
|
||||
goto done;
|
||||
}
|
||||
|
||||
extop_rc = (*funcAddr)( pb );
|
||||
if ( extop_rc == SLAPI_PLUGIN_EXTENDED_SENT_RESULT ) {
|
||||
msg_sent = TRUE;
|
||||
|
||||
} else if ( extop_rc == SLAPI_PLUGIN_EXTENDED_NOT_HANDLED ) {
|
||||
rc = LDAP_PROTOCOL_ERROR;
|
||||
result_msg = UNSUPPORTED_EXTENDEDOP;
|
||||
|
||||
} else {
|
||||
rc = slapi_pblock_get( pb, SLAPI_EXT_OP_RET_OID,
|
||||
&rspoid);
|
||||
if ( rc != LDAP_SUCCESS ) {
|
||||
goto done2;
|
||||
}
|
||||
|
||||
rc = slapi_pblock_get( pb, SLAPI_EXT_OP_RET_VALUE,
|
||||
&rspdata);
|
||||
if ( rc != LDAP_SUCCESS ) {
|
||||
goto done2;
|
||||
}
|
||||
|
||||
send_ldap_extended( conn, op, extop_rc, NULL, text,
|
||||
refs, rspoid, rspdata, rspctrls );
|
||||
msg_sent = TRUE;
|
||||
}
|
||||
|
||||
done2:;
|
||||
if ( rc != LDAP_SUCCESS && msg_sent == FALSE ) {
|
||||
send_ldap_result( conn, op, rc, NULL, result_msg,
|
||||
NULL, NULL );
|
||||
}
|
||||
|
||||
if ( rspoid != NULL ) {
|
||||
free( rspoid );
|
||||
}
|
||||
|
||||
if ( rspdata != NULL ) {
|
||||
ber_bvfree( rspdata );
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user