[PATCH v3 1/9] json: Remove invalid typedef redefinition

2020-09-07 Thread Patrick Steinhardt
The C standard does not allow for typedef redefinitions, even if they map to the same underlying type. In order to avoid including the "jsmn.h" in "json.h" and thus exposing jsmn's internals, we have exactly such a forward-declaring typedef in "json.h". If enforcing the GNU99 C standard, clang may

[PATCH v3 0/9] Cryptodisk fixes for v2.06

2020-09-07 Thread Patrick Steinhardt
Hi, this is the third version of this patchset, collecting various fixes for LUKS2/cryptodisk for the upcoming release of GRUB v2.06. Besides my Reviewed-by tag, the only thing that changed is the final patch by Glenn. Quoting him: > The main difference with this patch is that sector_size is

[PATCH v3 4/9] luks2: grub_cryptodisk_t->total_length is the max number of device native sectors

2020-09-07 Thread Patrick Steinhardt
From: Glenn Washburn The total_length field is named confusingly because length usually refers to bytes, whereas in this case its really the total number of sectors on the device. Also counter-intuitively, grub_disk_get_size returns the total number of device native sectors sectors. We need to co

[PATCH v3 7/9] cryptodisk: Fix incorrect calculation of start sector

2020-09-07 Thread Patrick Steinhardt
From: Glenn Washburn Here dev is a grub_cryptodisk_t and dev->offset is offset in sectors of size native to the cryptodisk device. The sector is correctly transformed into native grub sector size, but then added to dev->offset which is not transformed. It would be nice if the type system would he

[PATCH v3 6/9] cryptodisk: Unregister cryptomount command when removing module

2020-09-07 Thread Patrick Steinhardt
From: Glenn Washburn Signed-off-by: Glenn Washburn Reviewed-by: Patrick Steinhardt --- grub-core/disk/cryptodisk.c | 1 + 1 file changed, 1 insertion(+) diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c index 1897acc4b..b2c6e9a7d 100644 --- a/grub-core/disk/cryptodisk.c +

[PATCH v3 2/9] luks: Fix out-of-bounds copy of UUID

2020-09-07 Thread Patrick Steinhardt
When configuring a LUKS disk, we copy over the UUID from the LUKS header into the new `grub_cryptodisk_t` structure via `grub_memcpy ()`. As size we mistakenly use the size of the `grub_cryptodisk_t` UUID field, which is guaranteed to be strictly bigger than the LUKS UUID field we're copying. As a

[PATCH v3 8/9] cryptodisk: Fix cipher IV mode 'plain64' always being set as 'plain'

2020-09-07 Thread Patrick Steinhardt
From: Glenn Washburn Signed-off-by: Glenn Washburn Reviewed-by: Patrick Steinhardt --- grub-core/disk/cryptodisk.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c index 1eea4161f..0b63b7d96 100644 --- a/grub-core

[PATCH v3 5/9] luks2: Improve error reporting when decrypting/verifying key

2020-09-07 Thread Patrick Steinhardt
While we already set up error messages in both `luks2_verify_key()` and `luks2_decrypt_key()`, we do not ever print them. This makes it really hard to discover why a given key actually failed to decrypt a disk. Improve this by including the error message in the user-visible output. Signed-off-by:

[PATCH v3 3/9] luks2: Fix use of incorrect index and some error messages

2020-09-07 Thread Patrick Steinhardt
From: Glenn Washburn Signed-off-by: Glenn Washburn Reviewed-by: Patrick Steinhardt --- grub-core/disk/luks2.c | 35 ++- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c index e3ff7c83d..c4c6ac90c 100

[PATCH v3 9/9] cryptodisk: Properly handle non-512 byte sized sectors

2020-09-07 Thread Patrick Steinhardt
From: Glenn Washburn By default, dm-crypt internally uses an IV that corresponds to 512-byte sectors, even when a larger sector size is specified. What this means is that when using a larger sector size, the IV is incremented every sector. However, the amount the IV is incremented is the number o

Re: [PATCH] cryptodisk: Properly handle non-512 byte sized sectors.

2020-09-07 Thread Patrick Steinhardt
On Tue, Sep 01, 2020 at 07:01:24PM -0500, Glenn Washburn wrote: > The main difference with this patch is that sector_size is renamed to > log_sector_size, grub has enough inaccurate or misleading names. > Additionally, rename LOG_SECTOR_SIZE to LUKS_LOG_SECTOR_SIZE and > CRYPT_LOG_SECTOR_SIZE to GR

Re: [PATCH] tftp: roll-over block counter to prevent data packets timeouts

2020-09-07 Thread Daniel Kiper
On Tue, Sep 01, 2020 at 02:30:35PM +0200, Javier Martinez Canillas wrote: > Commit 781b3e5efc3 ("tftp: Do not use priority queue") caused a regression Please drop the quotes. > when fetching files over TFTP whose size is bigger than 65535 * block size. > > grub> linux /images/pxeboot/vmlinuz >