All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick Steinhardt <ps@pks.im>
To: Nikolaos Chatzikonstantinou <nchatz314@gmail.com>, grub-devel@gnu.org
Cc: Daniel Kiper <daniel.kiper@oracle.com>
Subject: Re: State of Argon2 support
Date: Mon, 1 Jan 2024 20:48:21 +0100	[thread overview]
Message-ID: <ZZMXBae7ZDiHwcN6@framework> (raw)
In-Reply-To: <ZYZXZ5QHcEoEGCKK@dj3ntoo>


[-- Attachment #1.1: Type: text/plain, Size: 2606 bytes --]

On Fri, Dec 22, 2023 at 09:43:35PM -0600, Oskari Pirhonen wrote:
> On Fri, Dec 22, 2023 at 12:29:22 -0500, Nikolaos Chatzikonstantinou wrote:
> > 2. libgcrypt does not have support for Argon2. Possible solution is to
> > use the reference implementation, licensed under CC0. This is bringing
> > up issues (that I don't fully understand), would be preferable if the
> > authors released under GPLv3. Has there been a follow-up on this?
> > <https://lists.gnu.org/archive/html/grub-devel/2020-03/msg00170.html>
> > 
> 
> Libgcrypt supports Argon2 as of 1.10 (March 2022). The version of
> libgcrypt that is bundled with GRUB is older than that.
> 
> - Oskari

Indeed. There are two different ways to implement Argon2 support in
GRUB:

  - Use the reference implementation of Argon2.

  - Update libgcrypt to a newer version.

I have sent patches that bundles the reference implementation in [1]
quite a while ago. Back then there was the problem that we couldn't
allocate required memory on UEFI-based systems, but we improved the
memory allocator with GRUB 2.12 to support this usecase now.

Still, I consider it to be the inferior option. Back when I posted the
patches (February 2020 originally) there was no Argon2 support in
libgcrypt yet, so it was the obvious choice. But now that libgcrypt does
have support it's a no-brainer to use its version of libgcrypt instead.

Problem is that upgrading the bundled libgcrypt library is not trivial
at all. I've tried multiple times, and every single time I quickly gave
up. There's simply too many things that have changed, and GRUB does have
quite a lot of patches on top of the current bundled version of the
library. Regardless of that it would be the right thing to do, because
in the long run we do want an up-to-date version of libgrcypt regardless
of Argon2 support anyway.

That being said, I do not see myself updating it given that it's such a
huge and frustrating endeavour to update it. If anybody else wants to
take up this task I'd be more than happy and would definitely want to
rebase my own patches on top of this work. But until somebody steps up
to handle this task it's not going to happen.

The alternative would be to just live with the current state of my patch
series, where we use the reference implementation until libgcrypt gets
updated. But I'm not sure whether Daniel would consider pulling this
version (Cc'd him so that he can post his opinion). If he would then I'd
be happy to re-send a rebased version of my patch series.

Patrick

[1]: <cover.1628430731.git.ps@pks.im>

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 141 bytes --]

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

  reply	other threads:[~2024-01-01 19:49 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-22 17:29 State of Argon2 support Nikolaos Chatzikonstantinou
2023-12-23  3:43 ` Oskari Pirhonen
2024-01-01 19:48   ` Patrick Steinhardt [this message]
2024-01-04 15:49     ` Nikolaos Chatzikonstantinou
2024-01-23 16:57       ` Daniel Kiper
2024-01-24  5:05         ` Nikolaos Chatzikonstantinou
2024-01-24  5:46           ` Nikolaos Chatzikonstantinou
2024-01-24  6:23             ` Nikolaos Chatzikonstantinou
2024-01-25 18:15               ` Daniel Kiper
2024-01-26  8:18                 ` Nikolaos Chatzikonstantinou
2024-01-26  9:55                   ` Patrick Steinhardt
2024-01-26 18:00                     ` Daniel Kiper
2024-01-26 17:50                   ` Daniel Kiper
2024-01-26 20:31                     ` Vladimir 'phcoder' Serbinenko
2024-01-30 15:18                       ` Nikolaos Chatzikonstantinou
2024-02-02 14:10                         ` Daniel Kiper
2024-02-11 21:01                           ` Nikolaos Chatzikonstantinou

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZZMXBae7ZDiHwcN6@framework \
    --to=ps@pks.im \
    --cc=daniel.kiper@oracle.com \
    --cc=grub-devel@gnu.org \
    --cc=nchatz314@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.