[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
Sat May 17 03:55:22 CDT 2014


http://bugs.winehq.org/show_bug.cgi?id=30489

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |34406

--- Comment #5 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

unfortunately this is now blocked by bug 34406 - all older and recent
'SmartDeviceMonitor' installers are affected.

--- snip ---
...
0023:Call advapi32.GetFileSecurityA(00319734 "C:\\Program
Files\\RMAdmin",00000004,003184a4,00000410,00318484) ret=0a263485
0023:Ret  advapi32.GetFileSecurityA() retval=00000001 ret=0a263485
0023:Call
advapi32.GetSecurityDescriptorDacl(003184a4,0031848c,00319718,00318488)
ret=0a2634d8
0023:Ret  advapi32.GetSecurityDescriptorDacl() retval=00000001 ret=0a2634d8
0023:Call advapi32.GetAclInformation(003184b8,00318268,0000000c,00000002)
ret=0a2635b0
0023:Ret  advapi32.GetAclInformation() retval=00000001 ret=0a2635b0
0023:Call advapi32.InitializeAcl(00319500,00000208,00000002) ret=0a2635db
0023:Ret  advapi32.InitializeAcl() retval=00000001 ret=0a2635db
0023:Call advapi32.GetAce(003184b8,00000000,00318264) ret=0a263627
0023:Ret  advapi32.GetAce() retval=00000001 ret=0a263627
0023:Call
advapi32.LookupAccountSidA(00000000,003184c8,003180c4,00318258,00318190,0031825c,0031818c)
ret=0a2636be
0023:Ret  advapi32.LookupAccountSidA() retval=00000001 ret=0a2636be
0023:Call KERNEL32.lstrcmpA(003180c4 "SYSTEM",00318cd4 "Everyone") ret=0a2636d8
0023:Ret  KERNEL32.lstrcmpA() retval=00000001 ret=0a2636d8
0023:Call advapi32.GetAce(003184b8,00000001,00318264) ret=0a263627
0023:Ret  advapi32.GetAce() retval=00000001 ret=0a263627
0023:Call
advapi32.LookupAccountSidA(00000000,003184dc,003180c4,00318258,00318190,0031825c,0031818c)
ret=0a2636be
0023:Ret  advapi32.LookupAccountSidA() retval=00000001 ret=0a2636be
0023:Call KERNEL32.lstrcmpA(003180c4 "focht",00318cd4 "Everyone") ret=0a2636d8
0023:Ret  KERNEL32.lstrcmpA() retval=00000001 ret=0a2636d8
0023:Call advapi32.GetAce(003184b8,00000002,00318264) ret=0a263627
0023:Ret  advapi32.GetAce() retval=00000001 ret=0a263627
0023:Call
advapi32.LookupAccountSidA(00000000,00318500,003180c4,00318258,00318190,0031825c,0031818c)
ret=0a2636be
0023:Ret  advapi32.LookupAccountSidA() retval=00000001 ret=0a2636be
0023:Call KERNEL32.lstrcmpA(003180c4 "Everyone",00318cd4 "Everyone")
ret=0a2636d8
0023:Ret  KERNEL32.lstrcmpA() retval=00000000 ret=0a2636d8
0023:Call advapi32.AddAce(00319500,00000002,ffffffff,003184f8,00000014)
ret=0a263763
0023:Ret  advapi32.AddAce() retval=00000001 ret=0a263763
0023:Call KERNEL32.LoadLibraryA(0a2675fc "advapi32.dll") ret=0a263816
0023:Ret  KERNEL32.LoadLibraryA() retval=7e9b0000 ret=0a263816
0023:Call KERNEL32.GetProcAddress(7e9b0000,0a26760c "AddAccessAllowedAceEx")
ret=0a263828
0023:Ret  KERNEL32.GetProcAddress() retval=7e9b2ee8 ret=0a263828
0023:Call
advapi32.AddAccessAllowedAceEx(00319500,00000002,00000001,10000000,00318ac8)
ret=0a263846
0023:Ret  advapi32.AddAccessAllowedAceEx() retval=00000001 ret=0a263846
0023:Call KERNEL32.FreeLibrary(7e9b0000) ret=0a26388a
0023:Ret  KERNEL32.FreeLibrary() retval=00000001 ret=0a26388a
0023:Call advapi32.InitializeSecurityDescriptor(003190ec,00000001) ret=0a263513
0023:Ret  advapi32.InitializeSecurityDescriptor() retval=00000001 ret=0a263513
0023:Call
advapi32.SetSecurityDescriptorDacl(003190ec,00000001,00319500,00000000)
ret=0a263534
0023:Ret  advapi32.SetSecurityDescriptorDacl() retval=00000001 ret=0a263534
0023:Call KERNEL32.LoadLibraryA(0a2675cc "advapi32.dll") ret=0a2637a3
0023:Ret  KERNEL32.LoadLibraryA() retval=7e9b0000 ret=0a2637a3
0023:Call KERNEL32.GetProcAddress(7e9b0000,0a2675dc
"SetSecurityDescriptorControl") ret=0a2637b5
0023:Ret  KERNEL32.GetProcAddress() retval=7e9b5378 ret=0a2637b5
0023:Call advapi32.SetSecurityDescriptorControl(003190ec,00000400,00000400)
ret=0a2637d8
0023:Ret  advapi32.SetSecurityDescriptorControl() retval=00000001 ret=0a2637d8
0023:Call KERNEL32.FreeLibrary(7e9b0000) ret=0a2637f7
0023:Ret  KERNEL32.FreeLibrary() retval=00000001 ret=0a2637f7
0023:Call advapi32.SetFileSecurityA(00319734 "C:\\Program
Files\\RMAdmin",00000004,003190ec) ret=0a2634ac
0023:Ret  advapi32.SetFileSecurityA() retval=00000001 ret=0a2634ac
0023:Call advapi32.GetFileSecurityA(00319734 "C:\\Program
Files\\RMAdmin",00000004,003184a4,00000410,00318484) ret=0a263485
0023:Ret  advapi32.GetFileSecurityA() retval=00000001 ret=0a263485 
...
<endless loop>
--- snip ---

You need to apply Erich's patchset for bug 34406
(https://github.com/compholio/wine-compholio-daily/tree/master/patches/02-ACL_Extended_Attributes)
first to have the installer reach the point where the RegSetKeySecurity() stub
is endlessly called.

After applying Erich's patch http://bugs.winehq.org/attachment.cgi?id=48537
("advapi: Implement RegSetKeySecurity on top of NtSetSecurityObject."), the
installer indeed finishes. Good work!

--- snip ---
...
0035:Call advapi32.RegGetKeySecurity(00000130,00000004,003189d0,003189c4)
ret=0a2639da
0035:Ret  advapi32.RegGetKeySecurity() retval=00000000 ret=0a2639da
0035:Call
advapi32.GetSecurityDescriptorDacl(003189d0,003189b0,00319c44,003189ac)
ret=0a2634d8
0035:Ret  advapi32.GetSecurityDescriptorDacl() retval=00000001 ret=0a2634d8
0035:Call advapi32.GetAclInformation(003189e4,0031878c,0000000c,00000002)
ret=0a2635b0
0035:Ret  advapi32.GetAclInformation() retval=00000001 ret=0a2635b0
0035:Call advapi32.InitializeAcl(00319a2c,00000208,00000002) ret=0a2635db
0035:Ret  advapi32.InitializeAcl() retval=00000001 ret=0a2635db
0035:Call advapi32.GetAce(003189e4,00000000,00318788) ret=0a263627
0035:Ret  advapi32.GetAce() retval=00000001 ret=0a263627
0035:Call
advapi32.LookupAccountSidA(00000000,003189f4,003185e8,0031877c,003186b4,00318780,003186b0)
ret=0a2636be
0035:Ret  advapi32.LookupAccountSidA() retval=00000001 ret=0a2636be
0035:Call KERNEL32.lstrcmpA(003185e8 "Everyone",00319200 "Everyone")
ret=0a2636d8
0035:Ret  KERNEL32.lstrcmpA() retval=00000000 ret=0a2636d8
0035:Call advapi32.AddAce(00319a2c,00000002,ffffffff,003189ec,00000014)
ret=0a263763
0035:Ret  advapi32.AddAce() retval=00000001 ret=0a263763
0035:Call KERNEL32.LoadLibraryA(0a2675fc "advapi32.dll") ret=0a263816
0035:Ret  KERNEL32.LoadLibraryA() retval=7e9e0000 ret=0a263816
0035:Call KERNEL32.GetProcAddress(7e9e0000,0a26760c "AddAccessAllowedAceEx")
ret=0a263828
0035:Ret  KERNEL32.GetProcAddress() retval=7e9e7ee8 ret=0a263828
0035:Call
advapi32.AddAccessAllowedAceEx(00319a2c,00000002,00000001,10000000,00318ff4)
ret=0a263846
0035:Ret  advapi32.AddAccessAllowedAceEx() retval=00000001 ret=0a263846
0035:Call KERNEL32.FreeLibrary(7e9e0000) ret=0a26388a
0035:Ret  KERNEL32.FreeLibrary() retval=00000001 ret=0a26388a
0035:Call advapi32.InitializeSecurityDescriptor(00319618,00000001) ret=0a263513
0035:Ret  advapi32.InitializeSecurityDescriptor() retval=00000001 ret=0a263513
0035:Call
advapi32.SetSecurityDescriptorDacl(00319618,00000001,00319a2c,00000000)
ret=0a263534
0035:Ret  advapi32.SetSecurityDescriptorDacl() retval=00000001 ret=0a263534
0035:Call KERNEL32.LoadLibraryA(0a2675cc "advapi32.dll") ret=0a2637a3
0035:Ret  KERNEL32.LoadLibraryA() retval=7e9e0000 ret=0a2637a3
0035:Call KERNEL32.GetProcAddress(7e9e0000,0a2675dc
"SetSecurityDescriptorControl") ret=0a2637b5
0035:Ret  KERNEL32.GetProcAddress() retval=7e9ea378 ret=0a2637b5
0035:Call advapi32.SetSecurityDescriptorControl(00319618,00000400,00000400)
ret=0a2637d8
0035:Ret  advapi32.SetSecurityDescriptorControl() retval=00000001 ret=0a2637d8
0035:Call KERNEL32.FreeLibrary(7e9e0000) ret=0a2637f7
0035:Ret  KERNEL32.FreeLibrary() retval=00000001 ret=0a2637f7
0035:Call advapi32.RegSetKeySecurity(00000130,00000004,00319618) ret=0a263aa1
0035:Ret  advapi32.RegSetKeySecurity() retval=00000000 ret=0a263aa1
0035:Call advapi32.RegGetKeySecurity(00000130,00000004,003189d0,003189c4)
ret=0a2639da
0035:Ret  advapi32.RegGetKeySecurity() retval=00000000 ret=0a2639da
0035:Call
advapi32.GetSecurityDescriptorDacl(003189d0,003189b0,00319c44,003189ac)
ret=0a2634d8
0035:Ret  advapi32.GetSecurityDescriptorDacl() retval=00000001 ret=0a2634d8
0035:Call advapi32.GetAclInformation(003189e4,0031878c,0000000c,00000002)
ret=0a2635b0
0035:Ret  advapi32.GetAclInformation() retval=00000001 ret=0a2635b0
0035:Call advapi32.InitializeAcl(00319a2c,00000208,00000002) ret=0a2635db
0035:Ret  advapi32.InitializeAcl() retval=00000001 ret=0a2635db
0035:Call advapi32.GetAce(003189e4,00000000,00318788) ret=0a263627
0035:Ret  advapi32.GetAce() retval=00000001 ret=0a263627
0035:Call
advapi32.LookupAccountSidA(00000000,003189f4,003185e8,0031877c,003186b4,00318780,003186b0)
ret=0a2636be
0035:Ret  advapi32.LookupAccountSidA() retval=00000001 ret=0a2636be
0035:Call KERNEL32.lstrcmpA(003185e8 "Everyone",00319200 "Everyone")
ret=0a2636d8
0035:Ret  KERNEL32.lstrcmpA() retval=00000000 ret=0a2636d8
0035:Call advapi32.AddAce(00319a2c,00000002,ffffffff,003189ec,00000014)
ret=0a263763
0035:Ret  advapi32.AddAce() retval=00000001 ret=0a263763
0035:Call advapi32.GetAce(003189e4,00000001,00318788) ret=0a263627
0035:Ret  advapi32.GetAce() retval=00000001 ret=0a263627
0035:Call
advapi32.LookupAccountSidA(00000000,00318a08,003185e8,0031877c,003186b4,00318780,003186b0)
ret=0a2636be
0035:Ret  advapi32.LookupAccountSidA() retval=00000001 ret=0a2636be
0035:Call KERNEL32.lstrcmpA(003185e8 "Everyone",00319200 "Everyone")
ret=0a2636d8
0035:Ret  KERNEL32.lstrcmpA() retval=00000000 ret=0a2636d8
0035:Call advapi32.AddAce(00319a2c,00000002,ffffffff,00318a00,00000014)
ret=0a263763
0035:Ret  advapi32.AddAce() retval=00000001 ret=0a263763
0035:Call advapi32.InitializeSecurityDescriptor(00319618,00000001) ret=0a263513
0035:Ret  advapi32.InitializeSecurityDescriptor() retval=00000001 ret=0a263513
0035:Call
advapi32.SetSecurityDescriptorDacl(00319618,00000001,00319a2c,00000000)
ret=0a263534
0035:Ret  advapi32.SetSecurityDescriptorDacl() retval=00000001 ret=0a263534
0035:Call KERNEL32.LoadLibraryA(0a2675cc "advapi32.dll") ret=0a2637a3
0035:Ret  KERNEL32.LoadLibraryA() retval=7e9e0000 ret=0a2637a3
0035:Call KERNEL32.GetProcAddress(7e9e0000,0a2675dc
"SetSecurityDescriptorControl") ret=0a2637b5
0035:Ret  KERNEL32.GetProcAddress() retval=7e9ea378 ret=0a2637b5
0035:Call advapi32.SetSecurityDescriptorControl(00319618,00000400,00000400)
ret=0a2637d8
0035:Ret  advapi32.SetSecurityDescriptorControl() retval=00000001 ret=0a2637d8
0035:Call KERNEL32.FreeLibrary(7e9e0000) ret=0a2637f7
0035:Ret  KERNEL32.FreeLibrary() retval=00000001 ret=0a2637f7
0035:Call advapi32.RegSetKeySecurity(00000130,00000004,00319618) ret=0a263aa1
0035:Ret  advapi32.RegSetKeySecurity() retval=00000000 ret=0a263aa1
0035:Call advapi32.RegCloseKey(00000130) ret=0a263b30
0035:Ret  advapi32.RegCloseKey() retval=00000000 ret=0a263b30
0035:Call advapi32.RegOpenKeyExA(80000002,0a068b00
"Software\\RICOH\\PMG\\Admin",00000000,00000009,00319c64) ret=0a263c67
0035:Ret  advapi32.RegOpenKeyExA() retval=00000000 ret=0a263c67
0035:Call
advapi32.RegQueryInfoKeyA(00000130,00319b2c,00319c34,00000000,00319c38,00319c50,00319c68,00319c3c,00319b10,00319c54,00319b14,00319b20)
ret=0a263cbc
0035:Ret  advapi32.RegQueryInfoKeyA() retval=00000000 ret=0a263cbc 
...
--- snip ---

$ sha1sum z52276L10.exe 
0c6da8de36900de11811515fd2605b56b25e697d  z52276L10.exe

$ du -sh z52276L10.exe 
59M    z52276L10.exe

$ wine --version
wine-1.7.19-12-g9fdb74e

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