case of password-protected prompt and no menu entries.
+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.
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--;
}
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)
{
case 'c':
menu_fini ();
- grub_cmdline_run (1);
+ grub_cmdline_run (1, 0);
goto refresh;
case 'e':
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':
grub_video_checksum ("cmdline_cat");
if (!grub_test_use_gfxterm ())
- grub_cmdline_run (1);
+ grub_cmdline_run (1, 0);
grub_test_use_gfxterm_end ();
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);