* grub-core/normal/main.c: Don't drop to rescue console in

case of password-protected prompt and no menu entries.
This commit is contained in:
Vladimir Serbinenko 2014-09-21 18:51:09 +02:00
parent 7c378c3964
commit 41c6f91fce
6 changed files with 16 additions and 7 deletions

View file

@ -1,3 +1,8 @@
2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/normal/main.c: Don't drop to rescue console in
case of password-protected prompt and no menu entries.
2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/commands/keylayouts.c: Ignore unknown keys.

View file

@ -302,7 +302,7 @@ grub_enter_normal_mode (const char *config)
nested_level++;
grub_normal_execute (config, 0, 0);
grub_boot_time ("Entering shell");
grub_cmdline_run (0);
grub_cmdline_run (0, 1);
nested_level--;
if (grub_normal_exit_level)
grub_normal_exit_level--;
@ -424,11 +424,15 @@ grub_normal_read_line (char **line, int cont,
}
void
grub_cmdline_run (int nested)
grub_cmdline_run (int nested, int force_auth)
{
grub_err_t err = GRUB_ERR_NONE;
err = grub_auth_check_authentication (NULL);
do
{
err = grub_auth_check_authentication (NULL);
}
while (err && force_auth);
if (err)
{

View file

@ -773,7 +773,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
case 'c':
menu_fini ();
grub_cmdline_run (1);
grub_cmdline_run (1, 0);
goto refresh;
case 'e':

View file

@ -1396,7 +1396,7 @@ grub_menu_entry_run (grub_menu_entry_t entry)
case GRUB_TERM_CTRL | 'c':
case GRUB_TERM_KEY_F2:
grub_cmdline_run (1);
grub_cmdline_run (1, 0);
goto refresh;
case GRUB_TERM_CTRL | 'x':

View file

@ -109,7 +109,7 @@ cmdline_cat_test (void)
grub_video_checksum ("cmdline_cat");
if (!grub_test_use_gfxterm ())
grub_cmdline_run (1);
grub_cmdline_run (1, 0);
grub_test_use_gfxterm_end ();

View file

@ -66,7 +66,7 @@ void grub_menu_init_page (int nested, int edit,
struct grub_term_output *term);
void grub_normal_init_page (struct grub_term_output *term, int y);
char *grub_file_getline (grub_file_t file);
void grub_cmdline_run (int nested);
void grub_cmdline_run (int nested, int force_auth);
/* Defined in `cmdline.c'. */
char *grub_cmdline_get (const char *prompt);