Commit graph

257 commits

Author SHA1 Message Date
Robert Millan
c1d2f1d81b Merge from trunk 2010-01-07 00:58:54 +00:00
Robert Millan
e2e936b2f2 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
Merge prefix-redefinition-fix branch.
	
	* normal/autofs.c (read_fs_list): Make function capable of being
	run multiple times, gracefuly replacing the previous data
	structures.
	* normal/dyncmd.c (read_command_list): Likewise.
	* normal/handler.c (read_handler_list): Likewise.
	* normal/main.c (read_lists): New function.  Calls all the
	list reading functions.
	(grub_normal_execute): Use read_lists() instead of calling all
	list reading functions explicitly.  Register read_lists() as a
	variable hook attached to ${prefix}.
2010-01-07 00:52:56 +00:00
Vladimir 'phcoder' Serbinenko
607a3701db 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
Merge crypto branch.

	* Makefile.in (pkglib_DATA):  Add crypto.lst.
	(crypto.lst): New target.
	* commands/hashsum.c: New file.
	* commands/password.c (check_password): Use grub_crypto_memcmp.
	* commands/password_pbkdf2.c: New file.
	* commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
	* conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
	normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
	(grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
	-I$(srcdir)/lib/libgcrypt_wrap.
	* conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
	(pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
	password_pbkdf2.mod.
	(crypto_mod_SOURCES): New variable.
	(crypto_mod_CFLAGS): Likewise.
	(crypto_mod_LDFLAGS): Likewise.
	(hashsum_mod_SOURCES): New variable.
	(hashsum_mod_CFLAGS): Likewise.
	(hashsum_mod_LDFLAGS): Likewise.
	(pbkdf2_mod_SOURCES): New variable.
	(pbkdf2_mod_CFLAGS): Likewise.
	(pbkdf2_mod_LDFLAGS): Likewise.
	(password_pbkdf2_mod_SOURCES): New variable.
	(password_pbkdf2_mod_CFLAGS): Likewise.
	(password_pbkdf2_mod_LDFLAGS): Likewise.
	(bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
	(grub_mkpasswd_pbkdf2_SOURCES): New variable.
	(grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
	Include conf/gcry.rmk.
	* include/grub/auth.h: Rewritten.
	* include/grub/crypto.h: New file.
	* include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
	* include/grub/normal.h (read_crypto_list): New prototype.
	* lib/crypto.c: New file.
	* lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
	* lib/pbkdf2.c: Likewise.
	* normal/auth.c (grub_auth_strcmp): Removed.
	(grub_iswordseparator): Likewise.
	(grub_auth_strword): Likewise.
	(is_authenticated): Use grub_strword.
	(grub_auth_check_authentication): Use grub_strcmp, grub_password_get
	and grub_strword. Pass entered password to authentication callback.
	* normal/crypto.c: New file.
	* normal/main.c: Call read_crypto_list.
	* util/grub-mkpasswd-pbkdf2.c: New file.
	* util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
2010-01-07 01:13:01 +01:00
Vladimir 'phcoder' Serbinenko
4d253049d5 Fix non-clearing of timeout. Template support for timeout text. 2010-01-06 01:42:21 +01:00
Vladimir 'phcoder' Serbinenko
e6e86df1de Merge multiterm into gfxmenu+multiterm 2010-01-05 16:34:10 +01:00
Vladimir 'phcoder' Serbinenko
519634516f Merge mainline into multiterm 2010-01-05 16:27:41 +01:00
Colin Watson
bc11fee9f5 merge from trunk 2010-01-05 10:53:03 +00:00
Robert Millan
58bc8bd5b1 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
* boot/i386/pc/boot.S: Update copyright year.
	* boot/i386/pc/cdboot.S: Likewise.
	* boot/i386/pc/diskboot.S: Likewise.
	* boot/i386/pc/lnxboot.S: Likewise.
	* boot/i386/pc/pxeboot.S: Likewise.
	* bus/pci.c: Likewise.
	* commands/cmp.c: Likewise.
	* commands/help.c: Likewise.
	* commands/hexdump.c: Likewise.
	* commands/i386/pc/halt.c: Likewise.
	* commands/i386/pc/play.c: Likewise.
	* commands/i386/pc/vbeinfo.c: Likewise.
	* commands/ls.c: Likewise.
	* commands/test.c: Likewise.
	* disk/dmraid_nvidia.c: Likewise.
	* disk/i386/pc/biosdisk.c: Likewise.
	* disk/ieee1275/nand.c: Likewise.
	* disk/ieee1275/ofdisk.c: Likewise.
	* disk/lvm.c: Likewise.
	* disk/raid.c: Likewise.
	* disk/raid6_recover.c: Likewise.
	* disk/scsi.c: Likewise.
	* fs/affs.c: Likewise.
	* fs/cpio.c: Likewise.
	* fs/ext2.c: Likewise.
	* fs/hfs.c: Likewise.
	* fs/iso9660.c: Likewise.
	* fs/ntfs.c: Likewise.
	* fs/sfs.c: Likewise.
	* fs/udf.c: Likewise.
	* fs/ufs.c: Likewise.
	* fs/xfs.c: Likewise.
	* gencmdlist.sh: Likewise.
	* genmk.rb: Likewise.
	* include/grub/disk.h: Likewise.
	* include/grub/efi/api.h: Likewise.
	* include/grub/efi/efi.h: Likewise.
	* include/grub/efi/pe32.h: Likewise.
	* include/grub/elf.h: Likewise.
	* include/grub/fs.h: Likewise.
	* include/grub/i386/at_keyboard.h: Likewise.
	* include/grub/i386/pc/memory.h: Likewise.
	* include/grub/i386/pc/vbe.h: Likewise.
	* include/grub/i386/pci.h: Likewise.
	* include/grub/i386/tsc.h: Likewise.
	* include/grub/ieee1275/ieee1275.h: Likewise.
	* include/grub/ntfs.h: Likewise.
	* include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
	* include/grub/sparc64/libgcc.h: Likewise.
	* include/grub/symbol.h: Likewise.
	* include/grub/types.h: Likewise.
	* include/multiboot2.h: Likewise.
	* io/gzio.c: Likewise.
	* kern/device.c: Likewise.
	* kern/disk.c: Likewise.
	* kern/efi/efi.c: Likewise.
	* kern/efi/mm.c: Likewise.
	* kern/elf.c: Likewise.
	* kern/file.c: Likewise.
	* kern/i386/dl.c: Likewise.
	* kern/i386/pc/init.c: Likewise.
	* kern/i386/pc/startup.S: Likewise.
	* kern/ieee1275/ieee1275.c: Likewise.
	* kern/ieee1275/init.c: Likewise.
	* kern/main.c: Likewise.
	* kern/mm.c: Likewise.
	* kern/powerpc/dl.c: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* kern/x86_64/dl.c: Likewise.
	* lib/hexdump.c: Likewise.
	* loader/efi/appleloader.c: Likewise.
	* loader/i386/ieee1275/linux.c: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* loader/i386/pc/linux.c: Likewise.
	* loader/i386/pc/multiboot2.c: Likewise.
	* loader/ieee1275/multiboot2.c: Likewise.
	* loader/multiboot2.c: Likewise.
	* loader/multiboot_loader.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Likewise.
	* normal/completion.c: Likewise.
	* normal/menu_entry.c: Likewise.
	* partmap/apple.c: Likewise.
	* util/grub.d/10_hurd.in: Likewise.
	* util/hostfs.c: Likewise.
	* video/readers/png.c: Likewise.
2010-01-03 22:05:07 +00:00
carles
a173283f78 2010-01-03 Carles Pina i Estany <carles@pina.cat>
* normal/menu_text.c (print_message): Change messages.
2010-01-03 21:48:09 +01:00
carles
7fa7ff7439 2010-01-03 Carles Pina i Estany <carles@pina.cat>
* normal/menu_entry.c (store_completion): Gettextizze.
2010-01-03 21:30:04 +01:00
carles
3393790450 2010-01-01 Carles Pina i Estany <carles@pina.cat>
* commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
	(grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
	string using string width.
	* normal/menu_text.c (grub_print_message_indented): Use
	grub_print_spaces and not print_spaces.
	(print_timeout): Likewise.
	(print_spaces): Move to...
	* include/grub/term.h: ... here. Change the name to grub_print_spaces.
2010-01-01 18:58:00 +01:00
Vladimir 'phcoder' Serbinenko
acea847040 Merge mainline into asprintf 2009-12-30 14:08:10 +01:00
Vladimir 'phcoder' Serbinenko
f8882fe8f9 Fix mismerge 2009-12-29 22:50:38 +01:00
Vladimir 'phcoder' Serbinenko
c99f206280 Merge multiterm into gfxmenu+multiterm 2009-12-29 17:56:46 +01:00
Vladimir 'phcoder' Serbinenko
d8a1cbbd0b Fix compilation warning 2009-12-29 17:54:27 +01:00
Vladimir 'phcoder' Serbinenko
07e727f751 Add missing include 2009-12-29 17:53:10 +01:00
Vladimir 'phcoder' Serbinenko
18bcc99806 merge multiterm into gfxmenu+multiterm 2009-12-29 13:04:44 +01:00
Vladimir 'phcoder' Serbinenko
37f7fb26a3 always_inline cl_print to avoid regparm=3 bug 2009-12-29 13:03:22 +01:00
Vladimir 'phcoder' Serbinenko
c0a426b887 merge multiterm into gfxmenu+multiterm 2009-12-29 10:25:15 +01:00
Vladimir 'phcoder' Serbinenko
bd2b242ea2 Fix space after completion 2009-12-29 10:24:10 +01:00
Vladimir 'phcoder' Serbinenko
8b442f3f4c asprintf and snprintf support 2009-12-29 10:04:06 +01:00
carles
465b5a8130 2009-12-28 Carles Pina i Estany <carles@pina.cat>
* normal/misc.c (grub_normal_print_device_info): Add spaces and double
	quotes.
2009-12-28 19:11:59 +01:00
Vladimir 'phcoder' Serbinenko
7f1f423cda merge multiterm gfxmenu+multiterm 2009-12-27 22:38:22 +01:00
Vladimir 'phcoder' Serbinenko
f45e1a9fb7 Allocate correct size 2009-12-27 22:34:49 +01:00
Vladimir 'phcoder' Serbinenko
9c8739a456 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
* normal/menu_text.c (grub_print_message_indented): Prevent
	past-the-end-of-array dereference.
2009-12-27 22:32:52 +01:00
carles
64fd18edbc 2009-12-27 Carles Pina i Estany <carles@pina.cat>
* normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
	* normal/main.c (grub_normal_read_line): Remove a space from the
	default prompt.
2009-12-27 00:43:21 +01:00
Vladimir 'phcoder' Serbinenko
e20d3e608c merge multiterm into gfxmenu+multiterm 2009-12-26 16:42:55 +01:00
Vladimir 'phcoder' Serbinenko
27a8ee52b4 Remove menu init hooks. They are useless 2009-12-26 16:39:16 +01:00
carles
864ba2bbca 2009-12-27 Carles Pina i Estany <carles@pina.cat>
* efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
	stops.
	* kern/corecmd.c (grub_register_core_commands): Likewise.
	* loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
	* loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/xnu.c (GRUB_MOD_INIT): Likewise.
	* mmap/mmap.c (GRUB_MOD_INIT): Likewise.
	* normal/handler.c (insert_handler): Likewise.
	* normal/main.c (GRUB_MOD_INIT): Likewise.
	* term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2009-12-26 11:01:33 +01:00
Vladimir 'phcoder' Serbinenko
bee140683a Initial effort for gfxmenu on multiterm branch 2009-12-26 01:49:57 +01:00
carles
ec5f98abda 2009-12-25 Carles Pina i Estany <carles@pina.cat>
* commands/help.c: Include `<grub/i18n.h>'.
	(grub_cmd_help): Gettextizze.
	(GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/play.c: Include `<grub/i18n.h>'.
	(GRUB_MOD_INIT): Gettextizze.
	* commands/search.c: Include `<grub/i18n.h>'.
	(options): Gettextizze.
	(GRUB_MOD_INIT): Gettextizze.
	* lib/arg.c: Include `<grub/i18n.h>'.
	(help_options): Gettextizze.
	(find_long): Likewise.
	(grub_arg_show_help): Likewise.
	* normal/dyncmd.c: Include `<grub/i18n.h>'.
	(read_command_list): Gettextizze.
	* po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
	`commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
2009-12-25 21:51:05 +01:00
Vladimir 'phcoder' Serbinenko
9f293ab0df merge mainline into gfxmenu 2009-12-25 21:32:46 +01:00
Vladimir 'phcoder' Serbinenko
d75d75d93b Fix glitch with escape message 2009-12-25 16:53:54 +01:00
Vladimir 'phcoder' Serbinenko
6066889c88 normal_exit command 2009-12-25 16:28:31 +01:00
Vladimir 'phcoder' Serbinenko
0e76d18c5b Fix various issues in menu editor 2009-12-25 13:18:08 +01:00
Vladimir 'phcoder' Serbinenko
a999b9d965 Fix refresh in cmdline 2009-12-25 13:17:27 +01:00
Vladimir 'phcoder' Serbinenko
2e5b307c47 Make menu editor work 2009-12-25 04:12:29 +01:00
Vladimir 'phcoder' Serbinenko
33c1ed4c8d terminal modules autoloading 2009-12-25 03:37:20 +01:00
Vladimir 'phcoder' Serbinenko
fa533ebb5c Various fixes to make multiterm work 2009-12-25 01:13:21 +01:00
carles
7fd0baee0f 2009-12-24 Carles Pina i Estany <carles@pina.cat>
* bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
	grub_errno calls.
	* commands/acpi.c: Likewise.
	* commands/blocklist.c: Likewise.
	* commands/efi/loadbios.c: Likewise.
	* commands/i386/pc/drivemap.c: Likewise.
	* commands/loadenv.c: Likewise.
	* commands/memrw.c: Likewise.
	* commands/password.c: Likewise.
	* commands/videotest.c: Likewise.
	* disk/ata.c: Likewise.
	* disk/ata_pthru.c: Likewise.
	* disk/dmraid_nvidia.c: Likewise.
	* disk/ieee1275/nand.c: Likewise.
	* disk/ieee1275/ofdisk.c: Likewise.
	* disk/loopback.c: Likewise.
	* disk/lvm.c: Likewise.
	* disk/mdraid_linux.c: Likewise.
	* disk/raid.c: Likewise.
	* disk/raid6_recover.c: Likewise.
	* disk/scsi.c: Likewise.
	* efiemu/main.c: Likewise.
	* efiemu/mm.c: Likewise.
	* efiemu/pnvram.c: Likewise.
	* efiemu/symbols.c: Likewise.
	* font/font.c: Likewise.
	* fs/cpio.c: Likewise.
	* fs/hfsplus.c: Likewise.
	* fs/iso9660.c: Likewise.
	* fs/jfs.c: Likewise.
	* fs/minix.c: Likewise.
	* fs/ntfs.c: Likewise.
	* fs/ntfscomp.c: Likewise.
	* fs/reiserfs.c: Likewise.
	* fs/ufs.c: Likewise.
	* fs/xfs.c: Likewise.
	* gettext/gettext.c: Likewise.
	* include/grub/auth.h: Likewise.
	* kern/elf.c: Likewise.
	* kern/file.c: Likewise.
	* kern/ieee1275/init.c: Likewise.
	* kern/ieee1275/mmap.c: Likewise.
	* kern/ieee1275/openfw.c: Likewise.
	* kern/powerpc/dl.c: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* lib/arg.c: Likewise.
	* loader/i386/bsd.c: Likewise.
	* loader/i386/bsdXX.c: Likewise.
	* loader/i386/efi/linux.c: Likewise.
	* loader/i386/efi/xnu.c: Likewise.
	* loader/i386/ieee1275/linux.c: Likewise.
	* loader/i386/linux.c: Likewise.
	* loader/i386/multiboot.c: Likewise.
	* loader/i386/pc/linux.c: Likewise.
	* loader/i386/pc/multiboot2.c: Likewise.
	* loader/i386/xnu.c: Likewise.
	* loader/ieee1275/multiboot2.c: Likewise.
	* loader/macho.c: Likewise.
	* loader/machoXX.c: Likewise.
	* loader/multiboot2.c: Likewise.
	* loader/multiboot_loader.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Likewise.
	* loader/sparc64/ieee1275/linux.c: Likewise.
	* loader/xnu.c: Likewise.
	* loader/xnu_resume.c: Likewise.
	* mmap/i386/pc/mmap.c: Likewise.
	* normal/menu_viewer.c: Likewise.
	* partmap/acorn.c: Likewise.
	* partmap/amiga.c: Likewise.
	* partmap/apple.c: Likewise.
	* script/lexer.c: Likewise.
	* term/gfxterm.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* term/i386/pc/vga.c: Likewise.
	* term/ieee1275/ofconsole.c: Likewise.
	* term/terminfo.c: Likewise.
	* video/bitmap.c: Likewise.
	* video/efi_gop.c: Likewise.
	* video/efi_uga.c: Likewise.
	* video/fb/video_fb.c: Likewise.
	* video/i386/pc/vbe.c: Likewise.
	* video/readers/tga.c: Likewise.
	* video/video.c: Likewise.
2009-12-24 23:53:05 +01:00
Vladimir 'phcoder' Serbinenko
6d305d4f7d Fix paging. 2009-12-24 23:37:38 +01:00
Vladimir 'phcoder' Serbinenko
686ff5b4d1 Don't output unnecessary newline in command line prompt 2009-12-24 23:19:54 +01:00
Vladimir 'phcoder' Serbinenko
4b4513adb3 bugfix in cmdline handling 2009-12-24 22:55:06 +01:00
Vladimir 'phcoder' Serbinenko
3be7f8de12 FORALL_ACTIVE_TERM_OUTPUTS macro 2009-12-24 17:51:43 +01:00
Vladimir 'phcoder' Serbinenko
2e71383172 Core changes hopefully finished 2009-12-24 15:34:33 +01:00
Vladimir 'phcoder' Serbinenko
e48625a306 merge crypto into multiout 2009-12-24 00:38:41 +01:00
Vladimir 'phcoder' Serbinenko
f4c623e170 Work on multi-out terminal 2009-12-24 00:37:11 +01:00
Vladimir 'phcoder' Serbinenko
a2e77ce455 merge mainline into crypto 2009-12-23 20:34:26 +01:00
Felix Zielcke
a2c1332b70 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
* commands/i386/pc/drivemap.c: Remove all trailing whitespace.
	* commands/lspci.c: Likewise.
	* commands/probe.c: Likewise.
	* commands/xnu_uuid.c: Likewise.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* fs/i386/pc/pxe.c: Likewise.
	* gettext/gettext.c: Likewise.
	* include/grub/efi/graphics_output.h: Likewise.
	* include/grub/i386/pc/memory.h: Likewise.
	* kern/env.c: Likewise.
	* kern/i386/qemu/startup.S: Likewise.
	* lib/i386/pc/biosnum.c: Likewise.
	* lib/i386/relocator.c: Likewise.
	* lib/i386/relocator_asm.S: Likewise.
	* lib/relocator.c: Likewise.
	* loader/i386/bsd.c: Likewise.
	* loader/i386/multiboot.c: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* loader/i386/xnu.c: Likewise.
	* loader/xnu.c: Likewise.
	* normal/main.c: Likewise.
	* normal/menu_text.c: Likewise.
	* util/getroot.c: Likewise.
	* util/grub-mkconfig_lib.in: Likewise.
	* util/grub.d/00_header.in: Likewise.
	* util/i386/pc/grub-mkimage.c: Likewise.
	* util/mkisofs/eltorito.c: Likewise.
	* util/mkisofs/exclude.h: Likewise.
	* util/mkisofs/hash.c: Likewise.
	* util/mkisofs/iso9660.h: Likewise.
	* util/mkisofs/joliet.c: Likewise.
	* util/mkisofs/mkisofs.c: Likewise.
	* util/mkisofs/mkisofs.h: Likewise.
	* util/mkisofs/multi.c: Likewise.
	* util/mkisofs/name.c: Likewise.
	* util/mkisofs/rock.c: Likewise.
	* util/mkisofs/tree.c: Likewise.
	* util/mkisofs/write.c: Likewise.
	* video/efi_gop.c: Likewise.
2009-12-23 17:41:32 +01:00
Vladimir 'phcoder' Serbinenko
7316783f35 Crypto module autoloading 2009-12-23 17:33:35 +01:00
Vladimir 'phcoder' Serbinenko
ba136b293a merge mainline into crypto 2009-12-22 14:28:39 +01:00
Vladimir 'phcoder' Serbinenko
0866ec655e merge mainline to newenv 2009-12-22 14:14:28 +01:00
Robert Millan
36f5ff04dc 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
* normal/main.c (grub_normal_reader_init): Set left margin back to 3.
2009-12-21 15:54:56 +00: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
3041d8989c 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
* kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
	of arguments. Return number of tokens and not arguments. All users
	updated.
2009-12-20 22:54:12 +01:00
Vladimir 'phcoder' Serbinenko
902a478aab merge trunk into newenv 2009-12-20 14:20:37 +01:00
Vladimir 'phcoder' Serbinenko
2fbcbbc389 Save 314 bytes on not handling contexts in core 2009-12-20 02:52:39 +01:00
carles
b99518d1ce 2009-12-19 Carles Pina i Estany <carles@pina.cat>
* include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
	(grub_print_ucs4_alloc): Likewise.
	(grub_getstringwidth): Likewise.
	* normal/main.c (grub_normal_init_page): Gettextize version string.
	* normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
	(getstringwidth): Renamed to ...
	(grub_getstringwidth): ... this. Remove `static' qualifier (now used
	in normal/main.c).  Use `grub_utf8_to_ucs4_alloc'.
	(grub_print_ucs4): Remove `static' qualifer (now used in
	normal/main.c).
	* po/POTFILES: Add normal/main.c.
2009-12-19 23:00:30 +00:00
carles
bfd5e52b1d 2009-12-19 Carles Pina i Estany <carles@pina.cat>
* normal/menu_text.c (STANDARD_MARGIN): New macro.
	(print_message_indented): Add `margin_left' and `margin_right'
	parameters.
	(print_message): Update `print_message_indented' calls. Adds '\n' to the
	strings.
	(print_timeout): Use `print_message_indented' to print the message.
	Deletes `second_stage' parameter.
	(run_menu): Update `print_timeout' calls.
2009-12-19 00:05:41 +00:00
Colin Watson
e8b2988803 merge from trunk 2009-12-08 00:55:17 +00:00
Carles Pina i Estany
e3069ec1a5 2009-12-08 Carles Pina i Estany <carles@pina.cat>
* include/grub/misc.h (grub_printf_): New declaration.
	* kern/misc.c (grub_printf_): New definition.
	* normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
	instead of `grub_printf' and `_'.
	* normal/menu_entry.c (store_completion): Likewise.
	(run): Likewise.
	(grub_menu_entry_run): Likewise.
	* normal/menu_text.c (grub_wait_after_message): Likewise.
	(notify_booting): Likewise.
	(notify_fallback): Likewise.
	(notify_execution_failure): Likewise.
2009-12-08 00:08:52 +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
7d624c2949 merge mainline into crypto 2009-12-05 16:34:27 +01:00
Carles Pina i Estany
69055f8a2f 2009-12-05 Carles Pina i Estany <carles@pina.cat>
* normal/menu_text.c (grub_color_menu_high): Gettexttize string.
	(print_spaces): New function.
	(grub_print_ucs4): New function.
	(getstringwidth): New function.
	(print_message_indented): New function.
	(print_message): Gettexttize strings using print_message_indented.
	(run_menu): Replaces grub_printf by print_spaces and dynamic terminal
	width.
	(get_entry_number): Gettextize and uses dynamic terminal width.
	(notify_booting, notify_fallback, notify_execution_failure): 
	Gettextize.
	* normal/menu_entry.c (store_completion): Cleanup the gettextized
	string.
	(run): Likewise.
	(grub_menu_entry_run): Likewise.
	* PO/POTFILES: Add normal/menu_entry.c.
2009-12-05 11:25:07 +00:00
Robert Millan
e4612999e6 Merge from trunk. 2009-11-25 21:34:53 +00:00
Robert Millan
08806a54c5 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
* normal/main.c (grub_normal_read_line): Fix off-by-one
        buffer overflow..
2009-11-25 03:48:33 +00:00
Robert Millan
13b33fba6f 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
* normal/main.c (grub_normal_execute): Replace "parser.sh" with
        "parser.grub" in grub_command_execute() call.
2009-11-25 01:50:33 +00:00
Vladimir 'phcoder' Serbinenko
59f746dc5f merged mainstream into crypto 2009-11-24 02:54:35 +01:00
Vladimir 'phcoder' Serbinenko
3dcf83ba7d merged mainstream into gfxmenu 2009-11-24 01:22:41 +01:00
Carles Pina i Estany
c3ea6bd466 Final touches before merging 2009-11-23 20:59:24 +00:00
Carles Pina i Estany
b58fc33c4f Merging with trunk 2009-11-23 20:34:42 +00:00
Carles Pina i Estany
e2c37719a6 Uncommits the last commits (to make the new merge with trunk easier) 2009-11-23 20:22:36 +00:00
Robert Millan
4efeab03dc 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/parser.h (grub_parser_register): Document need
        of `name' parameter.
        * normal/main.c (grub_normal_read_line): Simplify prompt string.
        * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
        "sh" to "grub".
2009-11-23 15:23:55 +00:00
Carles Pina i Estany
6e2621b9ff Final touches (don't gettextize a string, chang setted by set) 2009-11-22 21:41:33 +00:00
Carles Pina i Estany
0648f857ea Different changes following Robert's email 20091121230904.GA29740@thorin 2009-11-22 11:49:54 +00:00
Colin D Bennett
cbf97a87d9 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
(grub_menu_viewer_should_return): Likewise.
	* normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
	* normal/menu_text.c (run_menu): Enable menu switching.
	* normal/menu_viewer.c (should_return): New variable.
	(menu_viewer_changed): Likewise.
	(grub_menu_viewer_show_menu): Handle menu viewer changes.
	(grub_menu_viewer_should_return): New function.
	(menuviewer_write_hook): Likewise.
	(grub_menu_viewer_init): Likewise.
2009-11-20 14:51:01 +01:00
Vladimir 'phcoder' Serbinenko
ac3b7128d6 2009-11-20 Colin D Bennett <colin@gibibit.com>
* normal/menu_text.c (get_entry_number): Move from here ...
	* normal/menu.c (get_entry_number): ... moved here.
	* include/grub/menu.h (grub_menu_get_default_entry_index):
	New prototype.
	* normal/menu.c (grub_menu_get_default_entry_index): New function.
	* normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
2009-11-20 14:45:33 +01:00
Vladimir 'phcoder' Serbinenko
e242e685f5 merged savedefault in 2009-11-20 10:55:57 +01:00
Colin Watson
242f0731c7 reimported savedefault by cjwatson and myself
Also-By: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
2009-11-20 09:41:20 +01:00
Carles Pina i Estany
44883dfbd5 2009-11-19 Carles Pina i Estany <carles@pina.cat>
* include/grb/i18n_grub.h: same than i18n.h but for Grub Kernel.
	* include/grub/misc.h: includes i18n_grub.h.
	* normal/menu_text.c: gettize more strings.
	* po/POTFILES: Update with new file.
	* po/ca.po: New strings.
2009-11-19 21:43:09 +00:00
Vladimir 'phcoder' Serbinenko
024478a2d8 Fixed bug which causes some commands to be masked 2009-11-18 18:54:23 +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
Vladimir 'phcoder' Serbinenko
1f56d83788 Initial reimport of double buffering 2009-11-14 17:00:39 +01:00
Carles Pina i Estany
203ffbfa31 Adds gettext support in Grub. Building system needs to be improved and maybe userland utilites improved.
YYYY-MM-DD  Carles Pina i Estany <carles@pina.cat>

	* Makefile.in: Add uptrans target to help to update .pot file
	* conf/common.rmk: Add grub-gettext_lib target, dependency and SOURCES, CFLAGS, LDFLAGS
	* kern/misc.c: Define grub_gettext symbol and add implement grub_gettext_dummy function
	* po/TODO: Temporary file with instructions of what Makefile.in will do
	* po/ca.po: Catalan translation stub
	* include/grub/misc.h: Define macro _(char *s). Declare grub_gettext_dummy and grub_gettext
	* gettext/gettext.c: New file with gettext implementation
	* normal/menu.c (print_message): add _( ) to some strings
	* util/grub.d/10_linux.in: include grub-gettext_lib file. For the Linux menuentry, call eval_gettext
	* util/grub.d/00_header.in: add locale_prefix and gettext locale detection and setting up the access to the mo directory
	* util/grub-mkconfig_lib.in: add get_locale_lang
	* util/grub-gettext_lib.in: new file
2009-11-13 20:39:33 +00:00
Robert Millan
47972a2420 Save & restore grub_fs_autoload_hook while we're in read_fs_list() 2009-11-09 21:33:15 +00:00
Robert Millan
e880248e79 Fix *.lst handling after ${prefix} redefinition. 2009-11-09 14:55:27 +00:00
Robert Millan
34f4a5b005 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
* normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
        * normal/handler.c (read_handler_list): Likewise.
2009-11-09 14:50:20 +00:00
Robert Millan
ac451143b2 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
Misc cleanup.

        * kern/command.c (grub_register_command_prio): Use
        grub_zalloc() instead of explicitly zeroing data.
        * kern/list.c: Include `<grub/mm.h>'.
        (grub_named_list_find): Replace `0' with `NULL'.
        * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
        (fs_module_list): Change type to `grub_named_list_t'.  Update all
        users.
        * normal/dyncmd.c (read_command_list): Add space between function
        call and parenthesis.
        * normal/handler.c (read_handler_list): Likewise.
2009-11-09 14:45:28 +00: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
cjwatson
a57da43f0d 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
* normal/cmdline.c (grub_cmdline_get): Supply a format string as
	the first argument to grub_printf.
2009-08-28 13:25:10 +00: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
proski
eab58da22c 2009-07-16 Pavel Roskin <proski@gnu.org>
* kern/mm.c (grub_zalloc): New function.
	(grub_debug_zalloc): Likewise.
	* include/grub/mm.h: Declare grub_zalloc() and
	grub_debug_zalloc().
	* util/misc.c (grub_zalloc): New function.
	* bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
	instead of grub_malloc(), remove unneeded initializations.
	* bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
	* commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
	* commands/parttool.c (grub_cmd_parttool): Likewise.
	* disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
	* disk/raid5_recover.c (grub_raid5_recover): Likewise.
	* disk/raid6_recover.c (grub_raid6_recover): Likewise.
	* disk/usbms.c (grub_usbms_finddevs): Likewise.
	* efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
	* efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
	(grub_cmd_efiemu_pnvram): Likewise.
	* fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
	* fs/iso9660.c (grub_iso9660_mount): Likewise.
	(grub_iso9660_iterate_dir): Likewise.
	* fs/jfs.c (grub_jfs_opendir): Likewise.
	* fs/ntfs.c (list_file): Likewise.
	(grub_ntfs_mount): Likewise.
	* kern/disk.c (grub_disk_open): Likewise.
	* kern/dl.c (grub_dl_load_core): Likewise.
	* kern/elf.c (grub_elf_file): Likewise.
	* kern/env.c (grub_env_context_open): Likewise.
	(grub_env_set): Likewise.
	(grub_env_set_data_slot): Likewise.
	* kern/file.c (grub_file_open): Likewise.
	* kern/fs.c (grub_fs_blocklist_open): Likewise.
	* loader/i386/multiboot.c (grub_module): Likewise.
	* loader/xnu.c (grub_xnu_create_key): Likewise.
	(grub_xnu_create_value): Likewise.
	* normal/main.c (grub_normal_add_menu_entry): Likewise.
	(read_config_file): Likewise.
	* normal/menu_entry.c (make_screen): Likewise.
	* partmap/sun.c (sun_partition_map_iterate): Likewise.
	* script/sh/lexer.c (grub_script_lexer_init): Likewise.
	* script/sh/script.c (grub_script_parse): Likewise.
	* video/bitmap.c (grub_video_bitmap_create): Likewise.
	* video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
	* video/readers/png.c (grub_png_output_byte): Likewise.
	(grub_video_reader_png): Likewise.
2009-07-16 22:14:09 +00:00
fzielcke
b39f9d20a9 remove all trailing whitespace 2009-06-10 21:04:23 +00:00
cbennett
230c0ad633 2009-05-23 Colin D Bennett <colin@gibibit.com>
Cleaned up `include/grub/normal.h'.  Grouped prototypes by
	definition file, and functions defined in `normal/menu.c' have had
	their prototypes moved to `include/grub/menu.h' for consistency.

	* include/grub/menu.h (grub_menu_execute_callback): Added; moved
	from normal.h.
	(grub_menu_get_entry): Likewise.
	(grub_menu_get_timeout): Likewise.
	(grub_menu_set_timeout): Likewise.
	(grub_menu_execute_entry): Likewise.
	(grub_menu_execute_with_fallback): Likewise.
	(grub_menu_entry_run): Likewise.

	* include/grub/normal.h: Re-ordered and grouped function
	prototypes by file that the function is defined in.
	(grub_menu_execute_callback): Removed; moved to menu.h.
	(grub_menu_get_entry): Likewise.
	(grub_menu_get_timeout): Likewise.
	(grub_menu_set_timeout): Likewise.
	(grub_menu_execute_entry): Likewise.
	(grub_menu_execute_with_fallback): Likewise.
	(grub_menu_entry_run): Likewise.
	(grub_menu_addentry): Renamed from this ...
	(grub_normal_add_menu_entry): ... to this.

	* normal/main.c (grub_menu_addentry): Renamed from this ...
	(grub_normal_add_menu_entry): ... to this.

	* script/sh/execute.c (grub_script_execute_menuentry): Update
	reference to renamed grub_menu_addentry function.
2009-05-24 08:39:29 +00:00