From 4f731fbffca98770a59a2eedb486a620a2bf239c Mon Sep 17 00:00:00 2001 From: Javier Martinez Canillas <javierm@redhat.com> Date: Thu, 5 Mar 2020 16:21:47 +0100 Subject: [PATCH 241/272] efi/http: Export {fw,http}_path variables to make them global The fw_path environment variable is used by http_configure() function to determine the HTTP path that should be used as prefix when using relative HTTP paths. And this is stored in the http_path environment variable. Later, that variable is looked up by grub_efihttp_open() to generate the complete path to be used in the HTTP request. But these variables are not exported, which means that are not global and so are only found in the initial context. This can cause commands like configfile that create a new context to fail because the fw_path and http_path variables will not be found. Resolves: rhbz#1616395 Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> --- grub-core/kern/main.c | 1 + grub-core/net/efi/http.c | 1 + 2 files changed, 2 insertions(+) diff --git a/grub-core/kern/main.c b/grub-core/kern/main.c index 5f69ffd38..e396be9b2 100644 --- a/grub-core/kern/main.c +++ b/grub-core/kern/main.c @@ -143,6 +143,7 @@ grub_set_prefix_and_root (void) if (fw_path) { grub_env_set ("fw_path", fw_path); + grub_env_export ("fw_path"); grub_dprintf ("fw_path", "fw_path:\"%s\"\n", fw_path); grub_free (fw_path); } diff --git a/grub-core/net/efi/http.c b/grub-core/net/efi/http.c index ebbb3f0b4..b20e99100 100644 --- a/grub-core/net/efi/http.c +++ b/grub-core/net/efi/http.c @@ -40,6 +40,7 @@ http_configure (struct grub_efi_net_device *dev, int prefer_ip6) http_path++; grub_env_unset ("http_path"); grub_env_set ("http_path", http_path); + grub_env_export ("http_path"); } } -- 2.41.0