grub/grub-core/lib
Vladimir Serbinenko a251b71915 LUKS and GELI support.
* Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
	grub-core/disk/luks.c, grub-core/disk/geli.c,
	grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
	grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
	grub-core/lib/arg.c.
	(libgrubmods.a): Remove gcrypts cflags and cppflags.
	Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
	grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
	grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
	(grub-bin2h): Add libgcry.a.
	(grub-mkimage): Likewise.
	(grub-mkrelpath): Likewise.
	(grub-script-check): Likewise.
	(grub-editenv): Likewise.
	(grub-mkpasswd-pbkdf2): Likewise.
	(grub-pe2elf): Likewise.
	(grub-fstest): Likewise.
	(grub-mkfont): Likewise.
	(grub-mkdevicemap): Likewise.
	(grub-probe): Likewise.
	(grub-ofpath): Likewise.
	(grub-mklayout): Likewise.
	(example_unit_test): Likewise.
	(grub-menulst2cfg): Likewise.
	* autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
	* grub-core/Makefile.core.def (cryptodisk): New module.
	(luks): Likewise.
	(geli): Likewise.
	* grub-core/disk/AFSplitter.c: New file.
	* grub-core/disk/cryptodisk.c: Likewise.
	* grub-core/disk/geli.c: Likewise.
	* grub-core/disk/luks.c: Likewise.
	* grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
	grub_util_is_lvm.
	(grub_util_get_dm_abstraction): New function.
	(grub_util_follow_gpart_up): Likewise.
	(grub_util_get_geom_abstraction): Likewise.
	(grub_util_get_dev_abstraction): Use new functions.
	(grub_util_pull_device): Pull GELI and LUKS.
	(grub_util_get_grub_dev): Handle LUKS and GELI.
	* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
	(grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
	(follow_geom_up): Removed.
	(grub_util_fd_seek): New function.
	(open_device): Use grub_util_fd_seek.
	(nread): Rename to ..
	(grub_util_fd_read): ... this. All users updated.
	* grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
	(grub_crypto_cbc_decrypt): Likewise.
	(grub_crypto_hmac_write): Likewise.
	(grub_crypto_hmac_buffer): Likewise.
	(grub_password_get): Extend to util.
	* include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
	New member modname.
	(gcry_md_spec) [GRUB_UTIL]: Likewise.
	* include/grub/cryptodisk.h: New file.
	* include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
	* include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
	LUKS and GELI.
	(grub_util_follow_gpart_up): New proto.
	* include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
	(grub_util_fd_read): Likewise.
	(grub_cryptodisk_cheat_mount): Likewise.
	(grub_util_cryptodisk_print_uuid): Likewise.
	(grub_util_get_fd_sectors): Likewise.
	* util/grub-fstest.c (mount_crypt): New var.
	(fstest): Mount crypto if requested.
	(options): New option -C.
	(argp_parser): Parse -C.
	(main): Init and fini gcry.
	* util/grub-install.in: Support cryptodisk install.
	* util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
	* util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
	cryptodisk.
	(prepare_grub_to_access_device): Likewise.
	* util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
	* util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
	(probe_cryptodisk_uuid): New function.
	(probe_abstraction): Likewise.
	(probe): Use new functions.
	* util/import_gcry.py: Create Makefile.utilgcry.def.
	Add modname member.

	Also-By: Michael Gorven <michael@gorven.za.net>

	Also-By: Clemens Fruhwirth <clemens@endorphin.org>
2011-07-07 23:52:58 +02:00
..
arc sgi support 2011-05-13 16:36:05 +02:00
efi IA64 support. 2011-05-15 11:22:59 +02:00
emu Add missing emu/halt.c 2010-08-30 00:54:15 +02:00
i386 FreeDOS direct loading support. 2011-05-18 12:15:16 +02:00
ia64 * grub-core/disk/ahci.c: Add missing license statements. 2011-06-24 00:29:21 +02:00
ieee1275 CMOS support on sparc. 2011-07-05 20:24:20 +02:00
libgcrypt/cipher automake commit without merge history 2010-05-06 11:34:04 +05:30
libgcrypt_wrap Properly define WORDS_BIGENDIAN in wrapped environments. 2010-11-14 13:37:59 +01:00
mips * include/grub/dl.h [ASM_FILE]: Adapt for assembly. 2011-04-20 01:37:48 +02:00
posix_wrap Satisfy some bison versions need for inttypes.h. 2011-01-08 00:34:23 +01:00
powerpc * include/grub/dl.h [ASM_FILE]: Adapt for assembly. 2011-04-20 01:37:48 +02:00
sparc64 * include/grub/dl.h [ASM_FILE]: Adapt for assembly. 2011-04-20 01:37:48 +02:00
x86_64 * include/grub/dl.h [ASM_FILE]: Adapt for assembly. 2011-04-20 01:37:48 +02:00
xzembed MAke a separate scratch for decompressor 2010-09-21 19:39:51 +02:00
arg.c * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct 2010-11-01 12:45:51 +01:00
cmdline.c Improve loaders' kernel command line handling. 2011-01-07 17:09:39 +01:00
cmos_datetime.c CMOS support on sparc. 2011-07-05 20:24:20 +02:00
crc.c Add crc32c for btrfs 2010-12-01 01:22:55 +01:00
crypto.c geli v5 (including rekeying support) 2011-04-24 17:15:55 +02:00
envblk.c automake commit without merge history 2010-05-06 11:34:04 +05:30
hexdump.c automake commit without merge history 2010-05-06 11:34:04 +05:30
legacy_parse.c * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle 2011-05-05 01:27:54 +02:00
LzFind.c * grub-core/lib/LzFind.c: Add missing include. 2010-09-24 09:19:57 +02:00
LzmaDec.c C part of decompressor 2010-09-21 11:22:52 +02:00
LzmaEnc.c * grub-core/lib/LzFind.c: Add missing include. 2010-09-24 09:19:57 +02:00
pbkdf2.c Implement automatic module license checking according to new GNU 2011-04-11 23:01:51 +02:00
reed_solomon.c * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]: 2011-06-23 20:58:35 +02:00
relocator.c * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption 2011-06-27 12:18:44 +02:00
setjmp.S Reimport setjmp from Tristan's branch. 2010-09-04 17:23:51 +02:00