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.
Minimal implementation for reading/writing files in the root
directory of a FAT16/FAT32 file system.
Can read/write from raw disk devices, and no longer relies on
operating system support for mounting the file system.
Currently assumes Imager will always be run on 'little endian'
architectures such as Intel and ARM (at least under Linux).
If there is a use-case for big-endian (anybody still using Sparc?)
this may be revisited later.
- If a drive is formatted APFS it will have a seperate disk
devices for physical drive (e.g. /dev/disk2) and volumes
(e.g. /dev/disk3).
Need to unmount all, or opening the device for
writing will subsequently fail.
(User will see an "Error running authopen" error in Imager
in that case).
- Also do not show APFS volumes seperately in the disk
selection dialog. List mount points under physical drive
instead.
Closes#501