Hi,
While looking into the failure of test 48272 (addn), I realised that we
were using both target_address and target_spec in the operation struct.
The pblock is a bit inconsistent about their usage also.
I've attached a list of the places we use them.
I think that this is a mistake, we really only need "one" target value
(probably target_spec).
I want to propose that we drop target_address for target_spec, update
the pblock to use operation_set_target_spec as needed.
However, I don't know the full history of these values, so I would like
your input to this design. Is there a difference between target_spec and
target_address?
Thanks,
--
Sincerely,
William Brown
Software Engineer
Red Hat, Brisbane
[william@rei 13:15] ~/development/389ds/ds I0> grep -r -n -e 'target_address'
ldap/servers/plugins/replication/replutil.c:440:if
(op->target_address.uniqueid == NULL)
ldap/servers/plugins/replication/replutil.c:447:if (op->target_address.sdn
== NULL)
ldap/servers/plugins/replication/windows_inc_protocol.c:1099:return (strcmp
(op->target_address.uniqueid, START_ITERATION_ENTRY_UNIQUEID) == 0);
ldap/servers/plugins/replication/windows_inc_protocol.c:1341:
entry.op->target_address.uniqueid, csn_str,
ldap/servers/plugins/replication/windows_inc_protocol.c:1355:
entry.op->target_address.uniqueid, csn_str,
ldap/servers/plugins/replication/windows_inc_protocol.c:1366:
entry.op->target_address.uniqueid, csn_str,
ldap/servers/plugins/replication/windows_inc_protocol.c:1381:
entry.op->target_address.uniqueid, csn_str);
ldap/servers/plugins/replication/repl5_plugins.c:1136:
op_params->target_address.uniqueid = slapi_ch_strdup (uniqueid);
ldap/servers/plugins/replication/repl5_plugins.c:1167:
REPL_GET_DN(_params->target_address),
ldap/servers/plugins/replication/repl5_plugins.c:1168:
op_params->target_address.uniqueid,
ldap/servers/plugins/replication/repl5_plugins.c:1177:
slapi_ch_free((void**)_params->target_address.uniqueid);
ldap/servers/plugins/replication/repl5_plugins.c:1193: const char *dn
= op_params ? REPL_GET_DN(_params->target_address) : "unknown";
ldap/servers/plugins/replication/repl5_plugins.c:1194: Slapi_DN *sdn =
op_params ? (_params->target_address)->sdn : NULL;
ldap/servers/plugins/replication/repl5_plugins.c:1195: char *uniqueid
= op_params ? op_params->target_address.uniqueid : "unknown";
ldap/servers/plugins/replication/windows_protocol_util.c:1550: local_dn =
slapi_sdn_dup( op->target_address.sdn );
ldap/servers/plugins/replication/windows_protocol_util.c:1559: rc =
windows_get_local_entry_by_uniqueid(prp, op->target_address.uniqueid,
_entry, 0);
ldap/servers/plugins/replication/windows_protocol_util.c:1561: rc =
windows_get_local_tombstone_by_uniqueid(prp, op->target_address.uniqueid,
_entry);
ldap/servers/plugins/replication/windows_protocol_util.c:1570:
op->target_address.uniqueid, _entry, 1 /* is_global */);
ldap/servers/plugins/replication/windows_protocol_util.c:1577:
REPL_GET_DN(>target_address));
ldap/servers/plugins/replication/windows_protocol_util.c:1590:
REPL_GET_DN(>target_address));
ldap/servers/plugins/replication/windows_protocol_util.c:1596:
REPL_GET_DN(>target_address), "ours");
ldap/servers/plugins/replication/windows_protocol_util.c:1615:
REPL_GET_DN(>target_address), is_ours ? "ours" : "not ours",
ldap/servers/plugins/replication/windows_protocol_util.c:1629:
REPL_GET_DN(>target_address),
ldap/servers/plugins/replication/windows_protocol_util.c:1637:
REPL_GET_DN(>target_address), slapi_sdn_get_dn(remote_dn));
ldap/servers/plugins/replication/repl5_inc_protocol.c:1339: if
(create_NSDS50ReplUpdateInfoControl(op->target_address.uniqueid,
ldap/servers/plugins/replication/repl5_inc_protocol.c:1353:
op2string(op->operation_type),
REPL_GET_DN(>target_address),
ldap/servers/plugins/replication/repl5_inc_protocol.c:1387:
REPL_GET_DN(>target_address),
ldap/servers/plugins/replication/repl5_inc_protocol.c:1392:
return_value = conn_send_add(prp->conn,
REPL_GET_DN(>target_address),
ldap/servers/plugins/replication/repl5_inc_protocol.c:1412:
REPL_GET_DN(>target_address),
ldap/servers/plugins/replication/repl5_inc_protocol.c:1417:
return_value =