Commit graph

365 commits

Author SHA1 Message Date
Jon McCune
24d5934daa Fix double-free introduced by commit 33d02a42d6
To reproduce the problem, make sure you have a GPG public key available, build and install GRUB:
grub-install --debug --debug-image="all" --pubkey=/boot/pubkey.gpg --modules="serial terminfo gzio search search_label search_fs_uuid search_fs_file linux vbe video_fb video mmap relocator verify gcry_rsa gcry_dsa gcry_sha256 hashsum gcry_sha1 mpi echo loadenv boottime" /dev/sda
Sign all the files in /boot/grub/* and reboot.

'make check' results identical before and after this change.

TESTED: In a QEMU VM using an i386 target.
2013-12-17 07:32:07 -08:00
Vladimir Serbinenko
b8765fa082 Implement better integration with Mac firmware. 2013-12-17 15:21:02 +01:00
Vladimir Serbinenko
ec824e0f2a Implement grub_file tool and use it to implement generating of config
in separate root.
2013-12-17 14:39:48 +01:00
Vladimir Serbinenko
a82010503e Update exclude.pot and mark few strings for translation. 2013-12-17 01:18:09 +01:00
Vladimir Serbinenko
66a07ce2f8 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case. 2013-12-16 15:28:07 +01:00
Vladimir Serbinenko
d99af4f0e8 * grub-core/commands/efi/lsefisystab.c: Use %lld to show num_table_entries. 2013-12-15 14:42:19 +01:00
Vladimir Serbinenko
ed55931073 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
appropriate.
2013-12-15 14:27:04 +01:00
Vladimir Serbinenko
7e47e27bd8 Add gcc_struct to all packed structures when compiling with mingw.
Just "packed" doesn't always pack the way we expect.
2013-12-15 14:14:30 +01:00
Vladimir Serbinenko
44bbfa33b8 Propagate the EFI commits to x86-efi specific parts. 2013-12-11 16:11:17 +01:00
Vladimir Serbinenko
3e3dff249f * grub-core/commands/efi/lssal.c: Fix terminating condition. 2013-12-11 15:59:12 +01:00
Vladimir Serbinenko
316dda716c Introduce grub_efi_packed_guid and use it where alignment is not
guaranteed.
2013-12-11 15:57:08 +01:00
Vladimir Serbinenko
7bbb60cfbd * grub-core/commands/verify.c (free_pk): Plug memory leak.
(grub_load_public_key): Likewise.
	(grub_verify_signature_real): Likewise.
	(grub_cmd_verify_signature): Likewise.
2013-11-18 02:40:17 +01:00
Vladimir Serbinenko
da93d6753b * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
memory leak.
2013-11-18 02:37:46 +01:00
Vladimir Serbinenko
4f84ae0ec8 Decrease stack usage in signature verification.
We have only 92K of stack and using over 4K per frame is wasteful

	* grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
	rather than stack.
	(grub_verify_signature_real): Likewise.
2013-11-16 16:34:51 +01:00
Vladimir Serbinenko
1dcb27157d * grub-core/commands/verify.c: Remove variable length arrays.
Load gcry_dsa/gcry_rsa automatically.
2013-11-12 16:07:30 +01:00
Vladimir Serbinenko
15decd26cc * grub-core/tests/legacy_password_test.c: New test.
* grub-core/commands/legacycfg.c: Remove variable length arrays.
2013-11-12 02:38:33 +01:00
Vladimir Serbinenko
44a387e0ea * grub-core/commands/xnu_uuid.c: Remove variable length arrays. 2013-11-12 01:19:34 +01:00
Vladimir Serbinenko
a1ef7718c9 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
covers it).
2013-11-12 00:58:46 +01:00
Vladimir Serbinenko
65ddb30016 * grub-core/commands/hashsum.c: Remove variable length arrays. 2013-11-12 00:52:54 +01:00
Vladimir Serbinenko
9612ebc00e Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
XEN PV environment and load kernels.
2013-11-09 21:29:11 +01:00
Vladimir Serbinenko
3c98038174 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
Tested by: Denis 'GNUtoo' Carikli.
2013-11-09 17:27:49 +01:00
Vladimir Serbinenko
ec0ebb3fc2 Remove vestiges of -Wunsafe-loop-optimisations.
* conf/Makefile.common (CFLAGS_GNULIB): Remove
	-Wno-unsafe-loop-optimisations.
	* grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
	pragma.
	* grub-core/io/gzio.c: Likewise.
	* grub-core/script/parser.y: Likewise.
	* grub-core/script/yylex.l: Likewise.
	* util/grub-mkfont.c: Likewise.
2013-11-07 02:25:31 +01:00
Vladimir Serbinenko
c7f34744c6 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
BIOS disk check.
2013-11-07 00:46:44 +01:00
Vladimir Serbinenko
46522fb7bd * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
name.
2013-11-04 14:27:09 +01:00
Peter Lustig
9b5d4eed31 * grub-core/commands/i386/nthibr.c: New command. 2013-11-04 01:47:37 +01:00
Vladimir Serbinenko
1106c3f072 * grub-core/commands/verify.c: Add RSA support. 2013-11-03 18:50:01 +01:00
Vladimir Serbinenko
5ade4a4248 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
variables.
2013-11-03 06:17:31 +01:00
Vladimir Serbinenko
cb72aa1809 Rewrite blocklist functions in order to get progress when
reading large extents and decrease amount of blocklist hook calls.
2013-11-01 23:28:03 +01:00
Vladimir Serbinenko
c1bee64676 Move cpuid code to cpuid.h and TSC code to tsc.c. 2013-10-26 23:39:10 +02:00
Vladimir Serbinenko
a105d3755b * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
than int.
2013-10-25 18:02:40 +02:00
Vladimir Serbinenko
af81ed880d * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
* include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
	functions when compiling for kernel.
2013-10-25 16:07:01 +02:00
Vladimir 'phcoder' Serbinenko
0d711431c7 Verify signatures of signatures unless --skip-sig is specified. 2013-10-22 00:24:19 +02:00
Vladimir 'phcoder' Serbinenko
e89c2d48a9 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
bitmasks to small structures of size chosen to fit in registers.
2013-10-19 23:59:32 +02:00
BVK Chaitanya
3d46c22f5b Added `tr' command support.
* grub-core/commands/tr.c: New file.
	* grub-core/Makefile.core.def: Build rules for new module.

	* tests/grub_cmd_tr.in: New test.
	* Makefile.util.def: Build rules for new test.
2013-10-17 19:06:29 +02:00
Vladimir 'phcoder' Serbinenko
6de9ee86bf Pass-through unknown E820 types. It required reorganisation of mmap
module.
2013-10-14 16:33:44 +02:00
Vladimir 'phcoder' Serbinenko
bb338aaf24 Add a wrapper for fopen. On unix-like systems just pass-through. On
windows use unicode version.
2013-10-13 20:36:28 +02:00
Jon McCune
0340bdbc22 * grub-core/commands/loadenv.c: Support skipping signature check
and variable names filtering.
2013-09-27 02:08:32 +02:00
Vladimir 'phcoder' Serbinenko
d65be02b89 * grub-core/commands/nativedisk.c (get_uuid): Handle
GRUB_DISK_DEVICE_UBOOTDISK_ID.
2013-07-25 16:31:18 +02:00
Vladimir 'phcoder' Serbinenko
139072b83a * grub-core/commands/pcidump.c: Remove static variables. 2013-07-11 16:11:03 +02:00
Vladimir 'phcoder' Serbinenko
c6a61bda9b * grub-core/commands/sleep.c: Refresh screen before sleeping. 2013-07-11 16:02:22 +02:00
Vladimir 'phcoder' Serbinenko
4aa237c8a4 Fix casts when compiling coreboot-specific code for 64-bit EFI. 2013-06-16 04:19:38 +02:00
Vladimir 'phcoder' Serbinenko
5027af38cf Support for cbfs. Also factor out the part which is common
for all archives to a separate module. This splits tar from cpio
	as they are very different but keeps cpio, cpio_be, odc and newc
	together since they're very similar.
2013-06-16 00:06:13 +02:00
Andrey Borzenkov
356670f1f2 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
off new function grub_script_execute_new_scope. Change callers to use
	either of them as appropriate.
	* grub-core/commands/eval.c: New command eval.
	* docs/grub.texi (Commands): Document it.
2013-06-07 18:40:37 +02:00
Vladimir 'phcoder' Serbinenko
4fd42c53f3 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
SSDT.
2013-05-30 21:32:01 +02:00
Vladimir 'phcoder' Serbinenko
0dc11c08d7 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
new strings to translate.
2013-05-10 16:25:36 +02:00
Vladimir 'phcoder' Serbinenko
16f7c8f6d3 * grub-core/commands/cat.c: Show UTF-8 characters. 2013-05-08 11:09:08 +02:00
Vladimir 'phcoder' Serbinenko
16940e077c * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
pixel".
2013-05-07 14:44:05 +02:00
Vladimir 'phcoder' Serbinenko
d22840ec12 Mark few forgotten strings for translation. 2013-05-07 11:41:47 +02:00
Bean
fa2923436b * grub-core/commands/testspeed.c: New command testspeed. 2013-05-05 18:16:48 +02:00
Vladimir 'phcoder' Serbinenko
310d42144b Factor-out human-size printing. 2013-05-05 11:31:53 +02:00