Bug 717066

Summary: winsync uses old AD entry if new one not found
Product: Red Hat Enterprise Linux 6 Reporter: Rich Megginson <rmeggins>
Component: 389-ds-baseAssignee: Rich Megginson <rmeggins>
Status: CLOSED ERRATA QA Contact:
Severity: high Docs Contact:
Priority: urgent    
Version: 6.1CC: amsharma, ckannan, jgalipea, jwest, shaines
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 389-ds-base-1.2.9.11-1.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 716980 Environment:
Last Closed: 2011-12-06 17:51:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 716980    
Bug Blocks: 723550    

Description Rich Megginson 2011-06-27 20:31:14 UTC
+++ This bug was initially created as a clone of Bug #716980 +++

Every time windows sync searches for a windows entry, it stores it as the agreement private raw entry.  In certain cases, such as if winsync attempts to replay a modify operation, and the AD target entry was deleted, winsync will attempt a search to get the AD entry target of the modify operation, and it will fail, and it will leave the old AD target entry in the raw entry field.

One effect of this is to call winsync_plugin_call_pre_ad_mod user or group with the wrong AD entry.

With regular DS there is no problem - the modify operation will fail with err=32 because the AD entry does not exist - this is ok and expected.

This causes problems with IPA winsync because it gets the wrong AD entry.

How to Test:

We can't really reproduce the original problem with regular DS winsync.  So we should just make sure winsync passes all of the regular DS winsync regression tests to make sure this patch doesn't introduce a regression.

--- Additional comment from rmeggins on 2011-06-27 12:18:29 EDT ---

Created attachment 510117 [details]
0001-Bug-716980-winsync-uses-old-AD-entry-if-new-one-not-.patch

--- Additional comment from rmeggins on 2011-06-27 13:46:05 EDT ---

To ssh://git.fedorahosted.org/git/389/ds.git
   7dc1edf..b212b0e  master -> master
commit 958b4cdb50f74d02159924ae36c31bdb6f3ca3be
Author: Rich Megginson <rmeggins>
Date:   Mon Jun 27 10:13:52 2011 -0600
    Reviewed by: nhosoi (Thanks!)
    Branch: master
    Fix Description: Clear out the old raw_entry before doing the search.  This
    will leave a NULL in the raw entry.  winsync plugins will need to handle a
    NULL for the raw_entry and/or ad_entry.
    I also improved an error message.
    Platforms tested: RHEL6 x86_64
    Flag Day: no
    Doc impact: no

Comment 4 Amita Sharma 2011-09-08 11:13:23 UTC
As the cloned bug "https://bugzilla.redhat.com/show_bug.cgi?id=716980"is VERIFIED hence marking this as VERIFIED.

Comment 5 Chandrasekar Kannan 2011-09-16 21:33:42 UTC
ds-replication is no longer a component of rhel. folding back to 389-ds-base.

Comment 6 errata-xmlrpc 2011-12-06 17:51:29 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHEA-2011-1711.html