grub2/0266-blscfg-expand-grub_users-before-passing-to-grub_norm.patch
Javier Martinez Canillas 1f092caba7
Drop two efinet patches that were causing issues and a bunch of other fixes
Add comments and revert logic changes in 01_fallback_counting
Remove quotes when reading ID value from /etc/os-release
  Related: rhbz#1650706
blscfg: expand grub_users before passing to grub_normal_add_menu_entry()
  Resolves: rhbz#1650706
Drop buggy downstream patch "efinet: retransmit if our device is busy"
  Resolves: rhbz#1649048
Make the menu entry users option argument to be optional
  Related: rhbz#1652434
10_linux_bls: add missing menu entries options
  Resolves: rhbz#1652434
Drop "Be more aggro about actually using the *configured* network device."
  Resolves: rhbz#1654388
Fix menu entry selection based on title
  Resolves: rhbz#1654936

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
2018-12-01 03:28:36 +01:00

38 lines
1.6 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Javier Martinez Canillas <javierm@redhat.com>
Date: Wed, 21 Nov 2018 15:38:50 +0100
Subject: [PATCH] blscfg: expand grub_users before passing to
grub_normal_add_menu_entry()
The "grub_users" field from the BLS snippet file is used to specifcy the
users that are allowed to execute a given menu entry if the "superusers"
environment variable is set.
If the "grub_users" isn't set, the menu entry is unrestricted and it can
be executed without any authentication and if is set then only the users
defined in "grub_users" can execute the menu entry after authentication.
But this field can contain an environment variable so has to be expanded
or otherwise grub2 will wrongly assume that the user is "$var", and will
populate a menu entry that it's resctrited even when "$var" isn't set.
Resolves: rhbz#1650706
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
---
grub-core/commands/blscfg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/commands/blscfg.c b/grub-core/commands/blscfg.c
index 42892cbfd55..c432c6ba27a 100644
--- a/grub-core/commands/blscfg.c
+++ b/grub-core/commands/blscfg.c
@@ -704,7 +704,7 @@ static void create_entry (struct bls_entry *entry)
initrds = bls_make_list (entry, "initrd", NULL);
hotkey = bls_get_val (entry, "grub_hotkey", NULL);
- users = bls_get_val (entry, "grub_users", NULL);
+ users = expand_val (bls_get_val (entry, "grub_users", NULL));
classes = bls_make_list (entry, "grub_class", NULL);
args = bls_make_list (entry, "grub_arg", &argc);