Bug 1322144

Summary: PassSync installer overwrites "Notification Packages" value in registry instead of appending it
Product: Red Hat Directory Server Reporter: Viktor Ashirov <vashirov>
Component: winsyncAssignee: Noriko Hosoi <nhosoi>
Status: CLOSED ERRATA QA Contact: Viktor Ashirov <vashirov>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 10.0CC: pbokoc
Target Milestone: DS10.0   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: RedHat-PassSync-1.1.7-x86_64.msi Doc Type: Bug Fix
Doc Text:
The PassSync installer was previously overwriting the "Notification Packages" value in the registry instead of appending to it. As a consequence, any previous values existing in this registry entry were lost when the installation finished. This update fixes the installer and installing PassSync no longer eliminates existing "Notification Packages" registry entries.
Story Points: ---
Clone Of:
: 1322593 (view as bug list) Environment:
Last Closed: 2016-04-18 21:36:05 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1322593    

Description Viktor Ashirov 2016-03-29 21:29:31 UTC
Description of problem:

https://git.fedorahosted.org/cgit/389/winsync.git/tree/passwordsync/wix/PassSync.wxs#n273
            <RegistryKey Id='NotPkgs' Root='HKLM' Key='SYSTEM\ControlSet001\Control\Lsa' ForceCreateOnInstall='yes' >
              <RegistryValue Name='Notification Packages' Type='multiString' Value='passhook'/>
            </RegistryKey>
Here key "Notification Packages" should be *appended* with the new value 'passhook'. But instead installer *replaces* the old values with the new one.

Before the installation of PassSync:
----
C:\Users\Administrator>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa /v "Notification Packages"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
    Notification Packages    REG_MULTI_SZ    scecli\0rassfm
----

After the installation of PassSync:
----
C:\Users\Administrator>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa /v "Notification Packages"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
    Notification Packages    REG_MULTI_SZ    passhook
----

And during the uninstallation it removes the key completely (which also should not happen):
----
C:\Users\Administrator>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa /v "Notification Packages"

ERROR: The system was unable to find the specified registry key or value.
----

Version-Release number of selected component (if applicable):
RedHat-PassSync-1.1.6-x86_64.msi

How reproducible:
always

Steps to Reproduce:
1. Setup Windows 2008R2 with AD
2. Check the value of "Notification Packages"
reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa /v "Notification Packages"
3. Install passsync
4. Check the value of "Notification Packages"
5. Uninstall passsync
6. Check the value of "Notification Packages"

Actual results:
Old value is replaced with "passhook". 

Expected results:
Value "passhook" should be appended

Comment 1 Noriko Hosoi 2016-03-29 21:34:56 UTC
Thank you, Viktor!

Is it okay to associate this bug to these errata and respin passsync?
https://errata.devel.redhat.com/advisory/22997
https://errata.devel.redhat.com/advisory/22998

Comment 2 Viktor Ashirov 2016-03-29 21:37:18 UTC
Sure, Noriko! I was about to propose it :)
I have a patch for this issue, will post it to the upstream ticket in a minute.

Comment 3 Noriko Hosoi 2016-03-29 21:41:53 UTC
(In reply to Viktor Ashirov from comment #2)
> Sure, Noriko! I was about to propose it :)
> I have a patch for this issue, will post it to the upstream ticket in a
> minute.

Fantastic!!  Thank you so much, Viktor!

Comment 6 Viktor Ashirov 2016-04-01 12:55:02 UTC
Build tested:
RedHat-PassSync-1.1.7-x86_64.msi

Before the installation:
C:\Users\Administrator>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa /v "Notification Packages"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
    Notification Packages    REG_MULTI_SZ    rassfm\0scecli


After the installation:
C:\Users\Administrator>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa /v "Notification Packages"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
    Notification Packages    REG_MULTI_SZ    rassfm\0scecli\0passhook


After the uninstallation:
C:\Users\Administrator>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa /v "Notification Packages"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
    Notification Packages    REG_MULTI_SZ    rassfm\0scecli

Marking as VERIFIED.

Comment 8 errata-xmlrpc 2016-04-18 21:36:05 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.

https://rhn.redhat.com/errata/RHBA-2016-0645.html