Commit Graph

57 Commits

Author SHA1 Message Date
Floris Bos c8a05b995f Make code Qt 6 compatible / raises minimum Qt 5 version to 5.14
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...
2023-03-20 14:42:48 +01:00
Onuralp SEZER 569a70671b fix: header import cstdint
Signed-off-by: Onuralp SEZER <thunderbirdtr@fedoraproject.org>
2023-03-19 23:18:20 +03:00
Floris Bos 6dc2f3e58e Refactor WLAN PSK retrieval code
- 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.
2023-03-10 18:37:22 +01:00
Floris Bos ebaf2ef6a1 qml advanced options: do not render HTML when displaying username
QML text labels by default support a small subset of HTML
formatting (e.g. <b> and <a href>)
Disable this.

Closes #564
2023-03-10 15:50:27 +01:00
Floris Bos d972d5b87b Windows WLAN PSK retrieval: unescape XML
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
2023-01-25 14:37:24 +01:00
Nicolas Martignoni 7e3b689fa5 Update one more string 2022-12-29 17:00:56 +01:00
Nicolas Martignoni 05afedc1f6 Update a French string 2022-12-29 16:58:37 +01:00
Nicolas Martignoni d8731a9487 Update French localisation and fix some strings 2022-12-29 16:53:02 +01:00
Floris Bos a403df4385 Advanced settings FAT modification: fix expanding directory
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.
2022-11-20 18:44:22 +01:00
Floris Bos 2694f3976a Remove excess new line from "Header:" download debug output 2022-11-20 17:47:54 +01:00
Floris Bos d600f36bc4 Advanced settings FAT modification: add GPT partition support 2022-11-20 14:46:58 +01:00
Floris Bos 05f1c4dbb5 Add integration tests
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.
2022-11-19 23:49:43 +01:00
Floris Bos fce80b2a67 FAT code: also look at short file names and not just long names 2022-11-19 23:46:11 +01:00
maxnet cc88408dae Merge pull request #492 from rejas/de
Update de lang
2022-11-15 01:23:46 +01:00
Floris Bos 5fa3fbe8dc Switch to using FAT classes for advanced settings
- 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
2022-11-15 01:15:08 +01:00
Floris Bos ebc6edc0c3 Advanced settings: use current username instead of Pi as default
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
2022-11-15 01:10:46 +01:00
Floris Bos e74efdca04 French: change telecharge
Closes #449
2022-11-14 21:45:07 +01:00
Floris Bos c3237625bf Fix behavior on pressing "X" in advanced options dialog
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.
2022-11-14 21:41:51 +01:00
Floris Bos 142ddfc037 Add classes for mounting FAT16/32 without help from OS
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.
2022-11-14 21:41:20 +01:00
Floris Bos 30225187bd OSX: fix unmounting drives that have APFS volumes
- 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
2022-11-07 03:36:32 +01:00
Floris Bos 9d4665dbca Advanced settings: fix escaping single quotes
Ref #486
2022-10-15 15:21:39 +02:00
veeck 18addaccc2 Update de lang 2022-10-03 23:06:42 +02:00
Floris Bos ce0b02b823 Prevent user from entering invalid characters in hostname field
Implemented as "validator" which will cause that if an user
presses a key that is not allowed, it will not register.
Saves having to add an error message that would need to be
translated to different languages.

Closes #474
2022-08-18 20:07:26 +02:00
Floris Bos 9c95398210 Ensure buffering is used when writing uncompressed images
Just feed them through the libarchive workflow as well.
Prevents issues on Windows/osx when writing uncompressed images
that come from the Internet.

Ref #473
2022-08-18 15:37:37 +02:00
Floris Bos 2c00c64aba Revert "Add new regulatory-domain parameter to cloud-init files"
Existing Ubuntu version does not like new regulatory-domain
parameter being present.
This reverts commit 31252bf1c4.
2022-08-18 15:21:09 +02:00
Floris Bos 4961990ce0 Allow outsourcing custom settings to script 2022-07-31 16:02:10 +02:00
Floris Bos 31252bf1c4 Add new regulatory-domain parameter to cloud-init files
Seems to have been added to netplan: https://github.com/canonical/netplan/pull/281
2022-07-31 15:06:03 +02:00
Floris Bos ef4abc661f Linux distros that use NetworkManager: prefill WLAN PSK
Only supported when NetworkManager is used on the Linux distro
as wpa_supplicant itself does not support reading PSKs through
DBus, only setting them.

Closes #457
2022-07-31 13:24:52 +02:00
Floris Bos b1606dd1fb Linux: remove leftovers of OpenSSL dependency
OpenSSL was replaced by GnuTLS for SHA256 calculation in
cb415a6a02
Remove left-over header includes and adjust dependencies in README
2022-07-31 13:14:51 +02:00
Floris Bos 3b69d515d8 Add digital signage icon 2022-07-26 23:23:33 +02:00
Floris Bos a46fd2d1fa Fix persistent public key setting
Closes #464
2022-07-26 23:20:42 +02:00
Floris Bos 152831e72f Fix clazy-range-loop-detachs and other clazy complaints 2022-07-26 23:20:14 +02:00
Floris Bos 8837d7e897 Maintain per-thread QNetworkDiskCache
Ref #442
2022-07-26 22:45:06 +02:00
maxnet e0dc78d0a5 Merge pull request #436 from jose1711/sktran_update
Update Slovak translation
2022-07-26 22:27:18 +02:00
maxnet 280469c50f Merge pull request #450 from marcelpetrick/mpe/clazy
code-quality: fixed all range-loop warnings which were reported from clazy
2022-07-26 22:26:07 +02:00
maxnet ff9004ff0d Merge pull request #455 from shlyakpavel/patch-1
Allow selection of files without extension
2022-07-26 22:25:38 +02:00
RuffaloLavoisier 4826096860 Rpi-imager_ko : some copy-edit
-Fix sentence
-Translate remaining untranslated
-Update wireless LAN words
2022-07-08 03:38:52 +09:00
Pavel Shliak 4f8980d48e Allow selection of files without extension
I have automatically generated images that do not match *.* as filename contains no dots. I have to rename them every time :(
2022-07-02 16:48:30 +03:00
Floris Bos cb415a6a02 Linux: allow using GnuTLS instead of OpenSSL for computing SHA256 hashes
Prevents issues with often changing OpenSSL ABI.

Ref #429
2022-06-14 16:13:55 +02:00
Marcel Petrick 829c200fd1 code-quality: fixed all range-loop warnings which were reported from clazy.
See: `rpi-imager/src/downloadthread.cpp:1015:14: warning: Missing reference in range-for with non trivial type (QByteArray) [clazy-range-loop]`
2022-06-08 17:54:06 +02:00
Jose Riha 7b27e63dac Update Slovak translation 2022-05-09 22:07:43 +02:00
Floris Bos 8d943ce2bd Remove overscan/piwiz supression options
- Remove overscan and piwiz supression option
- Change wifi -> wireless LAN
- Bump version
2022-03-24 20:06:14 +01:00
Floris Bos 93811dfdbd Only bundle Droid fallback font on Embedded edition
Normal Linux/Windows/Mac should have support for Asian fonts
themselves.
2022-03-24 20:04:24 +01:00
maxnet 6861a2aa16 Merge pull request #379 from RuffaloLavoisier/rfl_ko_patch
Korean translation: update some copyedit
2022-03-24 17:49:41 +01:00
maxnet d2a92383b6 Merge pull request #362 from lnussel/qml
Add compile time options for telemetry and updates
2022-03-24 17:49:16 +01:00
RuffaloVM ea055ad1d3 Rpi-imager_ko.ts : add translation 2022-02-26 02:36:50 +09:00
RuffaloVM 29a1efb985 Rpi-imager_ko.ts : exact meaning
<Enable telemetry> is version 1.5 of the Raspberry Pi Imager introduced download telemetry to get a view of which operating systems are the most popular.

Raspberry Pi introduced download telemetry as part of a plan to ensure the most popular operating systems are easier to find in the Raspberry Pi Imager's menu system. It does not collect a device's IP address.
2022-02-26 02:09:18 +09:00
RuffaloVM a7cadbfaf7 Rpi-imager_ko.ts : some copyedit 2022-02-26 01:46:48 +09:00
Floris Bos 6edd14f044 Embedded: fix password mask character 2022-02-23 16:47:04 +01:00
okaits 7ff4532840 Add Japanese translation 2022-02-23 11:14:21 +09:00