[Bug 36327] New: Dameware Mini Remote Control 10.x licensing tool fails during post-install step (needs support for registry objects in GetSecurityInfo)

wine-bugs at winehq.org wine-bugs at winehq.org
Sun May 4 06:08:53 CDT 2014


https://bugs.winehq.org/show_bug.cgi?id=36327

            Bug ID: 36327
           Summary: Dameware Mini Remote Control 10.x licensing tool fails
                    during post-install step (needs support for registry
                    objects in GetSecurityInfo)
           Product: Wine
           Version: 1.7.18
          Hardware: x86
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: advapi32
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net

Hello folks,

as the summary says.

Prerequisite: 'winetricks -q dotnet20' (or let the installer just install it)

--- snip ---
0036:Call KERNEL32.CreateProcessW(00000000,008fb7d8 L"\"C:\\Program
Files\\SolarWinds\\DameWare Mini Remote Control
10.0\\SolarWinds.MRC.Licensor.exe\"",00000000,00000000,00000000,00000000,00000000,008eeb28
L"C:\\Program Files\\SolarWinds\\DameWare Mini Remote Control
10.0\\",0033ec0c,0033ebfc) ret=7d5982ba 
...
0047: init_process_done() = 0 
...
0036:Ret  KERNEL32.CreateProcessW() retval=00000001 ret=7d5982ba 
...
0047:Call advapi32.RegCreateKeyExW(00000274,008ef4c0
L"{15119A76-31E3-4C58-AD65-5BCCF704B5C5}",00000000,00000000,00000000,0002001f,00000000,0033f028,0033f0b8)
ret=0037be6f
0047: create_key( parent=0274, access=0002001f, attributes=00000000,
options=00000000, namelen=76, name=L"{15119A76-31E3-4C58-AD65-5BCCF704B5C5}",
class=L"" )
0047: create_key() = 0 { hkey=0278, created=1 }
0047:Ret  advapi32.RegCreateKeyExW() retval=00000000 ret=0037be6f 
...
0047:Call
advapi32.GetSecurityInfo(00000278,00000004,0000000f,0033efbc,0033efb8,0033efb4,0033efb0,0033efac)
ret=0037ba68
0047:trace:ntdll:NtQuerySecurityObject
(0x278,0x0000000f,(nil),0x00000000,0x33ee94)
0047: get_security_object( handle=0278, security_info=0000000f )
0047: get_security_object() = ACCESS_DENIED { sd_len=00000000, sd={} }
0047:Ret  advapi32.GetSecurityInfo() retval=00000005 ret=0037ba68
0047:Call KERNEL32.GetLastError() ret=0037ba6e
0047:Ret  KERNEL32.GetLastError() retval=00000000 ret=0037ba6e
...
0047:Call KERNEL32.RaiseException(e0434f4d,00000001,00000001,0033eea8)
ret=79f97065
0047:trace:seh:raise_exception code=e0434f4d flags=1 addr=0x7b83ac57
ip=7b83ac57 tid=0047
0047:trace:seh:raise_exception  info[0]=80070005
0047:trace:seh:raise_exception  eax=7b826c7d ebx=7b8bb000 ecx=80070005
edx=0033ede4 esi=0033ee88 edi=0033ee50
0047:trace:seh:raise_exception  ebp=0033ee28 esp=0033edc4 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00000283
0047:trace:seh:call_stack_handlers calling handler at 0x79f9a3c8 code=e0434f4d
flags=1 
--- snip ---

Managed backtrace:

--- snip ---
System.UnauthorizedAccessException: Attempted to perform an unauthorized
operation.
   at System.Security.AccessControl.Win32.GetSecurityInfo(ResourceType
resourceType, String name, SafeHandle handle, AccessControlSections
accessControlSections, RawSecurityDescriptor& resultSd)
   at
System.Security.AccessControl.NativeObjectSecurity.CreateInternal(ResourceType
resourceType, Boolean isContainer, String name, SafeHandle handle,
AccessControlSections includeSections, Boolean createByName,
ExceptionFromErrorCode exceptionFromErrorCode, Object exceptionContext)
   at System.Security.AccessControl.NativeObjectSecurity..ctor(Boolean
isContainer, ResourceType resourceType, SafeHandle handle,
AccessControlSections includeSections, ExceptionFromErrorCode
exceptionFromErrorCode, Object exceptionContext)
   at System.Security.AccessControl.RegistrySecurity..ctor(SafeRegistryHandle
hKey, String name, AccessControlSections includeSections)
   at Microsoft.Win32.RegistryKey.GetAccessControl(AccessControlSections
includeSections)
   at SolarWinds.Licensing.Framework.RegistryUtil.SetRegistryRights(RegistryKey
swKey, AccessControlSections section)
   at SolarWinds.Licensing.Framework.RegistryUtil.SetRegistryRights(RegistryKey
swKey)
   at SolarWinds.Licensing.Framework.RegistryUtil.GetRegistryKey(Boolean
writable)
   at
SolarWinds.Licensing.Framework.RegistryUtil.GetDefaultSymmetricAlgorithm()
   at
SolarWinds.Licensing.Framework.Store.LicenseStoreDAL.GetSymmetricAlgorithm(String&
defaultAlgo)
   at SolarWinds.Licensing.Framework.Store.LicenseStoreDAL.InitializeStore()
   at SolarWinds.Licensing.Framework.Store.LicenseStoreDAL..ctor()
   at
SolarWinds.Licensing.Framework.Store.SingletonLicenseStoreFactory.get_StoreInstance()
   at SolarWinds.Licensing.Framework.LicenseManager..ctor(ILicenseStore store,
IOnlineLicenseManager onlineManager)
   at SolarWinds.Licensing.Framework.LicenseManager.GetInstance()
   at SolarWinds.MRC.Licensor.Program.RunLicensingWindow(Boolean
silentInstallation, Dictionary`2 activationArguments, Boolean forceOnlineCheck)
   at SolarWinds.MRC.Licensor.Program.Main(String[] args)
--- snip ---

Source:
http://source.winehq.org/git/wine.git/blob/929d9fb9f79b9ba0b7392215e51a152ec709d62c:/dlls/advapi32/security.c#l3097

--- snip ---
3116 DWORD WINAPI GetSecurityInfo(
3117     HANDLE hObject, SE_OBJECT_TYPE ObjectType,
3118     SECURITY_INFORMATION SecurityInfo, PSID *ppsidOwner,
3119     PSID *ppsidGroup, PACL *ppDacl, PACL *ppSacl,
3120     PSECURITY_DESCRIPTOR *ppSecurityDescriptor
3121 )
3122 {
...
3139     switch (ObjectType)
3140     {
3141     case SE_SERVICE:
3142         status = SERV_QueryServiceObjectSecurity(hObject, SecurityInfo,
NULL, 0, &n1);
3143         break;
3144     default:
3145         status = NtQuerySecurityObject(hObject, SecurityInfo, NULL, 0,
&n1);
3146     break;
3147     }
...
--- snip ---

Erich Hoover worked on this some time ago, adding support for registry objects
to [Get|Set]NamedSecurityInfo().

For GetSecurityInfo() he provided a patchset too ... it never went in?

$ sha1sum DameWare-MRC32-Eval-v10.0.0.exe 
5181070b3c13720a14072dc50c1aa1f4b82b7e3a  DameWare-MRC32-Eval-v10.0.0.exe

$ du -sh DameWare-MRC32-Eval-v10.0.0.exe 
58M    DameWare-MRC32-Eval-v10.0.0.exe

$ wine --version
wine-1.7.18-10-ge5d69df

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list