mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
fix previous commit (ITS#3871)
This commit is contained in:
parent
882f43bf01
commit
c5c0c3e4f5
@ -175,6 +175,7 @@ retry:;
|
|||||||
} else if ( rs->sr_err == LDAP_SUCCESS ) {
|
} else if ( rs->sr_err == LDAP_SUCCESS ) {
|
||||||
struct timeval tv, *tvp = NULL;
|
struct timeval tv, *tvp = NULL;
|
||||||
LDAPMessage *res = NULL;
|
LDAPMessage *res = NULL;
|
||||||
|
int rc;
|
||||||
|
|
||||||
if ( mi->mi_targets[ candidate ].mt_timeout[ META_OP_ADD ] != 0 ) {
|
if ( mi->mi_targets[ candidate ].mt_timeout[ META_OP_ADD ] != 0 ) {
|
||||||
tv.tv_sec = mi->mi_targets[ candidate ].mt_timeout[ META_OP_ADD ];
|
tv.tv_sec = mi->mi_targets[ candidate ].mt_timeout[ META_OP_ADD ];
|
||||||
@ -182,11 +183,11 @@ retry:;
|
|||||||
tvp = &tv;
|
tvp = &tv;
|
||||||
}
|
}
|
||||||
|
|
||||||
rs->sr_err = ldap_result( mc->mc_conns[ candidate ].msc_ld,
|
rs->sr_err = LDAP_OTHER;
|
||||||
|
rc = ldap_result( mc->mc_conns[ candidate ].msc_ld,
|
||||||
msgid, LDAP_MSG_ONE, tvp, &res );
|
msgid, LDAP_MSG_ONE, tvp, &res );
|
||||||
switch ( rs->sr_err ) {
|
switch ( rc ) {
|
||||||
case -1:
|
case -1:
|
||||||
rs->sr_err = LDAP_OTHER;
|
|
||||||
send_ldap_result( op, rs );
|
send_ldap_result( op, rs );
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -198,6 +199,14 @@ retry:;
|
|||||||
send_ldap_result( op, rs );
|
send_ldap_result( op, rs );
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
case LDAP_RES_ADD:
|
||||||
|
rc = ldap_parse_result( mc->mc_conns[ candidate ].msc_ld,
|
||||||
|
res, &rs->sr_err, NULL, NULL, NULL, NULL, 1 );
|
||||||
|
if ( rc != LDAP_SUCCESS ) {
|
||||||
|
rs->sr_err = rc;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
ldap_msgfree( res );
|
ldap_msgfree( res );
|
||||||
break;
|
break;
|
||||||
|
@ -74,6 +74,7 @@ retry:;
|
|||||||
} else if ( rs->sr_err == LDAP_SUCCESS ) {
|
} else if ( rs->sr_err == LDAP_SUCCESS ) {
|
||||||
struct timeval tv, *tvp = NULL;
|
struct timeval tv, *tvp = NULL;
|
||||||
LDAPMessage *res = NULL;
|
LDAPMessage *res = NULL;
|
||||||
|
int rc;
|
||||||
|
|
||||||
if ( mi->mi_targets[ candidate ].mt_timeout[ META_OP_DELETE ] != 0 ) {
|
if ( mi->mi_targets[ candidate ].mt_timeout[ META_OP_DELETE ] != 0 ) {
|
||||||
tv.tv_sec = mi->mi_targets[ candidate ].mt_timeout[ META_OP_DELETE ];
|
tv.tv_sec = mi->mi_targets[ candidate ].mt_timeout[ META_OP_DELETE ];
|
||||||
@ -81,9 +82,10 @@ retry:;
|
|||||||
tvp = &tv;
|
tvp = &tv;
|
||||||
}
|
}
|
||||||
|
|
||||||
rs->sr_err = ldap_result( mc->mc_conns[ candidate ].msc_ld,
|
rs->sr_err = LDAP_OTHER;
|
||||||
|
rc = ldap_result( mc->mc_conns[ candidate ].msc_ld,
|
||||||
msgid, LDAP_MSG_ONE, tvp, &res );
|
msgid, LDAP_MSG_ONE, tvp, &res );
|
||||||
switch ( rs->sr_err ) {
|
switch ( rc ) {
|
||||||
case -1:
|
case -1:
|
||||||
rs->sr_err = LDAP_OTHER;
|
rs->sr_err = LDAP_OTHER;
|
||||||
send_ldap_result( op, rs );
|
send_ldap_result( op, rs );
|
||||||
@ -97,6 +99,14 @@ retry:;
|
|||||||
send_ldap_result( op, rs );
|
send_ldap_result( op, rs );
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
case LDAP_RES_DELETE:
|
||||||
|
rc = ldap_parse_result( mc->mc_conns[ candidate ].msc_ld,
|
||||||
|
res, &rs->sr_err, NULL, NULL, NULL, NULL, 1 );
|
||||||
|
if ( rc != LDAP_SUCCESS ) {
|
||||||
|
rs->sr_err = rc;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
ldap_msgfree( res );
|
ldap_msgfree( res );
|
||||||
break;
|
break;
|
||||||
|
@ -191,11 +191,11 @@ retry:;
|
|||||||
tvp = &tv;
|
tvp = &tv;
|
||||||
}
|
}
|
||||||
|
|
||||||
rs->sr_err = ldap_result( mc->mc_conns[ candidate ].msc_ld,
|
rs->sr_err = LDAP_OTHER;
|
||||||
|
rc = ldap_result( mc->mc_conns[ candidate ].msc_ld,
|
||||||
msgid, LDAP_MSG_ONE, tvp, &res );
|
msgid, LDAP_MSG_ONE, tvp, &res );
|
||||||
switch ( rs->sr_err ) {
|
switch ( rc ) {
|
||||||
case -1:
|
case -1:
|
||||||
rs->sr_err = LDAP_OTHER;
|
|
||||||
rc = -1;
|
rc = -1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -207,7 +207,17 @@ retry:;
|
|||||||
rc = -1;
|
rc = -1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LDAP_RES_MODIFY:
|
||||||
|
rc = ldap_parse_result( mc->mc_conns[ candidate ].msc_ld,
|
||||||
|
res, &rs->sr_err, NULL, NULL, NULL, NULL, 1 );
|
||||||
|
if ( rc != LDAP_SUCCESS ) {
|
||||||
|
rs->sr_err = rc;
|
||||||
|
}
|
||||||
|
rc = 0;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
rc = -1;
|
||||||
ldap_msgfree( res );
|
ldap_msgfree( res );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -115,6 +115,7 @@ retry:;
|
|||||||
} else if ( rs->sr_err == LDAP_SUCCESS ) {
|
} else if ( rs->sr_err == LDAP_SUCCESS ) {
|
||||||
struct timeval tv, *tvp = NULL;
|
struct timeval tv, *tvp = NULL;
|
||||||
LDAPMessage *res = NULL;
|
LDAPMessage *res = NULL;
|
||||||
|
int rc;
|
||||||
|
|
||||||
if ( mi->mi_targets[ candidate ].mt_timeout[ META_OP_MODRDN ] != 0 ) {
|
if ( mi->mi_targets[ candidate ].mt_timeout[ META_OP_MODRDN ] != 0 ) {
|
||||||
tv.tv_sec = mi->mi_targets[ candidate ].mt_timeout[ META_OP_MODRDN ];
|
tv.tv_sec = mi->mi_targets[ candidate ].mt_timeout[ META_OP_MODRDN ];
|
||||||
@ -122,11 +123,11 @@ retry:;
|
|||||||
tvp = &tv;
|
tvp = &tv;
|
||||||
}
|
}
|
||||||
|
|
||||||
rs->sr_err = ldap_result( mc->mc_conns[ candidate ].msc_ld,
|
rs->sr_err = LDAP_OTHER;
|
||||||
|
rc = ldap_result( mc->mc_conns[ candidate ].msc_ld,
|
||||||
msgid, LDAP_MSG_ONE, tvp, &res );
|
msgid, LDAP_MSG_ONE, tvp, &res );
|
||||||
switch ( rs->sr_err ) {
|
switch ( rc ) {
|
||||||
case -1:
|
case -1:
|
||||||
rs->sr_err = LDAP_OTHER;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0:
|
case 0:
|
||||||
@ -136,6 +137,14 @@ retry:;
|
|||||||
LDAP_ADMINLIMIT_EXCEEDED : LDAP_OPERATIONS_ERROR;
|
LDAP_ADMINLIMIT_EXCEEDED : LDAP_OPERATIONS_ERROR;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LDAP_RES_RENAME:
|
||||||
|
rc = ldap_parse_result( mc->mc_conns[ candidate ].msc_ld,
|
||||||
|
res, &rs->sr_err, NULL, NULL, NULL, NULL, 1 );
|
||||||
|
if ( rc != LDAP_SUCCESS ) {
|
||||||
|
rs->sr_err = rc;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
ldap_msgfree( res );
|
ldap_msgfree( res );
|
||||||
break;
|
break;
|
||||||
@ -157,10 +166,10 @@ cleanup:;
|
|||||||
|
|
||||||
if ( rs->sr_err == LDAP_SUCCESS ) {
|
if ( rs->sr_err == LDAP_SUCCESS ) {
|
||||||
meta_back_op_result( mc, op, rs, candidate );
|
meta_back_op_result( mc, op, rs, candidate );
|
||||||
|
} else {
|
||||||
|
send_ldap_result( op, rs );
|
||||||
}
|
}
|
||||||
|
|
||||||
send_ldap_result( op, rs );
|
|
||||||
|
|
||||||
meta_back_release_conn( op, mc );
|
meta_back_release_conn( op, mc );
|
||||||
|
|
||||||
return rs->sr_err;
|
return rs->sr_err;
|
||||||
|
Loading…
Reference in New Issue
Block a user