If set(ZLIB_INCLUDE_PATH value) is called without setting cache,
and find_package(zlib) is called twice, the second call fails.
Behavior described here: https://gitlab.kitware.com/cmake/cmake/-/issues/21343
It seems that the new libcurl version also calls find_package(zlib)
so the second call by libarchive fails. And without zlib support
handling .zip files that use deflate compression does not work.
Only affected Windows, because we are only using a bundled zlib
there.
On Linux system libarchive and system zlib is used.
On Mac OS X bundled libarchive, but system zlib is used.
Ref #586
Appearently wlanapi.dll (which we use to borrow the wlan password
from the computer running Imager) is not always present on the
server editions of Windows, so only load it if it exists.
Ref #584
Otherwise it may still be doing it during ejection, resulting
in read IO errors in dmesg, which are harmless by themselves
but may confuse users.
Also tell udisks2 not to analyze disk by setting 'HintAuto'
property on BlockDevice object to 'false'
We are only cherry picking the C++ files from the drivelist and
mountutils dependencies and are not using the node.js stuff
that lives inside same directories.
package.json (that is not being used) mentions node dependencies
with version numbers that contain known vulnerabilties
and that seems to make some uncomfortable.
Delete files to avoid confusion.
Closes#556
In addition to replacing Qt5 with Qt6 in CMakeLists.txt
two small changes to the code are needed to make things build
on Qt 6 (which in turn is needed for Apple M1/M2 support).
The cost of this change is that when building on Qt 5, at least
version 5.14 is needed.
Certain older but still used Linux distributions such as
Ubuntu 10.04 LTS still use 5.12, so revert this commit if you
are building on those...
- Reduce platform specific code in ImageWriter class,
and move that to seperate classes.
- Use API calls to get current SSID on Windows and Linux instead
of launching command line utilities.
Assuming unescaping standard XML entities is sufficient.
(Skipping numerical unicode XML entities for now, as
there is not a proper standardized way to
represent non-ascii characters in a PSK anyway)
Ref #541
When no more directory entries are available in the existing
cluster(s) of a directory on FAT32, we allocate an
extra cluster.
Make sure to zero out that new cluster, as disk checking utilities
may not stop reading when reaching an end of directory marker but
read the rest of cluster as well.
So there must not be any garbage data from a previously deleted file
in the sector there.
Also add checks to prevent getting in an endless loop on
encoutering circular "next cluster" references.
Tests if repository json files conform to the json schema.
If all resources (images/icons/website URLs) they mention actually
exists.
And can also test writing images and the FAT modification code.
- No longer relies on operating system for mounting FAT partition
when applying 'advanced settings'
- change '__attribute__ ((packed))' to '#pragma pack()' as the
mingw version we are using for Windows has a bug with the former
Instead of using 'pi' as default, try to get the username of
the current user from the OS.
May not always work. (e.g. some Windows users may not have
setup a username themselves, but may be using a default user
created by the PC vendor).
Closes#497
In the "advanced settings" dialog, if "X" instead of
"apply settings" is clicked, it is seen as "cancel" and
no settings are applied.
If there do are saved settings, make sure to ask the
user on pressing "write" if they do want the saved settings
applied, instead of applying no settings.