URL:
  <http://savannah.gnu.org/bugs/?41524>

                 Summary: value of GRUB_ENABLE_CRYPTODISK: util/grub-install.c
instructs '1' but util/config.c expects 'y'
                 Project: GNU GRUB
            Submitted by: intuitivenipple
            Submitted on: Sun 09 Feb 2014 15:46:40 GMT
                Category: Security
                Severity: Major
                Priority: 5 - Normal
              Item Group: None
                  Status: None
                 Privacy: Public
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 
                 Release: 2.02~beta1
         Reproducibility: Every Time
         Planned Release: None

    _______________________________________________________

Details:

root@XPSm1530:/# grub-install /dev/sdc
Installing for i386-pc platform.
grub-install: error: attempt to install to encrypted disk without cryptodisk
enabled. Set `GRUB_ENABLE_CRYPTODISK=1' in file `/etc/default/grub'.

root@XPSm1530:/# grep GRUB_ENABLE_CRYPTODISK /etc/default/grub
GRUB_ENABLE_CRYPTODISK=1

root@XPSm1530:/# apt-cache policy grub-pc
grub-pc:
  Installed: 2.02~beta2-6
  Candidate: 2.02~beta2-6
  Version table:
 *** 2.02~beta2-6 0
        500 http://gb.archive.ubuntu.com/ubuntu/ trusty/main i386 Packages
        100 /var/lib/dpkg/status


The message give incorrect information about the value to be assigned.

# grep -A 4 '!config\.is_cryptodisk_enabled' util/grub-install.c
  if (!config.is_cryptodisk_enabled && have_cryptodisk)
    grub_util_error (_("attempt to install to encrypted disk without
cryptodisk enabled. "
                       "Set `%s' in file `%s'."), "GRUB_ENABLE_CRYPTODISK=1",
                     grub_util_get_config_filename ());

It appears to assume that any boolean-like value is acceptable, whereas the
configuration scanner only looks for 'y'.

# grep -A5 GRUB_ENABLE_CRYPTODISK util/config.c
      if (grub_strncmp (ptr, "GRUB_ENABLE_CRYPTODISK=",
                        sizeof ("GRUB_ENABLE_CRYPTODISK=") - 1) == 0)
        {
          ptr += sizeof ("GRUB_ENABLE_CRYPTODISK=") - 1;
          if (*ptr == '"' || *ptr == '\'')
            ptr++;
          if (*ptr == 'y')
            cfg->is_cryptodisk_enabled = 1;
          continue;





    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?41524>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/


_______________________________________________
Bug-grub mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-grub

Reply via email to