Fix missing Qt platform styles and CA bundles in Windows release deployment #1537
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Follow-up PR on #1534, which adds missing Windows platform style plugins and CA bundles.
Motivation and context
When no /mingw64 environment was available on the target system, KeePassXC started with Windows 95 classic look due to missing platform styles. I don't know why we didn't have this problem before, but maybe something changed with Qt 5.10.
With this patch I added the missing qwindowsvistastyle.dll and also the qdirect2d.dll platform plugin to the list of deployed plugins.
Another missing piece were CA bundles, without which cURL failed to verify TLS certificates. This was also added.
How has this been tested?
I renamed my /mingw64 root and started KeePassXC. Platform theme works ok and HTTPS downloads work as well. On the other hand, when run from within the build directory, where no ssl/certs/ca-bundles.crt deployment exists, cURL tries to load the CA bundle from /mingw64/ssl/certs/ca-bundles.crt as expected (paths verified with ProcMon).
I tested TLS verification against cacert.com, where I was able to download a favicon via HTTP, but not via HTTPS, while downloading a favicon from a "trusted" source (e.g., google.com) works. Perhaps we should add an automatic tests for this in the future.
Types of changes
Checklist:
-DWITH_ASAN=ON
. [REQUIRED]