On Tue, Nov 05, 2019 at 07:58:37AM +0100, Patrick Steinhardt wrote:
> The upcoming support for LUKS2 disc encryption requires us to include a
> parser for base64-encoded data, as it is used to represent salts and
> digests. As gnulib already has code to decode such data, we can just
> add it to the boostrapping configuration in order to make it available
> in GRUB.
>
> The gnulib module makes use of booleans via the <stdbool.h> header. As
> GRUB does not provide any POSIX wrapper header for this, but instead
> implements support for `bool` in <sys/types.h>, we need to patch
> base64.h to not use <stdbool.h> anymore. We unfortunately cannot include
> <sys/types.h> instead, as it would then use gnulib's internal header
> while compiling the gnulib object but our own <sys/types.h> when
> including it in a GRUB module. Because of this, the patch replaces the
> include with a direct typedef.
>
> A second fix is required to make available `_GL_ATTRIBUTE_CONST`, which
> is provided by the configure script. As "base64.h" does not include
> <config.h>, it is thus not available and results in a compile error.
> This is fixed by adding an include of <config-util.h>.
>
> Signed-off-by: Patrick Steinhardt <p...@pks.im>

Reviewed-by: Daniel Kiper <daniel.ki...@oracle.com>

Daniel

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to