[Bug 30489] "SmartDeviceMonitor" client/admin installers from RICOH hang due to advapi32.RegSetKeySecurity being a stub
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Apr 20 17:14:57 CDT 2012
http://bugs.winehq.org/show_bug.cgi?id=30489
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |focht at gmx.net
Component|-unknown |advapi32
Summary|Can't install |"SmartDeviceMonitor"
|"SmartDeviceMonitor for |client/admin installers
|Admin" from ricoh |from RICOH hang due to
| |advapi32.RegSetKeySecurity
| |being a stub
--- Comment #2 from Anastasius Focht <focht at gmx.net> 2012-04-20 17:14:57 CDT ---
Hello,
this seems to be the first installer/app that really expects setting registry
security to work.
If you search for "RegSetKeySecurity" there are others in bugzilla that
continue despite the stub.
Affects both downloads, "SmartDeviceMonitor" for Client 8.9.4.0 and
"SmartDeviceMonitor" for Admin 8.2.1.0
--- snip ---
002c:Call KERNEL32.LoadLibraryExA(00937528
"C:\\users\\focht\\Temp\\{E5EEF599-4C83-4FF7-A0E1-DBC396F86E9F}\\{C138D676-4F0F-4FDE-8BE5-26CFD3566DCD}\\PMCEnd.dll",00000000,00000000)
ret=007e3a8f
002c:Ret KERNEL32.LoadLibraryExA() retval=022b0000 ret=007e3a8f
...
002c:Call KERNEL32.GetProcAddress(022b0000,00dd3ad0 "SetRegSecurity")
ret=00ab1c4d
002c:Ret KERNEL32.GetProcAddress() retval=022b1600 ret=00ab1c4d
...
002c:Call advapi32.RegOpenKeyExA(80000002,00dd3b80
"Software\\RICOH\\PMG\\Client",00000000,000f003f,00318b54) ret=022b166f
002c:Ret advapi32.RegOpenKeyExA() retval=00000000 ret=022b166f
002c:Call KERNEL32.lstrcpyA(003180f4,022b9050 "Everyone") ret=022b1462
002c:Ret KERNEL32.lstrcpyA() retval=003180f4 ret=022b1462
002c:Call
advapi32.AllocateAndInitializeSid(00317684,00000001,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,0031768c)
ret=022b1801
002c:Ret advapi32.AllocateAndInitializeSid() retval=00000001 ret=022b1801
002c:Call
advapi32.LookupAccountSidA(00000000,0127b7f8,003180f4,00317680,00317694,0031789c,00317690)
ret=022b1861
002c:Ret advapi32.LookupAccountSidA() retval=00000001 ret=022b1861
002c:Call advapi32.CopySid(00000208,00317ee8,0127b7f8) ret=022b187e
002c:Ret advapi32.CopySid() retval=00000001 ret=022b187e
002c:Call advapi32.FreeSid(0127b7f8) ret=022b188b
002c:Ret advapi32.FreeSid() retval=00000000 ret=022b188b
002c:Call advapi32.RegGetKeySecurity(0000021c,00000004,003178c4,003178b8)
ret=022b150e
002c:Ret advapi32.RegGetKeySecurity() retval=00000000 ret=022b150e
002c:Call
advapi32.GetSecurityDescriptorDacl(003178c4,003178a4,00318b38,003178a0)
ret=022b195a
002c:Ret advapi32.GetSecurityDescriptorDacl() retval=00000001 ret=022b195a
002c:Call advapi32.InitializeAcl(00318920,00000208,00000002) ret=022b1a5d
002c:Ret advapi32.InitializeAcl() retval=00000001 ret=022b1a5d
002c:Call KERNEL32.LoadLibraryA(022b90b0 "advapi32.dll") ret=022b1c98
002c:Ret KERNEL32.LoadLibraryA() retval=7eb00000 ret=022b1c98
002c:Call KERNEL32.GetProcAddress(7eb00000,022b90c0 "AddAccessAllowedAceEx")
ret=022b1caa
002c:Ret KERNEL32.GetProcAddress() retval=7eb0ab88 ret=022b1caa
002c:Call
advapi32.AddAccessAllowedAceEx(00318920,00000002,00000001,10000000,00317ee8)
ret=022b1cc8
002c:Ret advapi32.AddAccessAllowedAceEx() retval=00000001 ret=022b1cc8
002c:Call KERNEL32.FreeLibrary(7eb00000) ret=022b1d0c
002c:Ret KERNEL32.FreeLibrary() retval=00000001 ret=022b1d0c
002c:Call advapi32.InitializeSecurityDescriptor(0031850c,00000001) ret=022b1995
002c:Ret advapi32.InitializeSecurityDescriptor() retval=00000001 ret=022b1995
002c:Call
advapi32.SetSecurityDescriptorDacl(0031850c,00000001,00318920,00000000)
ret=022b19b6
002c:Ret advapi32.SetSecurityDescriptorDacl() retval=00000001 ret=022b19b6
002c:Call KERNEL32.LoadLibraryA(022b9080 "advapi32.dll") ret=022b1c25
002c:Ret KERNEL32.LoadLibraryA() retval=7eb00000 ret=022b1c25
002c:Call KERNEL32.GetProcAddress(7eb00000,022b9090
"SetSecurityDescriptorControl") ret=022b1c37
002c:Ret KERNEL32.GetProcAddress() retval=7eb0cf28 ret=022b1c37
002c:Call advapi32.SetSecurityDescriptorControl(0031850c,00000400,00000400)
ret=022b1c5a
002c:Ret advapi32.SetSecurityDescriptorControl() retval=00000001 ret=022b1c5a
002c:Call KERNEL32.FreeLibrary(7eb00000) ret=022b1c79
002c:Ret KERNEL32.FreeLibrary() retval=00000001 ret=022b1c79
002c:Call advapi32.RegSetKeySecurity(0000021c,00000004,0031850c) ret=022b15d5
002c:fixme:reg:RegSetKeySecurity :(0x21c,4,0x31850c): stub
002c:Ret advapi32.RegSetKeySecurity() retval=00000000 ret=022b15d5
...
002c:Call advapi32.RegGetKeySecurity(0000021c,00000004,003178c4,003178b8)
ret=022b150e
002c:Ret advapi32.RegGetKeySecurity() retval=00000000 ret=022b150e
002c:Call
advapi32.GetSecurityDescriptorDacl(003178c4,003178a4,00318b38,003178a0)
ret=022b195a
002c:Ret advapi32.GetSecurityDescriptorDacl() retval=00000001 ret=022b195a
...
<endless looping>
--- snip ---
RegGetKeySecurity -> GetSecurityDescriptorDacl -> DACL present? -> no -> loop
again, trying to set registry security and reading DACL back.
Source:
http://source.winehq.org/git/wine.git/blob/e4cb946c4aef0375a1f94a9167db0fe95dbbb014:/dlls/advapi32/registry.c#l2382
--- snip ---
2396 LSTATUS WINAPI RegSetKeySecurity( HKEY hkey, SECURITY_INFORMATION
SecurityInfo,
2397 PSECURITY_DESCRIPTOR pSecurityDesc )
2398 {
2399 TRACE("(%p,%d,%p)\n",hkey,SecurityInfo,pSecurityDesc);
2400
2401 /* It seems to perform this check before the hkey check */
2402 if ((SecurityInfo & OWNER_SECURITY_INFORMATION) ||
2403 (SecurityInfo & GROUP_SECURITY_INFORMATION) ||
2404 (SecurityInfo & DACL_SECURITY_INFORMATION) ||
2405 (SecurityInfo & SACL_SECURITY_INFORMATION)) {
2406 /* Param OK */
2407 } else
2408 return ERROR_INVALID_PARAMETER;
2409
2410 if (!pSecurityDesc)
2411 return ERROR_INVALID_PARAMETER;
2412
2413 FIXME(":(%p,%d,%p): stub\n",hkey,SecurityInfo,pSecurityDesc);
2414
2415 return ERROR_SUCCESS;
2416 }
--- snip ---
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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