Vladimir 'phcoder' Serbinenko
e8d0a8f85c
Merge mainline into bidi
2010-07-02 19:35:07 +02:00
Vladimir 'phcoder' Serbinenko
3a37e3226b
Use FOR_* macros instead of *_iterate whenever possible.
...
* commands/handler.c: Removed.
* commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
* commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
* conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
* conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
(grub_probe_SOURCES): Remove kern/parser.c.
(util/grub-script-check.c_DEPENDENCIES): Removed.
(grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
and grub_script_check_init.c.
(grub_script_check_init.lst): Removed.
(grub_script_check_init.h): Likewise.
(grub_script_check_init.c): Likewise.
(pkglib_MODULES): Remove handler.mod and sh.mod.
(handler_mod_SOURCES): Removed.
(handler_mod_CFLAGS): Likewise.
(handler_mod_LDFLAGS): Likewise.
(normal_mod_SOURCES): Remove normal/handler.c.
Add script/main.c, script/script.c, script/execute.c,
script/function.c, script/lexer.c, grub_script.tab.c
and grub_script.yy.c.
* conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
* conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
* conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
(grub_setup_SOURCES): Remove kern/parser.c.
* conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
* conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
* conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
* conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
* conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
(grub_setup_SOURCES): Remove kern/parser.c.
* conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
* gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
* include/grub/command.h (grub_command_iterate): Removed.
(FOR_COMMANDS): New macro.
* include/grub/dl.h (grub_dl): New member next.
(grub_dl_iterate): Removed.
(grub_dl_head): New variable declaration.
(FOR_DL_MODULES): New macro.
* include/grub/fs.h: Include list.h.
(grub_fs): Make next first element.
(grub_fs_list): New variable declaration.
(grub_fs_register): Make inline.
(grub_fs_unregister): Likewise.
(grub_fs_iterate): Removed.
(FOR_FILESYSTEMS): New macro.
* include/grub/handler.h: Removed.
* include/grub/list.h (grub_list_hook_t): Removed.
(grub_list_test_t): Likewise.
(grub_list_pop): Likewise.
(grub_list_iterate): Likewise.
(grub_list_insert): Likewise.
(FOR_LIST_ELEMENTS): New macro.
* include/grub/parser.h (grub_parser_class): Removed.
(grub_parser_register): Likewise.
(grub_parser_unregister): Likewise.
(grub_parser_get_current): Likewise.
(grub_parser_set_current): Likewise.
(grub_register_rescue_parser): Likewise.
(grub_rescue_parse_line): New function.
* include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
* include/grub/script_sh.h (grub_script_function_list): New variable
declaration.
(FOR_SCRIPT_FUNCTIONS): New macro.
(grub_script_function_iterate): Removed.
(grub_normal_parse_line): New prototype.
* include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
(FOR_DISABLED_TERM_INPUTS): Likewise.
(FOR_ACTIVE_TERM_OUTPUTS): Likewise.
(FOR_DISABLED_TERM_OUTPUTS): Likewise.
* include/grub/video.h (grub_video_adapter): Move 'next' to first
element.
(grub_video_register): Inline.
(grub_video_unregister): Likewise.
(grub_video_adapter_list): New variable declaration.
(grub_video_iterate): Removed.
(FOR_VIDEO_ADAPTERS): New macro.
* kern/dl.c (grub_dl_list): Removed. All users updated.
(grub_dl_iterate): Removed.
* kern/fs.c (grub_fs_list): Make global.
(grub_fs_register): Removed.
(grub_fs_unregister): Likewise.
(grub_fs_iterate): Likewise.
* kern/handler.c: Removed.
* kern/list.c (grub_list_pop): Removed.
(grub_list_iterate): Likewise.
(grub_list_insert): Likewise.
(grub_named_list_find): Use FOR_LIST_ELEMENTS.
(grub_prio_list_insert): Don't use grub_list_insert.
* kern/main.c (grub_register_rescue_parser): Don't call
grub_register_rescue_parser.
* kern/parser.c (grub_parser_class): Removed.
(grub_parser_execute): Use grub_rescue_parse_line.
* kern/rescue_parser.c (grub_rescue_parse_line): Make global.
(grub_rescue_parser): Removed.
(grub_register_rescue_parser): Likewise.
* kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
* normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
(grub_auth_check_authentication): Likewise.
* normal/completion.c (iterate_command): Removed.
(grub_normal_do_completion): Use FOR_COMMANDS.
* normal/handler.c: Removed.
* normal/main.c (read_config_file): Remove parser changing.
(grub_normal_execute): Don't call read_handler_list.
(grub_normal_read_line_real): Statically allocate prompt.
(grub_cmdline_run): Use grub_normal_parse_line.
(GRUB_MOD_FINI): Don't call free_handler_list.
* normal/menu_entry.c (run): Likewise.
* script/function.c (grub_script_function_list): Make global.
(grub_script_function_iterate): Removed.
* script/main.c (grub_normal_parse_line): Make global.
(grub_sh_parser): Removed.
(GRUB_MOD_INIT): Likewise.
(GRUB_MOD_FINI): Likewise.
* tests/lib/functional_test.c (grub_functional_test): Use
FOR_LIST_ELEMENTS.
* tests/lib/test.c (free_failures): Don't use grub_list_pop.
(grub_test_run): Use FOR_LIST_ELEMENTS.
* tests/lib/unit_test.c (main): Likewise.
* util/deviceiter.c (grub_util_iterate_devices): Don't use
grub_list_pop.
* util/grub-fstest.c (grub_term_input_class): Removed.
(grub_term_output_class): Likewise.
* util/grub-probe.c: Likewise.
* util/i386/pc/grub-setup.c: Likewise.
* util/sparc64/ieee1275/grub-setup.c: Likewise.
* util/grub-script-check.c (main): Don't call grub_init_all and
grub_fini_all.
* video/video.c (grub_video_adapter_list): Make global.
(grub_video_register): Removed.
(grub_video_unregister): Likewise.
(grub_video_iterate): Likewise.
2010-06-11 22:31:16 +02:00
Vladimir 'phcoder' Serbinenko
3f8ae91c09
Use FOR_LIST_ELEMENTS convenience macros
2010-03-26 19:32:21 +01:00
Vladimir 'phcoder' Serbinenko
2aa6398b64
Remove second part of list_iterate usage auth.c
2010-03-26 19:21:01 +01:00
Vladimir 'phcoder' Serbinenko
fbc5a383e2
Remove list_iterate usage auth.c
2010-03-26 19:18:19 +01:00
Vladimir 'phcoder' Serbinenko
dfed5c6bb4
Removed grub_putchar
2010-03-15 11:49:27 +01:00
Vladimir 'phcoder' Serbinenko
2e71383172
Core changes hopefully finished
2009-12-24 15:34:33 +01:00
Vladimir 'phcoder' Serbinenko
ba136b293a
merge mainline into crypto
2009-12-22 14:28:39 +01:00
carles
7f39d92f8d
2009-12-20 Carles Pina i Estany <carles@pina.cat>
...
* include/grub/auth.h: Include `<grub/i18n.h>'.
(GRUB_GET_PASSWORD): Gettextizze string.
* include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
menu_text.c.
(grub_utf8_to_ucs4_alloc): Fix indentation.
(grub_print_ucs4): Likewise.
(grub_getstringwidth): Likewise.
(print_message_indented): New declaration.
* normal/auth.c: Include `<grub/i18n.h>'.
(grub_auth_check_authentication): Gettexttize string.
* normal/cmdline.c: Include `<grub/i18n.h>'.
(grub_cmdline_get): Gettextizze.
* normal/color.c: Include `<grub/i18n.h>'.
(grub_parse_color_name_pair): Gettexttize strings.
* normal/main.c (grub_normal_reader_init): Cleanup gettexttized
string (use `print_message_indented').
* normal/menu_text.c (STANDARD_MARGIN): Moved from here to
`include/grub/normal.h'.
(print_message_indented): Renamed to ...
(grub_print_message_indented): ... this. Remove `static' qualifer (now
used in normal/main.c).
(print_message): Use `grub_print_message_indented' instead of
`print_message_indented'.
(print_timeout): Likewise.
* normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
(grub_normal_print_device_info): Gettexttize strings.
* po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
2009-12-20 23:32:15 +00:00
Vladimir 'phcoder' Serbinenko
b391bdb2f2
Use dedicated simple password retriever for size of future crypto disks modules and simplify entering passwords routines
2009-12-06 20:11:50 +01:00
Vladimir 'phcoder' Serbinenko
53eb42a6fa
Compilation error fixed
2009-11-15 23:42:11 +01:00
Vladimir 'phcoder' Serbinenko
228734ab02
MAX_PASSLEN based authentication
2009-11-15 23:36:42 +01:00
Robert Millan
4089b167cd
2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
...
* normal/auth.c (punishment_delay): Moved from here ...
(grub_auth_strcmp): ... to here (inside function).
2009-11-09 14:30:47 +00:00
Robert Millan
7aea29a388
2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
...
* normal/auth.c: Include `<grub/time.h>'.
(grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
2009-11-09 08:05:27 +00:00
Robert Millan
3fd6f044f1
2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
...
* normal/auth.c (punishment_delay): New variable.
(grub_auth_strcmp): Rewrite using grub_get_time_ms ().
(grub_auth_check_authentication): Punish failed login attempts with
an incremental (2^N) delay.
2009-11-09 00:37:56 +00:00
Vladimir 'phcoder' Serbinenko
7ad12f433d
2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
...
* normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
2009-11-09 00:28:10 +01:00
Vladimir 'phcoder' Serbinenko
ec8bb77de9
2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
...
* normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
being insecure.
2009-11-09 00:16:17 +01:00
phcoder
ff747d50c1
2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
...
Fix breakage in normal/auth.c.
* normal/auth.c (grub_iswordseparator): New function.
2009-08-25 08:11:50 +00:00
phcoder
e7e1f93ff6
2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
...
Authentication support.
* commands/password.c: New file.
* conf/common.rmk (pkglib_MODULES): Add password.mod.
(password_mod_SOURCES): New variable.
(password_mod_CFLAGS): Likewise.
(password_mod_LDFLAGS): Likewise.
(normal_mod_SOURCES): Add normal/auth.c.
* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
normal/auth.c.
* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
* include/grub/auth.h: New file.
* include/grub/err.h (grub_err_t): New enum value
GRUB_ERR_ACCESS_DENIED.
* include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
'users'.
* include/grub/normal.h (grub_cmdline_get): New argument 'history'.
* normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
users updated.
* normal/auth.c: New file.
* normal/main.c (grub_normal_add_menu_entry): Handle --users option.
(grub_cmdline_run): Don't allow to go to command line without
authentication.
* normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
* normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
menuentry without superuser rights.
* normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
user isn't a superuser.
2009-08-24 23:55:06 +00:00