diff options
author | Rich Megginson <rmeggins@redhat.com> | 2009-02-04 20:40:34 +0000 |
---|---|---|
committer | Rich Megginson <rmeggins@redhat.com> | 2009-02-04 20:40:34 +0000 |
commit | 0fb5cccfabffd94b3ebec2a0c24423741c0733e1 (patch) | |
tree | 2e580ca072fa9a05eda034485fe0037584646df9 /ldap/servers/plugins/replication/windows_protocol_util.c | |
parent | 3f6d361abb785011546604fdf4c052ce4abb3e47 (diff) | |
download | ds-0fb5cccfabffd94b3ebec2a0c24423741c0733e1.tar.gz ds-0fb5cccfabffd94b3ebec2a0c24423741c0733e1.tar.xz ds-0fb5cccfabffd94b3ebec2a0c24423741c0733e1.zip |
Resolves: bug 483256
Bug Description: DS crash when modify entry that does not exist in AD
Reviewed by: nkinder (Thanks!)
Fix Description: The function that checks to see if the mod has already been made to the AD entry should just return 0 if the AD entry does not exist or could not be found - in this case, the regular windows replay code will handle it.
Platforms tested: RHEL5
Flag Day: no
Doc impact: no
Diffstat (limited to 'ldap/servers/plugins/replication/windows_protocol_util.c')
-rw-r--r-- | ldap/servers/plugins/replication/windows_protocol_util.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ldap/servers/plugins/replication/windows_protocol_util.c b/ldap/servers/plugins/replication/windows_protocol_util.c index 7e00e106..8cd5bdfa 100644 --- a/ldap/servers/plugins/replication/windows_protocol_util.c +++ b/ldap/servers/plugins/replication/windows_protocol_util.c @@ -1817,6 +1817,14 @@ mod_already_made(Private_Repl_Protocol *prp, Slapi_Mod *smod) return 1; } + if (!ad_entry) { /* mods cannot already have been made */ + slapi_log_error(SLAPI_LOG_REPL, repl_plugin_name, + "%s: mod_already_made: " + "AD entry not found\n", + agmt_get_long_name(prp->agmt)); + return retval; /* just allow - will probably fail later if entry really doesn't exist */ + } + op = slapi_mod_get_operation(smod); type = slapi_mod_get_type(smod); if (SLAPI_IS_MOD_ADD(op)) { /* make sure value is not there */ |