mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-02-18 18:18:06 -05:00
ITS#6473 from HEAD
This commit is contained in:
parent
ed823cdc00
commit
c58fc1918f
1 changed files with 20 additions and 10 deletions
|
|
@ -1202,10 +1202,11 @@ static slap_verbmasks modops[] = {
|
|||
{ BER_BVNULL, 0 }
|
||||
};
|
||||
|
||||
static Modifications *
|
||||
static int
|
||||
syncrepl_accesslog_mods(
|
||||
syncinfo_t *si,
|
||||
struct berval *vals
|
||||
struct berval *vals,
|
||||
struct Modifications **modres
|
||||
)
|
||||
{
|
||||
char *colon;
|
||||
|
|
@ -1214,7 +1215,7 @@ syncrepl_accesslog_mods(
|
|||
struct berval bv, bv2;
|
||||
short op;
|
||||
Modifications *mod = NULL, *modlist = NULL, **modtail;
|
||||
int i;
|
||||
int i, rc = 0;
|
||||
|
||||
modtail = &modlist;
|
||||
|
||||
|
|
@ -1228,7 +1229,13 @@ syncrepl_accesslog_mods(
|
|||
bv.bv_len = colon - bv.bv_val;
|
||||
if ( slap_bv2ad( &bv, &ad, &text )) {
|
||||
/* Invalid */
|
||||
continue;
|
||||
Debug( LDAP_DEBUG_ANY, "syncrepl_accesslog_mods: %s "
|
||||
"Invalid attribute %s, %s\n",
|
||||
si->si_ridtxt, bv.bv_val, text );
|
||||
slap_mods_free( modlist, 1 );
|
||||
modlist = NULL;
|
||||
rc = -1;
|
||||
break;
|
||||
}
|
||||
/* Ignore dynamically generated attrs */
|
||||
if ( ad->ad_type->sat_flags & SLAP_AT_DYNAMIC )
|
||||
|
|
@ -1266,16 +1273,18 @@ syncrepl_accesslog_mods(
|
|||
ber_bvarray_add( &mod->sml_values, &bv2 );
|
||||
}
|
||||
}
|
||||
return modlist;
|
||||
*modres = modlist;
|
||||
return rc;
|
||||
}
|
||||
|
||||
static Modifications *
|
||||
static int
|
||||
syncrepl_changelog_mods(
|
||||
syncinfo_t *si,
|
||||
struct berval *vals
|
||||
struct berval *vals,
|
||||
struct Modifications **modres
|
||||
)
|
||||
{
|
||||
return NULL; /* FIXME */
|
||||
return -1; /* FIXME */
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
@ -1352,9 +1361,10 @@ syncrepl_message_to_op(
|
|||
} else if ( !ber_bvstrcasecmp( &bv, &ls->ls_mod )) {
|
||||
/* Parse attribute into modlist */
|
||||
if ( si->si_syncdata == SYNCDATA_ACCESSLOG )
|
||||
modlist = syncrepl_accesslog_mods( si, bvals );
|
||||
rc = syncrepl_accesslog_mods( si, bvals, &modlist );
|
||||
else
|
||||
modlist = syncrepl_changelog_mods( si, bvals );
|
||||
rc = syncrepl_changelog_mods( si, bvals, &modlist );
|
||||
if ( rc ) goto done;
|
||||
} else if ( !ber_bvstrcasecmp( &bv, &ls->ls_newRdn )) {
|
||||
rdn = bvals[0];
|
||||
} else if ( !ber_bvstrcasecmp( &bv, &ls->ls_delRdn )) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue