Commit graph

7449 commits

Author SHA1 Message Date
Vladimir 'phcoder' Serbinenko
f417ed0432 Fix wrapped HFS+ handling.
* grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
	blocks_start. All users updated.
	* grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
	wrapping offset.
	(grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2012-05-09 13:02:59 +02:00
Vladimir 'phcoder' Serbinenko
607d282b29 Fix long symlinks on reiserfs.
* grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
	(grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
	(grub_reiserfs_iterate_dir): Save size for non-directories.
	(grub_reiserfs_open): Don't reread stat block as we already know the
	size.
	(grub_reiserfs_read): Split into...
	(grub_reiserfs_read_real): ... and ...
	(grub_reiserfs_read): ...this.
2012-05-09 12:55:43 +02:00
Vladimir 'phcoder' Serbinenko
ae16024d92 Fix non-indexed JFS.
* grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
	(grub_jfs_data): New field namecomponentlen.
	(grub_jfs_mount): Fill namecomponentlen.
	(grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2012-05-09 02:12:16 +02:00
Vladimir 'phcoder' Serbinenko
eea1e26e52 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
* tests/grub_script_echo1.in: Add tests.
2012-05-08 23:20:02 +02:00
Vladimir 'phcoder' Serbinenko
df760f778a * util/grub-install.in: Ignore empty devicetree directory. 2012-05-08 23:11:47 +02:00
Bean
5efb817d64 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
All users updated.
	(free_rsm): Free header as well.
	(free_old_fragments): Fix memory leak.
	* grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
	* grub-core/net/tftp.c (tftp_receive): Fix memory leak.
	(destroy_pq): Likewise.
	* include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2012-05-08 16:03:02 +02:00
Vladimir 'phcoder' Serbinenko
668ea6d26d * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
resulting hash as a precaution.
2012-05-08 14:22:38 +02:00
Vladimir 'phcoder' Serbinenko
1739b1fef8 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
'_' in variable names.
	* grub-core/net/net.c (grub_net_network_level_interface_register):
	Likewise.
2012-05-08 14:07:49 +02:00
Vladimir 'phcoder' Serbinenko
6ae485aaef Fix AFFS with non-512B blocks.
* grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
	(AFFS_MAX_LOG_BLOCK_SIZE): New definition.
	(grub_affs_data): Replace blocksize with log_blocksize.
	(grub_affs_read_block): Fix non-512B blocks.
	(grub_affs_read_symlink): Likewise.
	(grub_affs_iterate_dir): Likewise. Fix freeing corruption.
	(grub_affs_read): Fix non-512B blocks.
	(grub_affs_label): Likewise.
	(grub_affs_mtime): Likewise.
	(grub_affs_mount): Fix block detection routine.
2012-05-08 04:38:19 +02:00
Vladimir 'phcoder' Serbinenko
d20fab8471 Add filesystem mtime to AFFS.
* grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
	(aftime2ctime): New function.
	(grub_affs_dir): Use aftime2ctime.
	(grub_affs_label): Fix return value.
	(grub_affs_mtime): New function.
	(grub_affs_fs): Add mtime.
2012-05-08 01:51:34 +02:00
Vladimir 'phcoder' Serbinenko
e87b10f5d6 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
UTF-8.
2012-05-07 22:00:19 +02:00
Vladimir 'phcoder' Serbinenko
7dceec9b69 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
UTF-8.
2012-05-07 21:57:51 +02:00
Vladimir 'phcoder' Serbinenko
2f48221f5c * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive. 2012-05-07 19:09:02 +02:00
Vladimir 'phcoder' Serbinenko
dacd85cfb0 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
flags.
	(FLAGS_CASE_SENSITIVE): New enum value.
	(cache_entry): New struct.
	(grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
	cache_size and cache.
	(grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
	Add log_blocksize and fshelp_flags.
	(grub_sfs_read_extent): Handle non-512 blocks.
	(grub_sfs_read_block): Add cаche and handle non-512 blocks.
	(grub_sfs_read_file): Handle non-512 blocks.
	(grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
	fshelp_flags.
	(grub_sfs_read_symlink): Handle non-512 blocks.
	(grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
	(grub_sfs_dir): Free cache.
	(grub_sfs_close): Likewise.
2012-05-07 19:07:16 +02:00
Vladimir 'phcoder' Serbinenko
24e9a854b8 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
filesystems.
2012-05-06 16:20:55 +02:00
Vladimir 'phcoder' Serbinenko
62ace64dd9 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow. 2012-05-06 16:18:00 +02:00
Vladimir 'phcoder' Serbinenko
83b2e89cf7 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow. 2012-05-06 16:10:29 +02:00
Vladimir 'phcoder' Serbinenko
75ccaea346 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
(grub_sfs_read_extent): Likewise.
	(grub_sfs_read_block): Likewise.
	(grub_sfs_mount): Likewise.
	(grub_sfs_iterate_dir): Likewise.
	(grub_sfs_read_symlink): Use strncpy instead of strcpy.
	(grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2012-05-06 04:42:28 +02:00
Vladimir 'phcoder' Serbinenko
1b8463f2c4 Fix errors on compressed NTFS with 512B clusters.
* include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
	types.
	* grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
	not 0.
	* grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
	Relax check for inline extents.
	(ntfscomp): Return correct -1 on error and not 0.
2012-05-04 17:37:17 +02:00
Vladimir 'phcoder' Serbinenko
4f8e368fc0 * util/grub-install.in: Fix handling of prefix containing spaces. 2012-05-04 17:18:35 +02:00
Vladimir 'phcoder' Serbinenko
6f5d5ee865 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
(grub_squash_read_data): Fix offset byte-swapping.
2012-05-04 17:13:24 +02:00
Vladimir 'phcoder' Serbinenko
ce41ab7aab * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
per common usage and preffered in several parts of code.
	(grub_memcmp): Likewise.
	(grub_strncmp): Likewise.
	* include/grub/misc.h (grub_strcasecmp): Likewise.
	(grub_strncasecmp): Likewise.
	* Makefile.util.def (cmp_test): New test.
	(grub_script_strcmp): Likewise.
	* tests/cmp_unit_test.c: New file.
	* tests/grub_script_strcmp.in: Likewise.
	* grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2012-05-04 12:08:22 +02:00
Vladimir 'phcoder' Serbinenko
49717bf429 * include/grub/pci.h: Move enums into no-asm part. 2012-05-04 10:54:38 +02:00
Vladimir 'phcoder' Serbinenko
0a308f64e9 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison. 2012-05-04 10:52:26 +02:00
Samuel Thibault
1796965f6c * util/getroot.c (find_hurd_root_device): Try to make error message
and comments to translators clearer.
2012-05-04 02:26:39 +02:00
Vladimir 'phcoder' Serbinenko
4e9b28192a * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments 2012-05-04 01:20:38 +02:00
Vladimir 'phcoder' Serbinenko
48d57ed779 Revert last commit based on lack of consensus and possible unsmooth migration path 2012-05-04 01:06:21 +02:00
Vladimir 'phcoder' Serbinenko
e0ca063a66 * util/grub.d/00_header.in: Make timeout apply to else
clause of hidden timout.
	Reported by: Mads Kiilerich.
2012-05-04 00:41:57 +02:00
Vladimir 'phcoder' Serbinenko
076aeb5022 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
btrfs.
2012-05-04 00:36:23 +02:00
Vladimir 'phcoder' Serbinenko
19424d942b * docs/grub.cfg: Update. 2012-05-04 00:30:15 +02:00
Vladimir 'phcoder' Serbinenko
ebb7307695 * docs/grub.texi (PXE): Remove not present variables. 2012-05-04 00:28:53 +02:00
Vladimir 'phcoder' Serbinenko
9a1b669c37 * grub-core/net/net.c (defserver_set_env): New function.
(defserver_get_env): Likewise.
	(GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2012-05-04 00:26:53 +02:00
Vladimir 'phcoder' Serbinenko
5f6ac15e84 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
entries.
2012-05-04 00:07:55 +02:00
Vladimir 'phcoder' Serbinenko
d38bf7d3dc Correct author of last commit 2012-05-04 00:03:40 +02:00
Vladimir 'phcoder' Serbinenko
11858300e9 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
* grub-core/kern/emu/hostdisk.c: Likewise.
2012-05-03 23:43:59 +02:00
Samuel Thibault
e5e4ca486c Handle hurd userspace partitions.
* util/getroot.c (find_hurd_root_device): New function.
	(grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2012-05-03 23:41:46 +02:00
Vladimir 'phcoder' Serbinenko
56bb5dd518 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
names.
	Reported by: Bastian Blank.
2012-05-03 22:59:16 +02:00
Vladimir 'phcoder' Serbinenko
9e8bc27a40 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
crossing page boundary.
2012-05-03 22:16:45 +02:00
Vladimir 'phcoder' Serbinenko
aa01499d05 Fix B-tree search in BFS, especially in presence of non-ASCII
characters.

	* grub-core/fs/bfs.c (bfs_strcmp): New function.
	(find_in_b_tree): Use standard bsearch + btree algorithm.
2012-05-03 20:29:10 +02:00
Vladimir 'phcoder' Serbinenko
5700603549 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
and so on.
2012-05-03 20:20:28 +02:00
Matthew Garrett
9d34bb85da Suspend broadcom cards in order to stop their DMA.
* grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
	* grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
	(pci): Don't build on x86 EFI.
	* grub-core/bus/pci.c (grub_pci_find_capability): New function.
	* grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
	New function.
	(grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
	stop_broadcom if running on EFI.
	* include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
	(GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
	(GRUB_PCI_VENDOR_BROADCOM): Likewise.
	(grub_pci_find_capability): New proto.

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2012-05-03 17:26:55 +02:00
Vladimir 'phcoder' Serbinenko
01aab9978f * docs/grub.texi: Remove dot from the extension as it apparently
doesn't work with some makeinfo versions.
2012-05-03 17:16:35 +02:00
Vladimir 'phcoder' Serbinenko
fbd8dca681 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
with GRUB expectance.
2012-05-03 17:02:37 +02:00
Vladimir 'phcoder' Serbinenko
dab797f476 * util/grub-fstest.c (cmd_cmp): Compare directories recursively. 2012-05-03 16:45:40 +02:00
Vladimir 'phcoder' Serbinenko
1516bfb43a * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
zero after directory block since last entry may be not 0-terminated if
	it ends on block boundary. Use continue instead of if spanning whole
	loop.
2012-05-03 16:43:05 +02:00
Vladimir 'phcoder' Serbinenko
a3a0eace51 Support 4K sectors UDF inline files.
* grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
	(grub_udf_extended_file_entry): Likewise.
	(grub_fshelp_node): Name the anonymous union. Put block at the end.
	All users updated.
	(get_fshelp_size): New function.
	(grub_udf_read_icb): Read whole block.
	(grub_udf_iterate_dir): Likewise.
	(grub_udf_dir): Likewise.
	(grub_udf_open): Likewise.
2012-05-03 09:29:20 +02:00
Vladimir 'phcoder' Serbinenko
c82f16c1be * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect. 2012-05-03 09:25:25 +02:00
Vladimir 'phcoder' Serbinenko
59fd2aacd0 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
inline symlinks in addition to workaround.
2012-05-03 09:21:09 +02:00
Vladimir 'phcoder' Serbinenko
3b4afb4de1 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors. 2012-05-03 09:15:29 +02:00
Vladimir 'phcoder' Serbinenko
f45c794ab5 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask. 2012-05-03 09:11:32 +02:00