https://bugs.winehq.org/show_bug.cgi?id=55137
Bug ID: 55137 Summary: MIssing support for SCARD_AUTOALLOCATE Product: Wine Version: 8.11 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winscard Assignee: wine-bugs@winehq.org Reporter: pq2sx44teeigl7za@chyen.cc Distribution: ---
Created attachment 74695 --> https://bugs.winehq.org/attachment.cgi?id=74695 A test program that uses SCARD_AUTOALLOCATE
Several applications call SCardListReaders with SCARD_AUTOALLOCATE. It will be great if that is supported.
Here are two examples:
* WebATM plugin for Chunghwa Post (中華郵政 WebATM 元件)
This can be installed from https://webatm.post.gov.tw/postatm/cab/ATMSetup.msi. With `wine ATMXHRService.exe` running, logging in from https://webatm.post.gov.tw/postatm/index.jsp?_portal=login results in
010c:fixme:winscard:SCardListReadersW SCARD_AUTOALLOCATE not supported
(you may need to accept the self-signed certificate at https://127.0.0.1:39021/ first)
* Taiwan Business Bank combo native agent (臺灣企銀二合一元件)
This can be installed from https://ebank.tbb.com.tw/nb3/COMPONENT/component_download?componentPath=win&.... With `wine TbbComboNativeAgentHost.exe` running, logging in from https://eatm.tbb.com.tw/eATM3/LOGIN/login results in
010c:fixme:winscard:SCardListReadersA SCARD_AUTOALLOCATE not supported
(you may need to accept the self-signed certificate at https://127.0.0.1:9203/ first)
Note that both are 32-bit applications, and I need to use experimental wow64 mode as normal 32-bit winscard.dll is broken (https://bugs.winehq.org/show_bug.cgi?id=54661)
A C++ file that mimics the behavior of aforementioned applications is attached.
Apparently, the current implementation is aware of missing support for SCARD_AUTOALLOCATE: https://gitlab.winehq.org/wine/wine/-/blob/wine-8.11/dlls/winscard/winscard..... On the other hand, an alternative implementaion appears to support it: https://gitlab.winehq.org/wine/wine/-/merge_requests/2249.
https://bugs.winehq.org/show_bug.cgi?id=55137
--- Comment #1 from Hans Leidekker hans@meelstraat.net --- Created attachment 74707 --> https://bugs.winehq.org/attachment.cgi?id=74707 patch
Thanks. Can you try this patch?
https://bugs.winehq.org/show_bug.cgi?id=55137
--- Comment #2 from yan12125 pq2sx44teeigl7za@chyen.cc --- Thank you very much for the patch. TbbComboNativeAgentHost.exe runs fine with it. ATMXHRService.exe can get available card readers but it crashes later:
010c:trace:winscard:SCardGetStatusChangeW af0848, 0, 010CD168, 1 wine: Unhandled page fault on write access to 00B06000 at address 6AB1C3BE (thread 010c), starting debugger...
Is it a related issue or a different one?
https://bugs.winehq.org/show_bug.cgi?id=55137
--- Comment #3 from yan12125 pq2sx44teeigl7za@chyen.cc --- Created attachment 74708 --> https://bugs.winehq.org/attachment.cgi?id=74708 winediag output for the crash in SCardGetStatusChangeW
https://bugs.winehq.org/show_bug.cgi?id=55137
--- Comment #4 from Hans Leidekker hans@meelstraat.net --- (In reply to yan12125 from comment #2)
Thank you very much for the patch. TbbComboNativeAgentHost.exe runs fine with it. ATMXHRService.exe can get available card readers but it crashes later:
010c:trace:winscard:SCardGetStatusChangeW af0848, 0, 010CD168, 1 wine: Unhandled page fault on write access to 00B06000 at address 6AB1C3BE (thread 010c), starting debugger...
Is it a related issue or a different one?
Hard to say. Your backtrace dump doesn't shown symbols, can you fix that? A WINEDEBUG=+winscard trace would be helpful too.
https://bugs.winehq.org/show_bug.cgi?id=55137
yan12125 pq2sx44teeigl7za@chyen.cc changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #74708|0 |1 is obsolete| |
--- Comment #5 from yan12125 pq2sx44teeigl7za@chyen.cc --- Created attachment 74709 --> https://bugs.winehq.org/attachment.cgi?id=74709 winediag output for the crash in SCardGetStatusChangeW
This seems the best dump I can get.
I also collect logs with WINEDEBUG=+relay. Looks like the crash happened in memcpy, which got an abnormal value for its last argument.
010c:Call ucrtbase.memcpy(003f4698,011cd144,011cd2b4) ret=6d703edc 010c:Call wow64.Wow64PrepareForException(7ffffe5fecc0,7ffffe5fed60) ret=170056940
https://bugs.winehq.org/show_bug.cgi?id=55137
--- Comment #6 from Hans Leidekker hans@meelstraat.net --- (In reply to yan12125 from comment #5)
Created attachment 74709 [details] winediag output for the crash in SCardGetStatusChangeW
This seems the best dump I can get.
Can you rebuild without optimizations and try again?
https://bugs.winehq.org/show_bug.cgi?id=55137
--- Comment #7 from Hans Leidekker hans@meelstraat.net --- Created attachment 74716 --> https://bugs.winehq.org/attachment.cgi?id=74716 patch
Does this patch on top of the previous one make a difference?
https://bugs.winehq.org/show_bug.cgi?id=55137
--- Comment #8 from yan12125 pq2sx44teeigl7za@chyen.cc --- Thank you very much! With those two patches, both ATMXHRService.exe and TbbComboNativeAgentHost.exe work fine!
https://bugs.winehq.org/show_bug.cgi?id=55137
--- Comment #9 from Hans Leidekker hans@meelstraat.net --- (In reply to yan12125 from comment #8)
Thank you very much! With those two patches, both ATMXHRService.exe and TbbComboNativeAgentHost.exe work fine!
Great! I have created a merge request: https://gitlab.winehq.org/wine/wine/-/merge_requests/3183
The second commit is different from the patch attached here but it should hopefully also fix ATMXHRService.exe. It would be nice if you could test again after the request is merged.
https://bugs.winehq.org/show_bug.cgi?id=55137
--- Comment #10 from yan12125 pq2sx44teeigl7za@chyen.cc --- Both applications still work fine, thanks!
https://bugs.winehq.org/show_bug.cgi?id=55137
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Fixed by SHA1| |08a4a9803d823b10b990b0dfd00 | |d88c27a73d1bd Resolution|--- |FIXED
--- Comment #11 from Hans Leidekker hans@meelstraat.net --- Fixed by 08a4a9803d823b10b990b0dfd00d88c27a73d1bd. Thanks for the report.
https://bugs.winehq.org/show_bug.cgi?id=55137
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|MIssing support for |Missing support for |SCARD_AUTOALLOCATE |SCARD_AUTOALLOCATE
https://bugs.winehq.org/show_bug.cgi?id=55137
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.12.