Commit graph

8 commits

Author SHA1 Message Date
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
carles
77a795923b 2010-01-03 Carles Pina i Estany <carles@pina.cat>
* commands/acpi.c: Gettextizze help strings and/or options. Include
	`grub/i18n.h' if needed.
	* commands/blocklist.c: Likewise.
	* commands/boot.c: Likewise.
	* commands/cat.c: Likewise.
	* commands/cmp.c: Likewise.
	* commands/configfile.c: Likewise.
	* commands/crc.c: Likewise.
	* commands/date.c: Likewise.
	* commands/echo.c: Likewise.
	* commands/efi/fixvideo.c: Likewise.
	* commands/efi/loadbios.c: Likewise.
	* commands/gptsync.c: Likewise.
	* commands/halt.c: Likewise.
	* commands/handler.c: Likewise.
	* commands/hdparm.c: Likewise.
	* commands/hexdump.c: Likewise.
	* commands/i386/cpuid.c: Likewise.
	* commands/i386/pc/drivemap.c: Likewise.
	* commands/i386/pc/halt.c: Likewise.
	* commands/i386/pc/pxecmd.c: Likewise.
	* commands/i386/pc/vbeinfo.c: Likewise.
	* commands/i386/pc/vbetest.c: Likewise.
	* commands/ieee1275/suspend.c: Likewise.
	* commands/keystatus.c: Likewise.
	* commands/loadenv.c: Likewise.
	* commands/ls.c: Likewise.
	* commands/lsmmap.c: Likewise.
	* commands/lspci.c: Likewise.
	* commands/memrw.c: Likewise.
	* commands/minicmd.c: Likewise.
	* commands/parttool.c: Likewise.
	* commands/password.c: Likewise.
	* commands/probe.c: Likewise.
	* commands/read.c: Likewise.
	* commands/reboot.c: Likewise.
	* commands/search.c: Likewise.
	* commands/sleep.c: Likewise.
	* commands/test.c: Likewise.
	* commands/true.c: Likewise.
	* commands/usbtest.c: Likewise.
	* commands/videotest.c: Likewise.
	* commands/xnu_uuid.c: Likewise.
	* disk/loopback.c: Likewise.
	* hello/hello.c: Likewise.
	* loader/i386/bsd.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* po/POTFILES: Add new files.
2010-01-03 19:24:22 +01:00
carles
fdcdbb6633 2009-12-26 Carles Pina i Estany <carles@pina.cat>
* commands/help.c (grub_cmd_help): Print the command name before the
	summary.
	(GRUB_MOD_INIT): Remove command name from the summary.
	* kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
	strig as summary.
	* lib/arg.c (find_long): Print the command name before the summary.
	* commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
	summary.
	* commands/blocklist.c (GRUB_MOD_INIT): Likewise.
	* commands/cat.c (GRUB_MOD_INIT): Likewise.
	* commands/cmp.c (GRUB_MOD_INIT): Likewise.
	* commands/configfile.c (GRUB_MOD_INIT): Likewise.
	* commands/crc.c (GRUB_MOD_INIT): Likewise.
	* commands/date.c (GRUB_MOD_INIT): Likewise.
	* commands/echo.c (GRUB_MOD_INIT): Likewise.
	* commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
	* commands/gptsync.c (GRUB_MOD_INIT): Likewise.
	* commands/handler.c (GRUB_MOD_INIT): Likewise.
	* commands/hdparm.c (GRUB_MOD_INIT): Likewise.
	* commands/hexdump.c (GRUB_MOD_INIT): Likewise.
	* commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
	* commands/keystatus.c (GRUB_MOD_INIT): Likewise.
	* commands/loadenv.c (GRUB_MOD_INIT): Likewise.
	* commands/ls.c (GRUB_MOD_INIT): Likewise.
	* commands/lspci.c (GRUB_MOD_INIT): Likewise.
	* commands/memrw.c (GRUB_MOD_INIT): Likewise.
	* commands/minicmd.c (GRUB_MOD_INIT): Likewise.
	* commands/parttool.c (GRUB_MOD_INIT): Likewise.
	* commands/password.c (GRUB_MOD_INIT): Likewise.
	* commands/probe.c (GRUB_MOD_INIT): Likewise.
	* commands/read.c (GRUB_MOD_INIT): Likewise.
	* commands/search.c (GRUB_MOD_INIT): Likewise.
	* commands/sleep.c (GRUB_MOD_INIT): Likewise.
	* commands/test.c (GRUB_MOD_INIT): Likewise.
	* commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
	* efiemu/main.c (GRUB_MOD_INIT): Likewise.
	* font/font_cmd.c (GRUB_MOD_INIT): Likewise.
	* gettext/gettext.c (GRUB_MOD_INIT): Likewise.
	* kern/corecmd.c (GRUB_MOD_INIT): Likewise.
	* lib/arg.c (GRUB_MOD_INIT): Likewise.
	* loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
	* loader/xnu.c (GRUB_MOD_INIT): Likewise.
	* mmap/mmap.c (GRUB_MOD_INIT): Likewise.
	* term/terminfo.c (GRUB_MOD_INIT): Likewise.
	* video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
	* video/readers/png.c (GRUB_MOD_INIT): Likewise.
	* video/readers/tga.c (GRUB_MOD_INIT): Likewise.
2009-12-26 00:50:59 +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
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
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